160000 12 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122121121122121112211212111122221121122221122122212221211212121222211122121222112111121112211221111112211222112212211111222211212212121112212222112212221121211111212222212121112222212221111111222121111211111212122211211121111212212112111121222122211212122112211111211212221122111111212111221221211211122211112112222122111112122122122212122222111222122112212121122221122211112121222122111212211122121211111212221112112121211211222211111122111121121222212121112212211112211222121112112211212122122122211222121111211121221121222121221212122122222221112112121221222212221121212111112112222211212121112111122222112212121212112211212122222121221111212111211121122221212111122222221221211212211111121122121111212221211221211221222121211211221122112111122211212212222212111112121221112222212122221112212122221211211122112222211221112211212222221222121122212221212122112212221222122121211222222122112222112121112212212222111122222112122222222112222211122121212212111221112221212121222121121211112221212121111121112212211221221112222112112111111121211222222222112112212121221221111121112221112212121122111111111211211121111221212211112112122212221222222222212122222122211121212221221112212111222121111112212122211221111222211121121222112121212221221112221222221112221122112221212112221222111112121122212121121222111112211221121122212112111222122122111122111112112212122111212211111112222221121221122212222111121122121212222211122212212112121221122122211112111121211122121112112211211211121121211222122122111221211212111122112221112212212221212112212211121211111211122211122222112222121121122112221111112222122222221222111212121121112221111122211212212221122122222111121121211221211112111122211112111222212211122122112111121121222211121221122222122212111112211122111122221111212112212211121222122112121122122122222211222212111111212222121122221212221111211111122121222222121211122122122121122221211222111121122222121222221221211221221222121212111112221112111122112111211221112112211112212211222122122111221122222222112212121221122212221121212121211121222111111221122221211112122122211112212222211122112112211212122111221211121122222122212222122212221111112111222121211121222122212212211111121222211112112211211122222221112122222221221111121121222211211111212221212212212121112221211122112221212122221122222112122221122211222121122121212122222211211121221122121121111122212122221222211211222222222121222121112122222111122221112112111212111212111112111222211111211212212221111211111122112112111221111222212222222221221122112121122111211222121111122212112211212112222212221221221211111221221121212211122111112121121111122121112122121221211112121221212111122221121112222221212221111212111212211221212121111212112122221211111122112222122122122222221212222221212121222211112122211221112212122221221111211112221222121221122211122122111121211212211222211121122122222221122112222211221221112212121121122222112222112111111121211212211112112211112212122121211221122122222112122211112221111122221121212111112212211112112111122121111121121211112112222122122211212211212122112211112211221111111222222122122222222121212212212212121112211122222221211121211211111111221222221111121121111121222222212211122222221222221122112221212122111122211122221222221122111212112111211211122121112111211211212122212212212121121121111211222121111211222111112111121111222112112122212112112211212222111211111111221122222211221122222212122121112222111222211112221222121122112221122211112112122111222221121112121212112212111222211112211211222212112221111222121121211212221211122111121111112111122112221211122221222122122222221111222221122211222121221112212212211222221121111222212222212111221212222221121112211122112212222222212121121121121121221122111212122222121121122221211222122212111112211211212122212211112222211211221211211211121211112211221211222221211221221121122212121111221112122122211212221112211222111112221122211121222121221212112211122111122121122122111121112222222122221121112111211212212111122212121121121221211221222122221111212121121122111112121221112221211212212211211211122212222111122212111221212122111122211111222111211212121222112211121122111211211221221212122112111211111122122111221211122122222112112112211121211221222221121121222222121122112121222112211212211122121121221111122222112121221222221222211111112212112222211212122111212112111121221112211221212112112212212211222211221222212111211211121112121111121112222222222212211211122221222221112222111121211112111122121212222212122122112112221222121112211221122221122122221212221222122111212121212111222121212121212112122212222122111112112212222222122112221122222221221111212121122222111112221121112111111212211121221222111222222111111111222111121122221112221211212222211111211222111112211121112221111222212221122212122121211122111122212211212122122211121121121122222112121212212122121212211212121221221211121222112122212222221212121111121112222121221112221222121122221221112122111221111212111122211222122221112121221211112121211212111221111212221212112211222212112111111122211122222111222111211121121212122122211222211112122221221111212222112121211121222111211211222111211221211112122112122112222122121112122221112212211121112212111111222212212112122121221111221222221211121221122212121122221212111121122212211221122112221211221222111221111221222212121122111222122221222111111221222221121111122211121221221222211222212112111211111122112211121212112211211221121122211121122111121211221122122221111122122112111122121122221112221222211111211111212211222211222211121121221221211121111111122212212111122221211121121121122212212111112121122221222212111212222122122122111222211221122122211112221221121122212221121212122112221212212211121221122112212112221112212121112221222122112212111112222211211121212122122211211211112222111112121112211121111111111112212211222222112112122122111211121121112221221122221222122112122121221112221212121112121222211112121111221211122121222221111112211211122111112211221112222222122212211211211111122112221111222112221211222222211111112111112212211222221111211111111122122222112122211121111112122221121212112111211212211111212121222212122221211221211211221211222211112121111122112121122112121111121222222222122222221221112211212121212221122211112121121111111212222111112211211122121222222112221222222212221222111121212111212122211122111121221212222211221122212122222222211221121111122122222121212221121111222222221122211212212222221121112221112121211122222211122121122111112111111211122212211111122221121222212222221112222121122221222112222111212212111112111222221121212111121211121121221111222121121121112122111212211111122222211212212112212122222122122111221211121121212111212211112212121111222221112212222212221211111221212221221111111221212221211222112222121122222221211221211212212122221112222111121112122122212212111111222122122122212211111121221221112221222112222112122121212221122221112212122212211122212122221122122212222112222111221221112111112211222122212112211222221221222222211112222121211212221212212121211211122111122122211222112221211211212112212111221212122211212222222221111212221222121121111211122111122112212121212211212112111212211121111211221111211111212222111122222211222221211111121222222211122212211221221222221222112222121211211221212121212221221112211212222111111212222111222222211221122222222212121222211111121111122211112122211122221221222122121212222121211211122121111212212222111212121111121222112121211111111112111112121112212212212212211121221221122111121212122122211212221222121211211121211112222221112111211121121122212212122221221211221221212211221111112211221211112122122212222212211221212221221212111212121221211222222112111121122112211112121212121122212211112222112112121111212112222122121212112211212212112211122221222212112221211112212222211122211121121222211121211122212222112112111112221222212212222111211212112112112121222112222212221111212122122222211111111221112111221112211222112121121112112121112112122111112211222222112111111211211121222112111221111211111121212221212112112122122112112121212121111221121122211111222121111212212221212212122122211111111112222122212112211122112112112212122221111221112121221121211221122211222111121222221221221212211111222121112121122112111121221221111212212122221121211211212121122122111222111112212221221122222111211222112111121222211222212112122121121212211222221212222122221112112222122111122121212112221221221111212122122121111211122211222121111212121222222212221112121121121112121112111221222222112211211211112121221212121221221111121121222111122122122111122121112111221111112221122221212212222122212212212121212122122112221121211122212222212211122222111211221211121112212121122111211121112112112212122121112212221222221111111222111111111121212222211211212221111211211212212121211122112212112122212221211122211212121111211121211121111122111121212211221122112112122221121121221111112211111111222112211221212212222112112111222112222111111222121121211212221111222121221212121121111221111111222112121112121122112122222221212122221112211212122221112122112221211211121111112212112212112111122112122122221121221212122222121212111222212211212222121112212122212221111222212111112112111212122212112112222112111211211221122122221121222222112121211221112211222222221112112222212122122222111222111111112211121122222121221212122222221121122122111212221212121212122111112122222211222211112122121211212111222222211121111212111221212122112221111122122121221111111212221112121122211212212212212111222222221221111121111211122122121212121212212222222112112211112121212221111122211111122212221222222111121222111211212121122111222221212121221211112211212112211121111212211222122222211221111212221211111121222111112121121211122111211222212222222121121111221121112111121212111112122122211221221111111221121222111212221212211111121112212221111122111112222222111111122221221111211211121212212221122211221121111111212212121112111221122122122122111221112112211222221222121221221211221121221212212221221212222112121121122112222121212221122221222222221121111222112221222221212121222221122121221112111122112112111122122221212212122221121122212211111212221121122211121122212122221221112121221111212221111122212221221212221222112221112111121222211221222212112112112212211222111212221212122222122221111211111121122111212221112121112122122212211211211122122222122211112222122111121122121211112222221222121111112121222211221211112121121121221122211112121211221122222211221222211221122111222211221111122111122121122211222112221221212111112211211211222112122111221122122121111121111221222122111222121222211112121112121222111122221111211211212221122122222211122222222212221212211112212122111221212122112122211221211121221222212111111211121122211212221212112211211122111112122122211212212112121222122111112211222212122212212221121111111221112212112212222112111111111111111221222112221121211112122222212221112211122112122122211221111122121111111211112222212221211212212212211211212211121211211221111222222212211121122212222212212212121111221212211121112222111111212212211121222121122121222222212121221122111211122221211112221212221222111221222111212212111121111122122112121112122212112221221222222122212112211111211222221111222112122222112112111122111112111111211122221121121112211111221222112112221221122122122121112221121221122211211122121222222112111111112222111122221112211212122122111222221222121121211222121112212212221211112111121211122122211211122112112212211121122221222212211111221111211211212222211121211211222221211121121212121112121121211112121122121121121111212221112112221221212211111111111222122221122111121122122121121212112121122211212111222121112121121221222212211111222122212111112222221112122122111122212111121211122222121222111112222222221211222112211221221221112221112212221211121122111122121212211121122112212211221222211221121121122112222112121121211222221111112212111212121222222211111211211122122112211121212222212222212111212122211112111222112111221222212211112112112121222222221111221112222122222221222112221121112121212111221112111111211212211112112212111112222122112122112111221111211212111212212121121221212211121112222212122211212221121211212121212112212112222121222211111212221121111211121212221211211211222211211222121111222211221121111121111222121121212121122221221222212222121121111121122211112122122211122221212211212121121112211122111222212122122122111111221121221212122111212212112112211212221211112212111221122222112112221221222222122111222112222222122211212121122211122222111121212122112121121111112211111211211112222221222221221111122212222221112221122212211112121211222111111221222222112111222212221111111212222111211222211111221211211221111211212121211211221211221111111112222121111121222212211211211121211112111112121212122122112111221221121122121112211112211221211122122211111111212112211222112111222112212211211111121122221121112222212121111121222221212211212221111122122111122211121211111221221222122222121221121111211222212121221122222211112122111222121222112121212112111212212221112121122221221121211221112221111211112222211212112122212122122222221112221211211121211212112221112122111111122221221211111221221112211211112221212222212221221121221211211121211121111212121121122112111112121212211221122222221121221212211221111121112122211211222122211222121112112111221211211212122111112122221221211111121111222121121122222211122122111212211212222221212112112211111222122112221112221121111221211121222122211121211212212222222121112211121122122111111221122221221111112212111121121111122211212212222212112111112221222122112211122212112211121212222121121211211121222212211211222111112122222221222111121111221121221112121211122212211111121112122122121121122212112111212222121211112111122111221221211122112122112112121122111122111122122222112212111212111112211222221112212122121111112112211222111121111222221222222121121112221222222221112122211221222222111121212221221222121112121212212221211222221112211211122112221122112122221221211211112221212221122211122121112122222121112121122212122221111212122211111212221111112212212222122212212221112122221111221112111211122221222111122122121121221211211112221111112212111112122112221211122122222112212212211111221211212221112112212222112212212222221112112212112222122211211122221221112222212121211221211211112221211121111222112122112221211122112222222211112111222111121122121212121111122222111211222121221221121121212121221112111112122121222212222221211111221221121212221211122211212212121112212212121111212121221111212122212122222222211222211212222121221122121211111122112122212211222122221111121122122211221111112112221222221112212222211112122122211221112112112222112111222121211122112211211122222211222111121122222121111111212222212112111111222221211212212221111211111211222111221222112221211221211221212111222221122221211211221222212222212121212121122212211222121212122221211211222112222112211221122221112122121221222122212211211112212112221112121112221221211221111112221221111211122111112221211111222212212222211212222111121121112122221112212221112222121111211111122122212211212111212212221111111212121111121221211212121121221211121121121222211121212212121112221222211222211212222121222121212221121112121111221212221122111222121112111112121111221212211212112212112112221122121111122112222112211111212112211221121221112222112121211111221222121112111122222211222222222211212212222221112222111221112212221111222111112111212121122222111121211121222122122221122211112121111112222121212121122212111212222222212111121121122121221212121212221121111212212111112222111121211212122112221121111221121122211211112112221211111112111122112122122122222112112122221212112211212112111211112211222212112222211121221211111221212122122212222211222122122212222222121122211121211112121211122111221222112211221212111121112211122111221111121121221212212212211112121121122121121111111221211211112111112122121111111222212112112122121122211211221111221221112111212212122212211111121112222122111211111221221221121121212211112112212212221112111112211121222112222112221222112111121112121221112112212121211112111111222111121122212111221212112221212212221122211121111221111222211121122121112111111122122221112121222121221121112111221212212121212112221221121221222212121112122122212211211222111211211211122221112222122111211111122112111222122222121221212212121221111222121112211222211111212222222211121221112221112122212111222121222211221112212121212112111212222112111111222221211111211112221112112122212121122122121221112122221122112212211112121112111212211212111221122122121121121122212222121112221121222112111212122211112121112111121121211221222112212121121221111112122111122212121222111122222222121122121111212212112111121212222221121221222212122222222222211122112121212121222111211122112111121222211212222122122122222111212221212222112211222122221221211112121212211111122122221212121121122122212212111211122122121122121222122212211211211122221222122211112121211211122111222221122212122221212112111211221112111212111222122222122122211221122122222221122111211212122211211122211112211111211222121212112111212212222211121112211122222122212111222112111121211111222112222222211112122121222222212212121212222212111111122221211121222221112222112211212111122121111222222211111121112212111212212211122212122122222111211222122212222112211122211212222212111121212111121122122112221211121122112122121121122212221211112111122221222221221121212221121212111222211112122111121122122112212221112112121221211212111211112221112212111121211221111121111221121211112221212221221221221122122112111222112221212121122121222122121122221112121222221122221122122121212212211221112222111212112211212122211122111222122112121211211111111111211222111212211221221122122122122111221112222212211112212111222121122222112222112112122221212211222111211122111211211122121211122222112122122112121112111111112121222211112212112122122122222122221111111221122211112111222212121121221212111211211112111221122121112112211121111212112121212111222122122121121111211122112211122211112211211211212211121111111221221211221211121212221221222211221211211221121111222211112222222212112122121112221122222111122221121122222212121222111221221212211212121221122212112221222212121111211112111122212122211111112122112112221122212111222212212111212222111112122211122222112222111222112211112112112221221112111122212121121121221122111212112112122211212112111212122211111222121211212212112121112222222111222211111221121121121222111211122221221212211112112121221222221212211221122122221122112221112122112122221122221222212121121221121111222222111112222121122112111211222111212212221122221111211122111122112211122122211221212111222221121121122212122221212112221122122121222122222211211112121122122211221122121212222212112211111221112121222212122212222112111112111212121211222112221121212212222212111111122221112212222122211122222222121212212222122221121222121212211211221111112221212222121111222222211212212122212121222222112221111111222211122221221112211122121111222112111221112112211212222222211112122112112211211221112222112221122222111121111121111121211122121211221222221122122122112221122222211222111112112221122211222111121112111121122211222111112112111221121122221112111211221122222211222122211112212212221112222122211111211112222112222122211122111111111211122222212111212211211221221111112111222122212121111122122222221221222121111212211112221112122111112212212211121122121121122221221211122212221121222211211122112122222122211211222112222211112221211112222111112211222112221112122122221221221112121112221221121212121112221212111211112121111121112111122122221111111111121122122111112211211211212112121121212212212121211221221122121122112122212222212222211222121122112212222111221212121122221212112222112122112222122121212222222122122221112221221112121222212111212222212121212212112111121221222111221111121112212122121111222122121221212212121112211121112211112122212112111111212211211121121121211121222222112222212211212212222121112211211122112222111221121122121121111212112111211222111112212211221211112212212221221221222112111121112222122212121121212112212112112211212111212111121221121121222122112132313212112132113132213333123131321311111331211122332323322211233333312112233131232123113213323232333213133332121231231231121113312333331323223112132211323331322221333332213221323311113112231323112331133211321112122112322133131311223111212313122332231331113211223333323221223333312122123113232221123211323333321133332312331211332323312112113113122221313232331123131111212333232223221211333112321122223113123311221221311332233313311221233121333321323323132213131122231212332331133132322232211223113121321121131213332122112233233113132313332312333212313333323123311131333233223212322312331333231331133332111122221221121211121221231133331312232313321131213222332112111212112233232311132221121332112233213132332222312321333123331231112121211131311333132312311323331132321331311131332332123221221331333332332222322111323212131121211211121333222112231222131212331121122322212322332123233221121122311233121332132232221213211333223333312332211331122333333333222312233131211212323223113213131322222121211331133122132113323112323112233333113112331332233111333311121111112122222311131111211231123233212323312113313321211331213123231312333311231211221311231212223323213113233323112113233323232121112323213211212321113311321232233333323211331212211211212332322211112133133221231222223112213311122332311332113222313312123123222121222221222233333121332211333132223313121211321323123311133132223323233321122221232131133321212211321333331213223233213211332332322111131222323233221232312231222333111132323113331112212131213111111121123131123211322231331131212222121323332322122322311221232233332321231323311132231313313123122311133233123123113212112121332233312222221233111231322121231111331233311312313331222333113111211321322123221321312113111123233232331232122123211121331312223323212231113222212221221321311312223113213212322323112211332322213123331321121323333223223322233131131222131123333321113311323333113221121221223222322222223123133311113232232211313122211223112333111132311232222222313132332232213122223332121133333213312212122131312211133232123313213121333232321212321331333233222233321221123231133233323313122231221213121311121111112132311223122112111133221221232132313322323233131211133222322133333332231211222312222132333322212112231323111212133112212133321223122112123213333231122323221231212122232222112131212231121211232311333211122332122132213211323133132313212311223131211231231233213113321213332331312131321311321232213322321121212122213331332222312321212133211323211212211121321222233212223122132133213122113121122312221133233112333311113132313233123132132233313331212121211321233213132312232132222121212131231211113313121111232231321132211222133131211221231111113222332132311312323331123222332321222311211132231111113132232221233311131231122222233221113323123111231311123232132313323123321312121223222112322222222233123233232213233121323132321131223212221122333311212111323333311323111312213113121332131331331121311112223211221321221321323122223333221112231232313312313332111111322133322311133233332331132213212123121211122331331223233211232313212333232122131213113222311131232132321121311121111323113331321321233212312311221313131323122212321221122332313132331112123312233221121213213213311321232332121313212212221132131133133122221122333223212212122132311222211223133113123312221123231122333131331332211213321323212321221233133123211121323112333332121233232221132211332313112113111121112223313131231322313321222331312221131211331333233223211331131331131321311121111133323233312231212333132233313323222211112222112332332121313312233112213311112312232311132333132231331221312233313233313211223113132322122312212232123213232123133122232332121313222131221132312311323123322122311312133133133331123131313212122223323233212233221221321211113231322323233231112111132233132331121313322311113221333132232331113223112113213122113232322222223122122323313223211121313131221212113312333331311222311323312132331331232131132313111132132121212212122232221112323333112311112332232322213311233133311213323223331212123113331331332323221233332332111112212331322231222222111131211323233333122322331132233112232331211113133121223332133313223213221112312213211231121321112323312112311131322212323331332133132312133133332223311313232323123323113223223312212213233132312333223232113211322113122212313112131123331111133221233113311221133312212112223211311212233321312332222131322213313122312332132232321331323221211322123213323233111211332223232331133131132333333121113222312232322331132331323222333333133311233312213312312331231223112113223123131323121323113222233123131322123211221223233123332211211213221121233322212213123313231223231212312231231312321322132123131222113311123111313321222331111133211212213231233121222322222322223211132311223233211122232123331231213111232212233332221333333113311322131322231221322112311232322323123232312131222123221313231123222211312111333111123331223122111223123331221131311233221333231322231231322322123213132221231213223232333213321332132321132232123111313123121131133231212331212222232231311113223232133232323212321311111122111331333321212122231332333122322131132223232113312132212211312212131213232331131333213112132331233321313212221213321321122131211113133331222311312132321133213322232231113231231231323332112133223112112132231322113313313231213213131212232333131112311323113132131322131232131212313322222331113233312222333113112313131321122232112223213111111212123311121231331122132131122233212133231221311321331232213232113222312133221332131211311321132131321323213113322233233122212321312113231212131312211311122223221132222332212231331222231122311121312132313221331313232233332111111313221213332332212321121222232313321112331221131313112331121311213111231121111331212331113213311211331213223323132312223113133221322112321322333133312312322313112212231233232112132321123321231121312131121232132331113131123232323133331331211131221122233213212122111311131112223132221212233331122313313221323333122112321312133321322233332321322132121222132333132212321123311121131223122232231132323321312232211322232311131213132131232112233332212123233323332332322233223122321123113112111331232322211213111223233211311111233322322113311112322332313311123123212212113221323113313311122322313121332311312323333323122333232211311232212312211212222122321232323133221212332113322122333122211221212323122123112131231132331112132331212121333133222232222333113133221123212122111333222311231233111223121332213231112211323313321111322112232321132322311332331112213112211131213132232333233311121122232132122131221132111311322133223133212122233312211222311121112312332231321121333321212321331232111122131233322321312113212332112221133123321213311121311232112331113321223113311113121313111323121333212122223222233233112213212221213321332231111331112332321112233121211113111223321221312112232131322133311313112223223131221111233333131132112221132132132213322322332312113321332232221132331231323221331221123211333233323233232213213122131111221133233222132322213213322313321111221113313231223133333323222313122132133123131111221112122222231331311222222311222222221112331311132113133313321113322332223323123311321311223333233122311212212122213331322212132113331322213321212232333211121211331323211312333322122113223313132211231322222211122332321223133223333122321231211313312123331322322332233222132111331212222221113313132313213123133123332233211232111331223231133121222331321332122213221113321232313233322323231111113123113233133323313211131112212111221111311312212223333133311221331331233323223132131311211333223223313213322231112233333323331321331221213333213322312121321223212213131331212213132331332111132223223333123213323213213121121112132112313233231213221232311322222332133123113333212331122221111211223231113312331223323212312313322132213111313322311332233331312212323313331332131233123313223131313313113132113132113111123133131321321211212111311322323123332131133223233111233321233232232132212223231311132333113133223133323212233233333132233213231221213233123113333323233213132223112122121221131132312323223222222121332312121221131323322211132211211222323113232221213233231232322133333211123321232112212222311121212233222211331312223311332313131212233121211212121321321321222122211123232212121113121112331132322133123211123123312323213223122332133332133331132231212222133333213232322212111213331213322332312323331111323121213231133132322232121132232213231211231311133112221331223311233312111131133112323123212133332231332131121232321331311231221313122223311223122213213322231212221123313132131332213222233211132211212122123122333231213232221132213131232211311331312123311321313212332122222112123333223322312333123312223132311111332231232332111111232213123221211131213123221322312333211232323331321322321312223313221113331321323112131122113331333333322123222233112112322133123122321221213122322231122131311223111232323331233222232131332323221211123112222231121231123221233321332333222112211231212223233222231221133213221311331213223113232321321322331123122333212221133322333131331112311313223121131131231331333113332122112131233123213332333313333213221133121122112332232132132131312122133133333133323132312211311113322232122212113132222313231212231131212123231233122133313131321133121123313123312211232111211321322131132112322132222131321322322111221122313133321231223311111321112123321231123232131321132233211113111233322213312311123333323232133312331322212113121121122132311233213232113321223132111123223111331221332333122121312313231332132221221321233323313111133331233212322311131323233211322121112123113213211322212313332133311123323212322331222112322122112121123213333232333232133212121132113121311221123233133331232211122133121321132112112312333213321231231132132233131132232213222331121121331132132212111323231331113213312311132313223312232332332323213122231132311321233133331122111123212312113111232312231311321332223121332322113333132322311111332311131233123321213132131131222332232223222233223133112122231123232223113332211331231112231211231123231123311331211212131122113321231212333313122133213232232133211211211212311113322311131331132113133233123123222323323133132333211211112221233131131333313213323113132313323233132231232122312312112233232122332212221232323133131221333113312123312122331313313112131212112323221223332123221121111122333122223333232131312332232311313232111133313211311211133322312331111221212313331322221113232132213332323213233311121221122331212212321211332222333312231321113133232321213332121133212111113322122311322312223322223123231233111232333232323313211213132212322312222331132133123111133122213111322112222112313331131112233211313122331111332331111122332233321332232212312113223221112311213232111213131111322311222313111331212133312312131231313112113212233313333131331323211221133311333233133113112111232231333312131311133111121332122211311331231213222322321122333212312112233311232321221132332213113221233121132331321333223312122313222232111331313113111112213321333321131222333333213321231113213312312311231113222223313221112113331132232232322111131112233133323121313233122223332311333313131123113333312231131331131131311113133121321313313123222312133211123122131122223122111111212223321333112223111131231332132321323313211232113313332123333122313213111121131122311231123133221112113231233133231313131332333113322211331331223121323221321221323231331323121322321133131133221331323322321123112122122131333122111312313322323212311121223112212323121113212222323332121121223211232333331123311212133112213122231133323111132121223233113122213212322222322213222121223222123131322121323233123331113331212113332123221212123323331321112323322231223111212221123121233332233212231231213222233212331231331222211231121311133123313111133231321111211231213222323321313323132313323111212221112121112111213333212313123222321232332133211221232333332323222231131211322113131333311232321113313311133331311312112131221321222322322322122221321123311331332121321212321213311321321112111132221212231322212121122123211323232232113232131332233112112131121213221211123123313312212122231222211332333122312113231331213332223212312123321221211311332123331322233132123213323121223132332133322332112122132111223223133233131121332111121231313233232212121333133333211233121323212133212212221122132233232323322221312231332131311233123311312112233112131312132222233122222122321232232333131133212221313212113232212112313312212231321213111213121321222231312331122212221232231333121333112211213133312131222311223321332212333333331211333231113311121231131123331121223113311212121111223323322123121122112213112212231232131331332111312232212123333122231133133213232111331232212111331333332222222323131211131311331133131323311111123111212312123223133231231333311331222313211223213133222122323322113311222321332311223132323222132122121313112233322332223222331231313111312232131111221132311133231122223112223333112123223333332113332333132122132331223211123231221111133233112333121133231113131213112131311311222331311123132323231331112332323323123232112331323113113333211233312321231311132113331321211111132221332132232131113132323321223131111221132112122332221232222122232323133231133333232211133211131333312333113111323133313332111131132321232313331211211311121132231121321211111122113231332122211123211222332331112122222131221322333122111313221131232112131232123111222312321122222122331122221221312211133312231312112313133121322212223211131121211211123322223113332323323332133213321131222323321212222221133121323223211132231312133212132333232123311331213232211113312212322121121223211331122212232133222121133222213311122232123322221332113121212312323111113312223233113112233321312232333231211233231112331331122321211313123133113131221123132333223223232232323323322131311131111232222112331322321233333113221231123321211221213223313323312132111112221312323112112312233132223223212332211113213133223233131323333123131111322332323211223321311223221211311111313323312313331123212223331331131131132323223132113232321332131231311212233133233232122111221312132123212312311321232313132232333212132333131331323333233123123311222322332121131333112132133321232331231133213222131133232231321311333331122313312322332223311332112112113121322311211123321122322122311113111312132111132131332111112223121122331211211122122332333222121233122232322131232133133122333321332113212122112122321223322121211112333232323232321113322333111212122132333312121223132321132112321133323222223312321122222133323332131122311311212331313222122321231322113221311333321333222323121112333212222313312113331233212213113233322322211311211331112233231113223311221322323112222312233311122323312131233211323221133131113132322232312222221112222222312311233322223132221332133313113133113223111221113213122123331231213331221213311332333222222322333221312212133133323311221312222111212322232222111111323321133221332211123212313333223112212231331221221221123122113313231123223231113132213112212223213212331213122332223133331113133121313312111311223122111133213111333313123221332231333212132113113131313331123233333312121322312312223123231221321213122211312313122331221312131122131322113231213112231232332123323121223212231231211333131312311323132323312312123113222323211212223121112313221132121212223321232111222113122231131231121112122131112223232312222211322323132132113212221122231121212111322321133123331333222131122123231321233132332332322222113221233212322322221311311113213232212323231133311312211221131221331232222231222323233322311123122123332331313211131123223331231213212331113321331112131333233211121322222113213221131121133321133211322233311233332331132133231112323213231323312122132311121112311222231233122233123213213323111232113132232321322231121111131121322232112231123311333232211213331321132312112112211121231332232323133311212123331112233332222122132132123331321332221111323222132211112331333121212122122111311121232123232332323231133221121231313223122121323232233332333212211233211313211123123312132312331333211123313112123111323122121121132111321132231212211223331212222123232211221212323132311332113131111211323333232213313312123123122332123233123131322223131133112313131111122121213132331121122312222322131332221123321112211112323232312131111132132132322321122132332123321333133321112112121331233111333122132133113321233213232333132111211121332112122112132322332233323133222232311222231331223112311123312221222332111213232113331112313231112333113221221131111113313312123313233213311113223231123121332332222331231332313113111121133222213133123113321321232112111313231232113122123112211111213211223312113132231212323133221111133133332331231321333212221212122131131323123213232222111221133213222211222331223112212332131111132323112112121131323112222133133131112113211311132323212112332332212112112233311113133311131213331132332232323333213213311332311123221133322221312232333333223222213221213313233323313212123133333313113213123332123331223231233331211122221231313111222112132322232212133323323323332223323231113331221212211211213132311221332332113221313131123222332122122311222231132112111333332131323111133332132312213223113122221123112332232132313222212111122231131111232131222211131311123212322123222322113211313312223111313222213312223231231312121132333211132132211221221111323133222111223323311131212312313322332112221232231233221112213211231321133222131232123231122113233221331223211323132122232113122313133222132131131123232112311111323133212132213311211112312112121221112322232123123231322233112231212133223122131123121332323112223333322221122121312233331231123323212321231333311123112132231322232112322111332113121133333221312222121221321232221121323331112233131113232321213312311311121313232133133321212112311111113311213223122122333231132133221212232223111113312233112222231221313222113323212232233321231233333123331222223312223112112332231212233211323233221233311233323123333223123313131211132232222221333222321232212223113322111333322112331323231133333321132112111311121223213112322311113231112133321113331232133223332321131211233211212222212133233332132223231321121231111233212312212323313332213233311321121311221323321233311322322122233231123212233222222122211332113132233131211323111113223333233123233213233322213311233223233211231322212212322322111133322233323122332213323121322132321313212123321231133312221121232223231222211231121322133333322113233222211233311131123311232313323311231211321132133131121331231122211132123333133113122222231321112211131123123131312223111312322111213221213212212111111231333213331223313221112313323131231132121213333232312211112123212322111221111211312323321233123111221231312223333221123333221132213113113323333211133323331111322233133213212132231113332223213112313333313112323233133122333213111312332331233123123231311322333133233123223321311233323133323321313333121313233222212331322222222322221321232323222311112121222121332122111231323121131313321232322231312231323232232223121313233222223311233113332211122223213222113113133133312223312221212123211211223121131213213123113233223211122111213331321321231321233233212312133123121331323112232112122221131113113212233322231332331223233333331222112333113322222232231122321133312111123122333233112221312123213331111112213232332121113131313332212222113113233232323222122122233122312313232323211113122223211112312113133332213233231312333313232123122323213132121213232133223331233132122121332223213311323322112132233332112321331231311212113313122123333132221211311331312233223321223132211322133122313231112311133123131113312222222133113211111132312123221111222232112312211311111322311112131313122312232323333132132131313131112233323221112231131333131333111233122111322131213211211311311133313223322222233321332332333332132333321133233221212311213133211133121232221222313211131111122131311131313331212223223333113223323123122221311231123213223111112122111222313233212132221121332122332321312332221113321121211233132211313232131231132331133123122313113323133112222322222123332232232131133321333212323332222232322231313312113121223112113323123212233211111122111332133121123313221211222321222311221122311332333311123121113311123214314341112331124244124143144343233212222344342211122422321244422233344423443113124312433443334142321222411211112433121411243143224231321341342134342332341244411323441424143241124212431444434421314341241414422432124224112143123143112143144232334241111314112411222321124432211134134114421111222344311344414412411311312312323143433412343343434414134211442242434224413232424321323234223442134411341113341232213121443232334224243343123141211412141313431342321141442211222222322442231314431144134244311422143232414431323422324243123214314232322314332123311224131341321233324144423124444422324343324333224123114321211242323242424342113424221142212221342111242131332133144113223331314411424132111213412312123441421311343341411421222442114443431111141324314312423112222111443444413434424344432232413113243432332121412441334412242443312111233444431124112442211311131331344133421423333122233323321343422321122114342143312133314344131213214414343442223321142121423443213143122312133311324422413242423222124214312233214111241124211433234144434242413313332333244342114413441314144321143221144423123413243333233214214421424311212443322144312122132424411442412242423122112214412144444133223333424232332142433142431433241133321243321424213422114243422424342311142134444231342311142243222343342444334312331411111234141224443132124444123223224232131112441213314343241412333241314314413423213232442442124334414334224412322134333422133111441323234234312414332124332132222243112424444134413224142244311434331422312214111322321434411413431422143213213244321313244244432423222442212121442123332211143244412141211412411212434114214433423132142133233243331231242144331133233331143312134243212311233331143331434224422332112333311234233121114121412241341423213321234431141442433142121123433214322221224213341141212313142322244311322232411124134211114231344234211333424421423344344313332314221313144442433312241121344124441421221224312132341312432333232223341312232331414144233311223331214234342424421424332122233411422334214311342333222323431231223311322212231414221342131143214444422132244334211234342341111144441143223141411424343432433132431131312111211242131323122324412111141241211231333324221342233433432442412124143334241324432221113243343141444222131112411222223442221124123434243243443411122311133134131324333112341231232323421223121212131331414122134321112124321331433411412313412433433234111134232423123243443132324133433142414141342112311213344243441344434334323124214224443313112231123141422224134441434224424132143342434141414343332213244113312141333232232112444114324234414113131344122222311312233111441412214344241312443123232442131121242221134114243444313412114112231342344244113413333123223224332311434343213443221132343211133214242122332131442444234444443313223324443141134334242131134314121342341144113431344412414334231221344343343131121411111133411122111434213112113143113112342443143232112413113323123433112242411324424114314231443231431141231312243114434343432244232241213234343243132421214323232341321234123333231322342223141221212224121443211233422133432444414131132121432414241344232332222134133234323423332421334412133331243412433224413144122412124443412312441212242441342443144133333413142112321414134223432331113443242412134224123444232424424213433123221132144333211442334344132333141113312231441434222141443231434444324432422414321424424232224223144132233324311343344212333244143442224441321411234144222431431234341231322312324223234323411433312431412132323234142433224312132324314423144312212314121441113331211242441322432112414413413331311324113134222432123423313132212243243441422114312113333132242321134324311121441141323222341422134412342343332441422334413414212143232411243432424242133333243442224311324112313223321143312142313233214121241112333342222332412221441442421421144323434122212434423412243234333211443314121213144341114323341112141431333343113132132423243343413441123312112311413114423243433232233413214344331241132442234412124324231114442411413242311241442333341342231331421231411431424142421444113141132241231223214224311441311114122332344312232143423113143143114232311332444113444241444213113421211234323223413432422342142433443121442224114342434113222314244441134211112131224134341431441334333213313411432334324312441423342122342133121313234111244232121222311413221241113423433411112124344334211224221422214444144211134413423434442433113443442322424321112341334423223422212433124111111241223211422213333422223223224343314124111321113444122333241124344212112134144433334412322323243113213412321213431431113234144344121311432442231223333141444323324314342141214231413213242134411331311414134442442312132234124212232223121114213434132244112422134311113113433321223343243344442322423223421342314233442231121212444211442121211123313121122132321231231432442113333134141344421134112144333433322124133113444143413112434233114211113423213112342143231213413324324211422232412121334444234111442313444122213314442332244141134224413414124311244422131431433344244134432422431322424422414343212214113244332314441332433312222333343112444124423141243423131323142343432333234434443344143124423142334412324212112331334142433233321212333314414142124123211424241311434214114413124121331422341321314224134121332333311442121242232144112413431113344333131144322422322422314321244132334334311412134231311332342244332214131131333211231214433143421141444412434344313423312111343342441331433312332124344411134324413431123343122223113143141422312114211431332414214413213314431241111243222312232123443223112121131144412132214312141412222324332331321423133124223214331412344423444432344141413323241232321312112444123132122343212221312332132222133431133322133344334412114322434222324141213433411341142423111432114113123421211234234331232234434334141432442111423311424132424343212244433133134414441344431411221344232431243133123112441131143122434122131343241441144143242444132434142221434424433432241334232424333441133431323111221213122213231434433321312113134144412122331433321142122323131434424122214242424433231312114113144442112131222124433413124124323222322424442243131321232134411222314441444114312344312114444411231121114114434113443143432322434432442343231232431334132313442444133222434143241223121242441134133344142442211222123133222334232411314113223244341143321443311411132432343112131141422421241241244332412322421124111242212221344222323444231232133142313434413321442241113122324124244432422243243312322223344241121113241424233424141212432311412413232223232433332313141231222412224341214342134214414122143233444323433313411331322223332144333221113334124142224331113313231112112334241241312231341122334434134323232341332444423134213141114431243323441144432334244414114442421243432431434112422322222111242312114243331231322413124234343424124143322334312412313231211442314213134212132222343221231224414324122432144212441212224242132113411243342313442412223132244344234243432213442133244413222111123433321431224422232132343443444342124112134421134232321214414433134434232123121444121131131423221123431232434133434443441132343444232344443341133122311313442231244323322141113314131111444112222113334134134414312322411311123223411413311241132213343333331142332322143112214321144322114113342423233433144121121442212113432133341134433331332332142242431133422424312231223341444124312321112243134242213133132133414131131244142421131434242344231133142111411242214343212331243241144241241211321344114232212421421434413423411434331243413141132121111312242244122141431234233444441421134343211414442124432221214242214134444434334431323441111421131133422311233121142441441432444443234411423231234323412411244143311341332144113144331121134443224243222331332131423424423412223133444122141243244431432222333141334332431411324222314421244443131413141241223134214211224113311311111224231433314224231141422412112124442431221132414413141241341443332124131144234134434443422411243344342341214112144433224324333122441124244141244133344221144441134241114114123422241213212142114423123423324221334344121324434321223424342213331221222243131123134321341421244211222332244241443431414441114421442121234213242134134423123411444211224134313412414341243443433343414313233433123442112311143333123144312144311141241321331213424223143342222322331323441411242123322141222443122143332323432133411114231324221321113231423232422423431422433414414323324132223421213244332132422444221133344131141411333131233422334332111424123114142441413244422344441442343244113242232412343423412441134344244413131321414241431221223212121421223241331214343314332142243234342111134114133314242341424332211321424334232412321411442324441422113431343443121221214342231232333221241134331342313332414422114321434432321344131313443331131422114443224243141121414242241232332331142411211322313322441413142224223313423444134312441441344421332122314143141431121124243134213314134433232334332343212114424214112444213431323442222323214134434133144332323113334411231233132134333212433243421312334442244343231142234413244331413342421441223222331321134112143322423413424231423444442343142324411311142424411244134213413234131111114241131244142413313122424424424433431144413243423224321212113441234233133343234442433443213442121433241124332232324113423223424412221323241423144411242113344234312433243234133423442243422431311443312131433221124233424212242232412114142424421333134441114222313113423214141123321214214121311112343113412413334314324231311311431241432132311231112434114134233242244342132141111243243112124333442332134233233343112422123441231413111433241124331422223412124114311343122124442433144344441342322342143244133231431324213342423142241414322134233214134313444243322313244342314121423343232141422143312241422323311134343412144243434143234321141113133333432341243143311232242242444222424144213412233341414124223231332331242442111334431332213122144222232321131114442434244441141412231312314311214342312211311311423444224141121144221341421441432331242142113112124113144133221343412122222432233133332234442431322423144232344242424233122224341433242114344213441313121332211343112223142412341332133111232211112223422122242324422233241321421132333434113234122334143134121124242434434212213331231433434431344442434344111333442444233121111444132421422444234323331132132122424121212342214142324323121233324331341124231144221212413421213231214311223232144114244141111323344224232114213124433332443424313224143243113424313141334122442313222431242133413212334232331412323421134232432243421344422122243434433441133313144123421122231123412241314134333334131132214211142221241143431214212224434314414121134243431111422133421411341242241114412412143242433423112121341341231331134343432323123331314333442424122411343424232114134422211342244344323111123223121412132112231114441341343114312342144241323423322442421222242322421441422213444233324341414232323312344414313221143422122434111432121412432213312143244342242231342432121241421124334313422231224312414423414411433313114222233113343244434334323143343214332232412321213231112311234441433141332413434242343433142431423232311441233142322124323411113321141134112411133234121311411243242241141231244412323344434443212421421433412343134313242241412243231223123243441331241314314424332314111424224242211232122113431111421413424333444422123224412123114214441323112443211422323124324234123144314444314311432233111123421324244244124444433211412413311332242211112441443213244344224242312422423122111421231124131444224322413224424411134131433432343224311232123114112414443231314231111123234131431132421244224132143244422424413411142221133441244414311142432222231442441234343234124123211332444133232241124443344211421413143141323133144433213123114244444243334133332324144341111124413333211113341422321211211212112434244211434431112232243223323412421331324212222434144311232423114243224141212444313233241442243112333332313442322141314343413223341224344133314413434413214421314322241114334321123414324221241122242342234111112412334241214311434114222122232322144413423344342342223324432123322212144323242322433214243314231341144431244432124341214434342332331223233221322241221214143321413424343114132241322333232113143441324124122231212444213313123412433344241313324113423244111341433212121141323223421334234213241411212211343114311334342213122113223344423223143231114224421232443222113324234442142413411423112423134411323222321412342343143234442333414231412413132211411223212344131143133333131211341322133312224223422344142222242323421241322233131214114221444121312332313131333343344211244141122244334132214443322233242242243313241243313312133341114223342223442411232412224443143411344411244334443133244143342133112412121413442244414413232434241331432432221334224114332421434412441133344322333244222323311241434432211142224433341432212231223111222221332324114142222334311111232343331413313222333122442112124344122212432213332233332432133112423133222332214323141233441242433231142224334212411434223332424242241312231141242334211433121434143123231234313432342334131123422223431413433221344422324331122243432432324131224111342224332441343431112421432332311433411144123312412143131214434432222222223444134344142223111443224331442342244123433244444433344233322441111122314123412311234142324123124121311213113233241211332233141442422443243111331441423142441434122311134334312341333242331323224344342224211334423232314331142432311133443421412224344222222314444142331133123331214222333414313312434132333111131142224421341121223221343244212311422413443444421232211421341421412242431221212224434432411412442112314322332414342334431421124221341332411111434212144132133114134112242212241111321223332132134431144224434444421433321423121413412433322211242244421413214241441233414134144213214244424433432444331243242122332242143431223412331314123224442112211443114344133113424231224334444443243123121321112431442324224113332133331312413141134311222123341413332322413212221141213324144144422143233414221234244421431334221324242432344312231222214233144132441233323243321333143422221233322331122331222244444341412424342424431114221344334213243341324412314414322311233144313232213144234124142222234443323231342211123434333444113442233442121231233121413342212441123412114122241442432212332421432323423321134123211422144231233414241433431333143231334243221111424112314332142414433342113113114111231213322412444223334234444444412423214444133144332241234123113241421314213412444113122433234143144124441231424331232334142442341242241214241233242324323423142112321331211323132213134431234341422441121142344424223111223112143343344343422313221421433343442321144423214334211243241424214431431422233221131241414411421314312344112323331444431321312333223442342424312341333314331413234424143331211344322142424414332223132411421444321424111412334141313143134123144131132122244143233432334231134442144241321224432334412421423422121131112123112234234321313244311413413124324433341232312122412442232433314213432414131332422111223311232142344134442424211311422242314424143441444131141131222332112443343142231134233241312431131331114323131134442321341134142124121112314412312433112114413224122122212142322414211321212123434132212311132222233214234332124132242333331443111322244222333231341123341334131222331243321133222223442424332343122131313311122233422114442221422134214444442224412222111223224322233122421132123234334442213134343144241243441213142431142344324123432112341312211343312431413314113313432422132111331434124341241421213314412122241243144123132134144334321432241214423324123221124142424422131241132413314121132132223124222231343433313221323421142443321133112414231142123321324413344343143333211211312233211141324343113331241221241413223223314234134312321442412142324231411333231112233322423122343212242334142212321142343144224134214332331441223232311211122421431323441431142314444114112213242223412144144224223123124234413124324423423334241112313222112323244141432211124224314221332413232231223433441312332244322412234343414243132122244414331422134123313223421122241232114142244141321243434442211223323332441311432441234233343311142324414434422222234142321242241322312214142213331331422132241223343413313433211334331433142213433223144342112231113111314424212433332211312424421221241133413141323133114211243224234242432342323222432342412223131414243322413321413142333444243243212434134311341144322111421244414242144424413413434131232241141414113141431321114422434244243333233132134111112443241114423241423222324224324423232232134343344111242113431322234342144424243213222433221213321241444332211421333421242312143113142131241242324112131211414211424222232241322222324344434341342313421134112223411334322211234314111113123231421413331441123444414414311124121111443433434233123414434442343413442331123431242133421324444234133211212144113312143134124442344114134233134414114322323212331332234242444331331222343113331313431344434422441412231431313344232221213144233233341334314243112223233433411223112131421434234342114443233214114213214342214243343232441221221131311234341214433212441422433432422134423434332242332323111343444143434332214324142234434414213212414332443424324432324314234441131413242433311213331211223112114114324412333313131112223424234134121411134314122222333131443441342433441322233444123421424213233421224242324113114341332242421212323233324224424344422132333343424342123441332222113312434213411334431324343414124444133443233211143224143344241134132321143413422334233122432444343424423214411133441342431124143334221132422434223243441443342121442441132224132441234224443241234333331112414143212133423332341233411411112411222334221444123131322412412143224342214243111413441131322431242222332242112142331343421113132343421144244343122111442442244323111124433422223323312441211132433434332123234422342442112111243432314111323324444133233433413241332232214131424332141333223443421143313212213131241223131324121124341211321124243214413444341413332343424432341111142341224314143222414412131141144223231211114332122412111114123434312323323311413143344344241434314431222142132331214133442131411314321424232314421323223321312432313341213343231212123314334422142422432211433444241421414341111242331141133433342334424313313322114113112444223311243123443234434334231324232422431242431243231123132113422113241224312432244341143243144244424431421113222242211121324333224123114214431241311312344222134441241111413122143123212123322221234241231132231432312414331442411324342341413412232322241334421412331124111311423144324342234234412413414444431244121444213131421112442331224233144233143341332443132211322231434342112331424113311121142214242122322414441341131133132243122324441131434114122224432141312134423422114414321433321424114212143434131431312414231233133143212144443431111241214222434233443142141333334313424331433341141444143222444334221144132411414444413221314342213312214344341334224441422441121441111131414432444343434124131124124122122411244133322223121122424321432223232134411132333444131423111222431243134232314243112243443421113122434342423332242312141332333244332311443221434114213341424233221341434211244244121444431314121144132442121431332321223343214214122212413441433111132411221232133243334133121432434124141213311124313211122114243144443413233231221431432142111324214114323241212241233432133214134434412221231444422214413223131423414121144133424134421232134132422324323221112414442424123121212333224431431131124211112314324413224122111123124134134321242142314221421432233131444321334133224131122214323221214141123122343241213423341112233132243441124343413244434434242411124313324243134343341234143333334221442321224143322431344123441312342423134433221413432333122212331433231124431421213441243413141233411412341332313142211442211223113144333312442241311441111132332231113334433142133222223221343411412344232442144311122333312143143222231324423314311434214414213434242223124344234322242132443231144211412442314331444212341124123444134223314232322232421422334223121443323241322431122223341213414113331144121223221332221232432432214213111122443422133111243431111121331333422313412222231124134231213342133214444111234331233141122441143314252224322531131242543542145413254112434251251214354514332223154251355114225443434532354522442453433535412545234121213251454234131333331124213511142553555534342531525523333335353115151514344131343231231455141351452512535315533423535231134115111221311551153534243351353425321452155114133123113433414143331331142542121322222552254212431524242312113131455344421253542553513153523243524442445454114215125431342155314144433532545125553255223145215531433125425344433242335334414514511435133531313244343532312324144421321543535454444133255151454551224232445451434414123544531125334121552151333133432422244242432253414514233511415242432412344455311353323333333424553353422423415442335552441232241123324111113541131535311443221524251521241541213232453451323311222234422112343535411111334251334411412314433355232552224515555332543415445321255514322334543433251431111244224141113442331233442451154212545513114514151323323112211243541451453411245413335512244453443422224454432115354254532431114353134411523321215151145523543114541524512543523142453344553525513332322432144552433121143354542234552235555554253122225124414242543421535431312213345441453311131314552254441111352215441132451153544323312314533125124353453152315132454524323221245224423354425132434225213442222135442311124223125453513314425545545312543521322253553444242451314235545341535441152445453533525153253143355231315443145352251255114534524441131111531431342323245312153133215413252444415251412352111115545252132212124533225515142342553114311151424212145545113213153525343314545425225145513533454345311251542443552152122531415243335544355453345414512424455413312325141545323253221152432534411535433134525251232433241335425112525524322253232115335522523431342435453513452525144515224153341124153541442143513315441213141243512413141241154424334414324333543445154334144422411212235114322222421224242525455433245112451242421132445213314513233354543521322331432524444234413243233441213312141212243535533511225413125312111243353212235425152534455535233413143555232335254543323242451332552413123445432225254432231225324424223113245324355154214435321333114511321453424544424253142414134134425454312252533514522152425244225334251511223421312113311441255122153224435333325132522525331253522253232412133342435151245321213542512112411234544245223444421121513313424433541551145523522253213535231235241432555443355414331543255242451455545245445542524532214334535214125235443534152241532551313225133513441455414545532333324245114152352332432525444213415423153154223413245554432444254151352231544441154344143454213314354431121452431422442421251123414411112214513221324252211533445321553411451112314145223215125312351233214331153121133325443413255422335324531352552443453354113514334455344534135434115114414324213252142232554413434531311344324535353232324334531534521251522141533545332151125414431145243343151341224543554252554552112112312332413412123234333342155355125224424354423355344513422313211352335151215454335242123245121115534415242322311244441321325532422422355223353512312544332424522151445354543535131441213414412131321243511451423151144344321444115155315151132332532525141122122543244343442534323441344112225535343121521113112545543545321214134152343441141451344232253431215335455234214444444324155143125542151111141421451343122522444552113433433131123211134445133445255532434433454131433422421324235344151135415442542225521224133232131313345225515152515231551313132312235314351215523245254241144331443125444121143551432451151144152553453352322211243144151154413122513553344412442341245221553525342133521353154322333411435224112211152153152423213145134345113443145441115244134533215555225453351251254434251221431525453532213442233532311422111353412152244124433145225422344315545442225541521341222455523525415113241154152322453235423314322224233432553154334211345342113441323212554323312334123543325353342352423414135414312221442313212533134524144251523354534122452251423341342151114333332455554315354222545324324321545125534555241532122513532353513532444431311353121511425541443455553533233353234342523244244523112431143513232325133543332323521325443141525343445244131214222424352225242312521531555525554135421132222343244453444555241543134152433133541522425214422433232251513412225411112225153411145252422422555545215123545235433424552354453311423525433352252153244334115455153142234425315414325124125521153153412414434531555131534151322523355415445254514441435254421244431311551132422455454145444112214241452452553345541544553525335315544225535235323412423334252242343224314241144141423152434212142355342113331134212133441251124445444511243413243143331315414454432443433313532552224252352151555331533413222511143224355124234313321511342135255132423531314331134124314123253252354241231215232131123221445121315323331553435352515421551132422345133324521411253141352421254152521442251551213133152455542311252242121335342541215552242332343113235452543143124245553142411233445521414134553531432355512524422525552521435332511141251344125411522315313235522145351544312244532323345525123242413422542123232314252414312522324115453221154351115415432255322142543411511555522135212353245355114521113323431233141335243144312113333521453212422114224252525342514422431313441521335211534452254232321311352343142523215524333323141241415531434145552413453424332312542515242213122425214113132422112224335245412253335235154235531322242125551342314243442254444422252354315543134442143432413241355234524414431432255432114552524131444431533215324513333222531335534333325215151113345123435412121424312434554214534452215342213214235132123443553354234115245151545113411121415352134531414321534531413411513133242355352243245254434132242452332551132215223334211231314255343154353443354323135453445454445314134434133254424455335225325243215245522231332334453341412142323443351423113555332555142442133313243341251442414223143433535421251124113343445222122124313521233434231222155132435552454345124351335411522124454415214244215531351433244352433434314234514251443132441232114314144523533415123525225213315331344452144445351544221131321323543522151431525231112122315353244532351545153221241114435521355144424534135451131131535131151221324332144545343342155554135313534452222245233121221322144235424324132255134331312543413435532425423234231525225415313155214541542212241253324251242413533524512444552534255241324122314225523453213122414522213214351122335211451325555511122534514232554535221542453315331125532345141454512552332552155153311451551145131252342111512142314544343311331542335445233331121541331251543253331434143342545553542312522532221423222112255412332552145252525552345111232335154343113133221245515431145532441215115314253231423555515452255312413553144321552454314455534251353554552544153434225251113125121535441541312344315441122425551541244444234323255333441245351114145133545314243142142352223224342251441532352225143424133524345254254343144421141534452343143222551341341153351415244515443154423412232243114415355443351252215141425115533413312213452113523424115332225422442534433543551255232451532421154413551211252241355451454352323333324532511331523512511353444141114152212531525212132352512435155511321115432344411243535232142352345143545335411154341221151425515135334221454415455442141124231154133114341141522235333541555535532234355333545154341531341213152441332254115231555324343325234314351532544152223144114311225322312424224141254152234524243131551153121224254555314131244123114334555213342131224151111132534351321233452221513332554521415254532215421535125514123144124555512223314323442534351551554513514122544531524112141351322113155131241115151124424555241552453352533533252433211222251455531532324544253535423534114155212421553113432321514224241525433344335231435211523531345411515455353412422354115514354254422551545431234515331243214144122241355432114411135124554523331114255144445452251124114555454155231154555444253224131442521123552212121521535244241244345143555335451212251434243423223323234152211442223251134531442215454555142325112423441255444251355142312445445524252442445431455134454534133121413213311445455422423435335231233451121432313444545432124534243552521253353534554431234321342551412422353215214114353242212321551254523241323223254432542144335345251111343521532334533353335351232413553451443132144524211432112254113314314232445433451153351112444314211544142354235244235231531353313334132423341221333212451442235132451343533244232152434124354251315535242413545124454412351112352441435232425141133435524241415255352435541142244153515333334415331215123331412413423342531532151314335232534124555245154151423525543422314135221114314135223134524421511424532152122135213512525411152335334553125354411323424521223545424235234323153345241532355515153235343114331321435454223314235544145345445111144243121543525431544432535432215525441441135242232515452512222335334532351214353545142442525344531355124334225134134242555434243432335122134113113441335434242244533535354324141334323455345123515424551422421515553344234235143154143122533241335523342422325541125523135443113524524155224444115554311212214451242323251251111551341431243542253324215325342443112114344542353552512555131234431254522532154425535322444423435244512354215511424542141154351415425521331343544334213434233334425511515333541441253132414254535125442311155153344541253213522121354434555422355113344534225134125454443322413513534331214313314514342341141344531355531413151543322112115435242442431111341531322124254353334412241344542254325143552551323321444435225514333431243544335251251135224134111515344542314445114233341114431433452212554532452414142414252454133215324313512115523325254534333221112445132433341242221513332315311114533412143121432434323143135345354531331553255534323553221141215525144114523223541245221231411314435355151514425515121455431223215151522314351213134215124352514123234322251433145123541325115523453324455133533134322315241434315551131555443155444321251453231345445111245451154122342423312331531151122251225324422253523123335432153244251444235544433214133232341551143141123112141323321543131453151354455322135254155145125324523252253125434413214345511434255131452121215515522312222452233455131513545415553143535131421325325535223153214425232351542513252154533412423211145434522345351425435112543235455312121544115111353255514243422512443454254322341222115153352542322351132151244453313214443552445515334144122234454334234133434444314342345552553355313232124452545313143555444135355215341322115252155451354353323435523515122552413344433423411121514315433552334122421435115311554441523422211113224551421313115113125353215231154515241533253155451552415342553313243433254121325511213344453455313321552553522224255225524253351224433522541152413524412544433451433151544513311534532322112511555454544554522234243325222322513423333125233541514252114452144535452221333542534153221215331223114345315253521322353525112121331324311225123111451244354551555243213241124142131115134525231315522433414512114144242255435455542444151441512112435242424334444223122322442242341412545434433451123441524132521213323552354243314523514444232442144335122542212153311314353533343135342455515311353351325232112432552151211344535324513425225125221341513551555541531232211312223514554225534124223235113343125112424415324221234523144314112233511343424351515323531551324251154142435424415133345412155115411244521552314411252332413114514524345132424311545315425422233221114231523345353535431314421114215242345533435322254545323153435544214321125541332125214513452415443221443433122323441251132213441124312214532324314345352235115332214341455532554524413343443343155143323345131452254223453351222131154322442121212224425211433155351145543345522145441153112332451522435154245355254455235354145232534434452421311342324421324253345452433232332552321214235212412541344151443255331513342553153243513532513522424111414553422352243432353514342215445311212143224131352512532413351443454254445244533143513143312142542553351522331355242425212532235541225533325312435531112231513452135124512213342214515352342353455554524134355435542411212331235142133235531135224451113255214242544254321543415441244435143121311323311554511111125134152554541243135135222222341425241532521151513435543331552233311353451122314142212534243322244434345511243543323513351343113511541131314532251211412451353113323343313422244224551135332534521211432433553514453113355454412122234532243243543545414315325424533525315523333244324142333231221444514232122435222222315252311524331243554153114443543452345531335344155134431214422434252112334354125232531243555252213323142413435414523333532413224115325123432533544212411311534331234433135222415321113133322325354233431524125213413132151222321351135341115225531453155323114343342335555424413142512455255235525312312413415135331132212331342215152412145222141311541113353144545125541422222552512512554252222225133331452513353415354141252335213135121431212145111114141433415313231523253454324532452115545533445453124151444451253453353212145342213114314153413142533425523143214131452253535251513514421431111143222314251133143434445124222235213533314113522221254435244523133452322242135223535332525511241125213342151332522424515423231234114533152424523324221322531515535434355132435321134331125141233312352354113235214131315213455423524344214123233153343235114313514354334142424341521453411431343333315135232315523513545544522341221144333423535345235123441212245513532235532121553152555132215155545232341542251152243142223322543425543353412223553512145344232113221111353134344531341534313413142142333152121145135423245521421252124341252452335313542455114423541525551435252124135444311143533151245242114532535415515511415234245255555315512115255352334541534143155555112333442513111521515125325234444531431121343531352255243132112124113114355322343154533255452523123545445331151132125314411252521421424513235232343235345552345351434424234111431321344233554555552155414234531212232511513552413212153432445415344444554215511221342242125552121131125252142155225513114125444441444523131432515435135153341321332323535235332214444513353522114235144352241533113124545342412442345212545514414211251141241124255332441131433545551215343542121555153352544253112424313211315524443325413354224555441113355251251532435351112114514231451342523132415554222124444451512552324541244145122225523515552211352345424244125454122512413545334415113144445554555243355313232344214414213324223333522145532252232334124541324551514325212143212154455554522343534352244545455524415554511251445431224112524115112533123354314412433355141114331443242133553334141335535212531334515122134323331523413555312334452523122153425122124545431215214351522331115533334424352534554325341513213131325452253511352153541332522541243142453454145254413532355144254452213244543154531441215223234535145323213142432435443324233542542444421124523155241434452315451111144115551252422422211533243415415215355521124551131355513413345221415353524435435154221251451434114255553551253125431142353351153113524223252255152351122411132332541554243522421312333113135214522523353554352522112514412544345453433144523112542135422511341545244453241213351121512224454415323232112323514341333114445345224151323145552445135335141334412213451211351451154523153345225513542552144333553341312542524114324224342331125525241151242524541454454221344455425125155251212213244513231133214412531442213543214124543245423255543153213154131452245415542233222421113114111141421421522154112211441343141311343444145212212145143111531513151352315542133233132554512214433225345435534423242541552144121154542442541144323513514332311512351254344343241132344343513233352311432232145242531351211523455142322114514442331525543254235154432552545353123131321235543214523113533422333255343321521434245512451153352233454155313142455513144421145222154415435133334422152533553135434421324423313421225334343245155231232235213414422115133454525434123431413343151221324355321221532511512232153124111132553335354144352134534252124152443233322142121243335351452421552531223321454113335454455243553142324542141144313315341514221141313113232532315555421233254252342244433223415554412425131122211124153441121533513321245453133151111441444551243114355431233153213443443252232434525433442342524454132314121231122524424345111443422543351133151422523344414242423544235334254545153122432443541551524413245233314132434214422214222254242122552321453515321232513135415213354145141534415544331253353415211514243255542155124255134132542314122552222541554535234552352422343115421514223242255211542245314321252424253223352434534143133151133411455111552345252522244241213111152122323543152421534345535531542343134345144442435535424512222342344343213342454541525332154244315243153343432325533131335123141521422351153421444141335231212455414535554443541511244323453235115434341431141351311333132512144241125322322341533112535322435344312453524314331231443312151141414253412414251225553244545543345151554134213234425153122232151122322141122111144115341154315332455235352154112134522134151543324213433254551323315534533531454244523452243534255312152544525113421452532524311431313453422522523254421535155114154551332443531451434441542444323312331415322423155111354413551223451153532235455152123123314551352551255532531152453112154423442552313232144141522242544452152521343525323353341525325321421534254515132113351442545111225412252544444211445141334234515443552312452233243141135424515143355155231441354524532133445353324453315115151443452554445334222151534234134234114233213141452322341155222251553515331551212434254433344151115511555241231333343142515111133523232343425422442322432334553221234334231332112435533122112353412451223241553253355252434253153433551434135415351222524434133113524511515212332325411343322244431241533414333154545535453513522535243233523422312424555513254423352211222413255433424414355133323443455252111513221524543242413121422543141111544215253133221542243133352524332152114523354315133553342141113212135133322413312553441111113351223322513313235555235553223524555223134354344235324534242133522113412452425414332224253315124424224325112242341455314531152441422414421251324515455345314222253511542223345132341211153214341341351122542111234421141453252222411434222335412455554253422255515344111353455544531542245415522545552544423431445133322254315451152415223252253212153414215411112223354215334211415123533135133314233241143155432313223122125315325253223133232452145541215352424315322554411342422131143213421441335454434155311413134451332311455344122133525525553354523243424312231545231454313254245454332215322532445121521455323453432112235552233141134334222113542212522221333253322345121221525352514122124535321451522145353422135131252222143342344114235543311215322133251541334334344454234444532141352515142411511541325353323421152243143455415454145512555231432543411142122223551243532411145313515243441225524252212514115535542415215442355141551343113533123323455441515143154325525242145432321554512432431422315343154351424113555314113144424515531355351414325345312111414551143135534211532552152354554511214432524144151513124513324432442425243243213353231221444421524413321241553243125231431545531113352522233414312242454244132334321414241431453142223251155455443444454451143441254114135214324122111411524224453255525532533435535315523551335551142552254131545132324215333244324434213522235343534542414335121525341252344214423512354343254413433442212245151514133553422322521251533452323513325234512351212244541245511222155534121451113342132325332523124242513314321545314432355121424212322345311431551513255113344121553341214243254454414334254525311544255525455344324111122433151114535441533421244254225532534534343242541222445251543152444433322245353535115341351251354342133443344331243311555121313141413443311234214551255221444112324252524554521311542555215512143424213132423125114425542435315511132354152155533534232332252124223512313115132341123523134415243553321143512331312325223555235424422125331525212553511435545443224522121132345454442424132512244132245312152512142221523351634512411132255525236361554652632212123533621241463323265552434622522162431254221332345564434125114251163165211311414363435525323415415654562321341446651232431441315141266326323234522522452435235432426441351363443334446326132352223155653456663623131556436454516652441413353344631413346254422311424233531152224634156652123321152412634413422165361635134235232216342562131614413563156362513661532411551422162226464121151345311225311122225216134233211633431252656451651461243554144231211263361334362141232216551343151561214634334445231345611635111155145441661344134566136116316414262613462423666343243133653324511441611156226541143125461663141115665651562244325524133113114265452624143664163523165365354141315264641644423412611315523666666215561664315443521426261464353653231226334645266131645452554142165114444131621361253661544221416611332532563333225453236546656344356231354466615223415261135451163553525254622433154361341613456635654456621131413542345333366332125263152534345622125426455312551166142225542332223155423231153252553564145252163245414416454666534151253641554142316544253426342546532526512155623544156321254215551146466563152325623543331445613414342161364423654615215641431545246145642351345643233434464421224126313416233664615251564244635426125365652351426622641262535344645452341243264555633526666264531215311364313142312353232245315325623432151254164221423314532331663635621634133224233253615132661262453223525134336544212462552441353564153333635561651126252165523141225445512135123664356545126431422645423325534121326263114424536623332543223514636343521642264533534661216556642364423464613134416145555412453353422141435511245122465223135434413516426661112364531122332265335353324624464623143145111664426622242621356425521114552345664356551442445354536524146611566613535662533131552243326214232632652421311353331222243252352424511622446445465561414561635566334125246211456213624463253423125424631322354652143453445116311522253152655333234443416155653533435634626426632145364162351511553423512443213325624163625656532543224345456455244324323255536663615112626364156225546233413342646445316635312633556243421145216641442332641131355611622563324655623523116551555133123262361655236216556435411123125322542514424145663436654635335566421341156461636341633315631454123151135442543246213413263115216312152534555162626636634612463221124354612411346623515615224234643345635143645536154352144336421654524315462244533251442564235361441651464611351546353436136453265251236524446213136112454126444252252511223143325633246351122215361341351554555255243145224134341364262234516162625621416563224251366456531414645235243222214562525233253631365615413662251334256666655645652446156143231651443131665231435546544221342114642242622334354536451113534634222323414315533653522466652322432551615336156155434562436335216132122433331645256433546246656561146612213114362232315626564321363663252432161252312562431556656245231364263151216133265651623511163511226263153664251553524242622666661415653642345423642255124223156625453455452261444351556255234263616652426534341543525213124211442144215645366323362162261316323436525112535231454563456314234454235646566123535364336156261525235566426325311216331315233612412151662521351441162122422413531635424353355262212111122251211243412514643452446351356345163151115656423645512514336234431115115312223456234254515511242626461135246264614363151531323214224664251516265324566622451645231366615453242651131162624512322142116353566434415212253532453465543441624436541145351313456523344351436562523316514635611556553215221114636354214664264226512521322466162424115262615165143622653663566521661225213611252454626653226161531452266234253425514253464151213241136431145356515323336642633224125451434241621221241112164365444216233444415265216161264663234655341312641346131636453226232664212636132135531564222233143211421313263345125243554464445446415434543556252443662135243124434654315553342223413563211256526664324511234145354321631624343232634112564345551612664133256452622323456514132136326462515453424543551515616552451331315121352443661541315254132232656252356421161542643441541134662625143453332163256261135115265254631213214113365162164344244452145533151455464263446114565613116336312151564321354354411261255111422624613114132435645635143521466552226426626131324261442464233211122641336612642431262311624634634565325225456322115225251351524651411236444444344635424456331625434426351164211561232354216645315636335312422455462364152425143513516116642256623536634143545635254134122616356332232315563333645331412543565221111212455665636432466453416265665513646225455331546252526235134312646535163523345643225515411545136452255231332525134365233616356224436636632614254423215244262564114664666534243614262525213132412611344164426616164243531141652526551136461345143244221662634116432434451214556141256245145525441312626424241544533234435251664422512253446461123135566314144255444336561216225261124454135433144265144135444231613345455261244653434516141234324322154541665331444164516566626241326413446662113423561226226131533441554451452461646445454134114331116424536615642325531331416222626361642316163162344244223134625534465535432415443556345531621413622442155625556542246162553321356313411641365626241126644654552456116162561461154253544116255133133411564411455543534615623223263342325433541323443143314423433156255636213613244435455166241225532164652122126456112552363314534643115216251514414532456654141414462253265625353446614351654632165324311163411442311535533663553452116155165641141122344631223231335212521152556645163233652344354645124112154621225211513411215562162252356522311136254424212642645161663322253353641326411514645322116431555552145546315155236631231561535251342125523326532432424262224532335545166426362212323616526246213454633444341255454434213111461613113321424231645321632316125565163332143564331162632536412251456166244361623616661143514462435112515633664654623616654123134514432622251634365455121536532251423313535321626332144664526524533553513442234654545634354635151343424631251324665565663364562515641313125146224641436545223311264664664365664351314351562566553646225543132546566262635615343635346261411354232635521456221253615324134256353223144511262264354164464611523532135364313212535614143512343523616233531621161331445563626666234546136621664116143322451126622364656345312452464463436441416326452123521566613142415336146161426325516353223431645241144442353614432164454434461154535363265456562515224354611615155652662416146124515641331311554346516634335616365532662666535656515261611462215651544442464656531354124252342516534115224512432266661354455536322622431551664121554513631554213344314356223514552211211335644241362414324564122612636432323611416526145262541642512554453121155426221616252223163225363344341112421461215366553545212415646626166115123346664252466314541411214554136131621223152466144624413555256552424435611546452523351335121653224335565521353424446462643645256556135416413444155622515546452126162331361313415245163331363242222154152612641432212514331532144222336264431241341261322342545234146653363111544333162665121511114641146345166422431525436251251433416112521453613454664613615441611412541313543566355444614331365235156521142431334565244566363154432311125355151434351614344546213423424646454221623451614366214225541214256346311336426523412233414465651524423355266541661113141561155536252414663524313411423542526166154612161353453122541124643542326456654416434516653642133364226154523261133411146113615212623316451646521535621321562116142342224315634426151111134614616123634133513222526464216565655536661163121413562512226665452622612415421555512632533422135626556424365121566132224333435265153423222421356632121344524214666211463322346612214635364515662556336331562232246323126566153611521244261363255216251111453622413564224223221635541622436462336555364454415441632661513326256135334561235642412515353555261141514151144535466424246565114152546242145465612341664421265343426123224431622155122253242613325236321443532646226444656636231421341124346331643516152624316152253662365625121345241112533245153426346635434232125134156163555526521214454265346552236634252131452541223312114536632424536612455336325525533256122653133664536342163554234422322216211344625352451413523164663121515332664426332262432131226535556416366621344431413555365645513223146421543665633151315146326515563534355344624266124512431462225261314235324523223661531546442255163454253434635622663126461314613221525656322621154355114133421423442136665534333445625266421452436516245125422453342551462325255545552131616544545612421422245622444351325266342112641113626415321543564153616566451532133442213651214513141416143225125333231325145423414524236421121523545565362511555111263122623644635352165646612556565554645611341665164636534452335553324512516365613145465133633315336166221154422425664544526645465444166542353462161223644311554462145436333562165524156256644411355515431466444223415323226454453633443422255345555116311343411611625364256511336136654551532666441264552436552234511353313263546633165112654245335151411635656342335236122236642446214154523254116626562622515431341523265253661351336261352662633455562361356354314161133663155461646163161414112212322511163312366163353223313462523451434644243521155144364414343315332523216332144541254462125146642121326642145461253362563354641541442333424153555115652666353124155216221523541422614163566511115513224214551363451641264144543311526324443466423516365456232262621522353311222446165323314223352134156356352263113412412123125111414112126634224232343452434234142452333164453515612634245345443555451556264222661553144341114136515551241452521344521345153336226442563511436363625426632355646521464624451316365541513435222543652343556556224645665646431663251253211156545622456653523452614461611564221416345213262511645412456215524434355516123163546314422332621333152346225263446164515445414436513426335535142656316521251512556521422664455441351211125553411456265155211142144635634262536364363166324325362652223642564524641136455164524412532165222643145141453352631346326215426554155536314612562415314224654312415241545235163631255644116436656461235545134124146313613534462215221463313414265163262224563651542326524152341531644155242214232163624316514336121423116625411524514624542664316325664363134615153444561465223554124443533263641622441224636252433554534141115564611432262566613651113354354533264334221466136362116114416162251312433441243513551445615562551311441152566154132545314643121125666442622564654135446513112563136643112632126416341661266123165156131313215555256345132611216412464422413235421142334424422133266415535545166162234343464661624333115542145633523236563633662224422245121663644264522614252161231322224253246333122251365442352313464551164531516124141364426326534622622442212551634651166421144433632546434312364436313244141261433514426544641111431632134543615653414335532516651443633316364166134431251141615441613611331614416146535516456621662652525555266551232462334626163231116553242564361434446131414661511254445423132562215526456136516622146315551425615464331333623552435153426451641326626623612234416612343666633452232123164614324663626653546652564614313411111356545213564232112552616224663621562362325615216354222511116362135234163453244566652142546546446632231444161445343224455132645335546323622534355354162362545162645314545561624436535154611561432256632211163215165541616155521425451546543552155316416113534343115533226343455216526424644261242134323645651561441366634341165265466432236214145544411512611234441114216266343124364324254364411526234123441636153455163461621662313652124556452126563511562441365561146224156255514164522635464221664515254566321414653156523622116266115242564344632134456441521444223416555622152352426332123634345515464133241244313146221213645265542625232225553256546556541345622113323213445133614332314121516456425533114514544254113252242554233614154212633141525542635523233511255365251262122363455634121145233432321144125624246636411223635662163554233463516446151666232425513655151226414321236623514443313346124533261563363652122453653116452532126245212441546414653331666526166613261415256165261463356621366255342313565345164133135624453145363531555312151452434164232525123365241656154613125465125644346513165533411265261626261564262526223665625633542311211154241132621654445111332253353151262214343341652333333552556132545635251452324421453115651553414266552514436145523661455511141355213453163411356345463643124542341615655333335651426621666342215243531153355142111442435233351564146143245631511653563416614653155466654346316162342416341413412235263324642551555463321135416366555511662234213446146552362622544425212322142113655531146635562331541641644142245461442343522422463246234315566136563164344415323544454524442144622321423131653636354613126233463362344346433423321416125611141346413111521151312231532366462225543624465442216422464362211121654245313626146655262362452362356443611262643331224133662661523436434221314445436212216345325331341453551224644435543216115545542654632632465111364512451632465351644634141532355425432434543115146233534654151532164214452452335256236463141161254444116252155463323633234142536141256244336165364456451152232536652545661556153322654642132323655132565423122421324611563664652452531462412323444533556145343251241255225136341521565446241466211265654254561522365133526533441231613266555416543225466152463423253343215443164314123415343552556252262413616235514544445464546234341251231641461142515322465126423446232623652445564165625524465416133224461532461544345161414124634246463225334112445322362643135531246451654454325521624551163645636344132244464225255533542613243266343366634345642224455425636345251216266511144654422251533435143563456116111555225113133155551534542542426564153534614222544536211332214533316362431222363143432534642332433356232223141222445561153265415413363224266215432611614211421251356365553411623612646166131533351154333541446636163516451343365441514531564464144222146541165312462545512121433142623616454264213155333534356351331521333636346422655215513346362341141233144516642256516533466362155242245623366212152445552465341234156321524215111222461524441252656555334124322323553344651464536215645125444545224245313356433231662213644432223335155151114124513163161511422432236542522663341621234654623555656331312415536562322656135411655551512436212632161633345154146614653515423455332125346624335665152322551166422522135621121416212143266115645564616341152566451362611355546316144641543462431266134533414124622355411656661654556236246651326255163535424416132435346134146552131311251365352464635616353635136566652612234353445113642634225162156626141445126321652542633443525411222235414323151632223246261121536621251612666556446663516351431162126255144526464351325144116626165113326466315421426324412341641421646453322553312312446543644456231266261323321321452126353625331424321122152653466661565556326432533614556642121656433252511421553541125661642636446654532562536513512455242312645323463333453343362314125125251512521251266213236331422224512551426414524234444351166321445324153163424534645451251116523352454653213355451365153534415411356622142345521526322414522166222164665262443414114644325232122361656243316424525216516226311436462116314146235644412122622462115223523365625256526565651564664463645642413232251531263243512225351554663365451434441135115215533511645264432552666662261565325563456216546464554451445224645432446354216243322644151343614224351613233524144221363226256561365133445464216561336541233512315125331666156634634355161321246625531524263663336662446411225166522341155144346633241115516313144645542345651321415453243542243326262323555351421234241312264425112213565363135621343143252521162226245663355141562165153222161626513211415256635142524545625514454542312516463614535226555135452515136614643631114363141542454324166456141211255324526441356615324232524532341156235142261551316661542264425463324121631653514441435342454323324464364333311655565332265564616143462665233261445241264624352665313266452116521345152521646523123331353233515626224143116655266321125321465656542645254542441141142341311243521654362634545642435356461454634432236166241632144311346114246326312611533523411231234132233154112663523142322333125462312616155354336533432644243462526451463221323643316243636613235513546235656353552265432232424664335621514212364413634146615412514245224324241556642335623231321535124453664632524626255562563443652166454554533214526343432444416615324416156146226123343314634563324442124135446356653611443522132345256632266632566155562254154651413245155645524566354442524221131144652224613133455166635226221214366456546226252441333523334322445263144455344411211563523625252661363635533661422245424115323423326511333561612533344622444463624462423416441321524254421536115244156324345164155261512454132625313213314113411635653526136222522122143451562342136266162651532623625641666521434441126614665536665452255511651162163451526341236145651541513512615641622634446342144565445663633424314246511325466555426653325346164212566521131613222526142565242632511446342321312443144614221352532353315216234261263663312121263265425225511124144111315516313363212611352131542642452211635254264444461363424316542442234626146353426233345663325242352433434132112624245424126541465521552154252122415254436111124545423325421422543135561245646313222222153124165352535523316234225346443622266664146625645535141314125324414363651326112334236664165566616344412221121233424311614433223534265116155551626326154466656642435623361555624343321455423114621456615461132253554536341426115544412125121144326546453324264655123325116651356634656215464536222421225653652652144434241312323254653542514662643316563331452445531214162236423632311433415622215263346453162464322335413662652265422235244351513413243226414321232143554362146316412623631162214112346645546455225114341156244342455226454426215415511513264531563353131266151565146514524256333332534541523342153413265311213245362453215232114455644262213264133641645255266512145262452615351323216632545265313526632526324235244536651566166326612232161353566241535553566262166353236254543234226563526445342146353655316323422165321254161663665653453253224321152144223126355543255243252314366241663664666241333131245314411134261434563225245421433143251261316423142251444214136331346333451162153361314562264564425331344343451454454532421251326226643361613645253514643531362651644251641612424154426466565461535643124512154232441115654331353545546636212564431232614234232366141421135355465516416522312411115224236154561321255524645613624213525421541552445236663251456546232441515531464226156144656524314245225442425234122463252523243334246661512423112145334223414446231524555524564666236521566611523442116355135264114146563261223254444162662265366541216425441453666314343452316651661313236642232666323331335622651126312643536625324554351246335134432563655521152414542535556136213132324166544552645221443344334334436623541623166616423555251312624315653442431465311553141261162463135143623552312335342332335344521324363541465416233363465626442211316643411341251264434613321435335262341364151146356624645661422311234231413266524255643446311215212422433122661265652665564312232342212254131146514112531662612115623222322335313413546615563613442633555621221552123413633221434665253622443526461645611236642215613643226245114545336336661112646643234541335116323223526621152635621213613511442434423412251321252662663221352413542152364113161255234245661221263355213313552364156262641556546562412436654551646653536512535262316242134251244512252522143352552463443531542213225364541513655562135321163263212135453333565424565264661626216153615232255421556146433532423231461651166615451144415151216226335123616344111654334111521326222521551314662451111361326141642522346465544112522545341244315234352121514253314255152563663525223323241353553655253332562541142462455462626224436646166651454662536343215666136123413145221551431255453243545525565562353421253246424131656253375567131776433365716717764666614362742712344657321621565723373626577761124256271752575247256536165151152246133625553266113534332714766712365426161357765235335276544312545756352467155545755464227441362156411626521743237645244671624572347221747633145771262641411757661372163725226415313465375342737134723314514444644217636133273753354355523136223411141743737775212434653136635665466432472442162772155355117353717537467623576445547772551215553415124753121454716653627625361376177255254267455722272653256275552466661157564255142236221531755262755632571615267362273233727333215667736564171736125115167512772557227676773765544145523461637552573252541144317711267273756633757764226722247111724633226551723726117651543553323673665437217256156521465637656115472614314221774355213646321612346474624244131443151314614564465234363574157611215225455773131321454622376757747246672141124645572131237123766472136217211372626722144524717627577211616735616566442511166627347255745616164737341222225756472127661146454625541652542236744653311365617341512346362252525117335242622325343475771614555763764275334256457714253733376652127235447153427366753244371155236637363167126752326633732734326116715713513365516346512412514414764433571734253776337445625733326442611551165353773626155347547273341115213445432661345766512222425435623654374252353551472313425635116461765253157432446366615167375611454262476136167626354732556216142457566476753732354656571411714137675412116352474736355314162244122442547262176441166564667174265326342755254777673221514362457166512675417566343555473726653341116166374232155122332511166227277653471573757256212132145434342774114161335222537413574116427317717113115575457416445545356765455234434754416126652123426274436221363437545327262162223727353144647117551763456634744733737714365145561664621453745125361356453134413261547375546737555357165155565573324241463365737355231445261637731142211416671523745156362432174771166174453215476773537747146533322676244254471261331774665411417546452545614622422417545353123566371324754124255174527225226462277726414513177454536225645271277641476534731546666417741446453416226671241113471211675731553713572151655553717721675146613151137213177344332371135332117165147645124545665765565221376113564227671342721366533234733631677211271772242767331533623256233654541315476563373145137324615277523341551316535617312711271615534537573573253413331211227155377747466626111141371161267644263634671257747543357236742715173256333335271153255167462537236341172174573455663156564446137651537635214246775757525761362236372732222333272466346732635557354226247361457316717567642314111211622325353311652527253351756556537457214412466515222427212646261234144252265725534455144125643533114271315516231343557631312434612372122567352254436361226352517637746765677613223731747544463455126615174152343515356371446653253713227322423543767667631213525575716545456727276752614423642116565411143513432774234363525523366774511656111267572625656125424773441223722617356315772471113262323313652533445766433647651664713123357421454247557734671454533712236767512123567431767512752252142636376457473343311746734126122273772515244465674567337421222416613533256462631255677541537461226276461227417272661432465421223537375465173727655616634143654627544157355326271547322475657326767145542264511654553612145744517214667176254711433613664131451362455232724112644114147442456555427632573271355553636667734451167722666655667134316163543177753624657433261171371615136343737766141113321175125163365176361745341321327227626112331125623524221757172563253651761742474543634636414532556732525671717132122552112453617257136513554564445561771634162516411161316432165342311261377447265361312652731352462277274131546144152736211214142251647337371655762152542332433525312734631516252134251411324675373275335453767143267275325454661275431745232715271627227432717575327161371461755724515245314151577475235241736415135321141223263277617124214552234655637441667674635544155327432664147753611375651174566717427375616551611437272772325615544264432254233275762157751237653147277114475662257142716136763764473371727455541252347627266262577734725431654446543372211524763633224534516652575522622463536611117332453315252574643171134762767767634155367537673177177245442117162254671421377374264257411571575417656616415433726113652421345765647227757367342142176246762437763672455153174276375776562434277237462676655362166335252322531443157714371524677323517626541553645336663632771427646437273135161312165327464223267727414466144772157516222644632571216643426613711536157311441525315661113543732752346344171727427274714237327273324727314175536323621713613322531123523117557172431426557716131147162172724532444454221611514375353267132472335742344124243372576712515622755426322624317534473751221671743252173262363115423515526453236421527525621121442611352665177431451122613463326456471437114545552542477535757374112644325766442365414354122541626573712251762615135237411554325163153365143271461254114257356142147143544534577464745157513166367742213656773636772415233441264657745372666622421336747271764336722422355215124656341245232544333255157641147414736547332453554761253217713623163444346251525162616174764123171432753475224723651257533614114624672136645716243235655135314455732612266644256256734224743357522712176442654276742351522726675545443766143357141754525617244717241446227322736171452617333471314255747546646246251116521755766271642316777511315163744512365674637741335253213462553113731415746517547234434561433623663531274543464356771125655216243315312554777175662553737425141367567412751756222346537241622425342712257722533734356261127762363463356747271243661264746732635141255747634437713571672243175672616257643273641167734145354114742337211275257263235332144424565511271271415331423144245566634474411275226526357461555211761371416234723344152715752247736133644234523727224162544437437737213323455726436514657723653525433442674164524345422261443464177113757456775372741757761325474375342174642151724616364363722236431337462576647726644752321233646661335452235735561653755575132465215653745315753736173537232367676363534155347621225467452365143666621774427256267413421324627153612611221733522367521322472376455325216277431336275717244154466115526213133135533221612166232733312171171253623623673177462664662561545353424675163247176732317365316622153412725216166656757673111542646177766354167422326754742715266543212534622532633375461366554325546466155721161161426424161461714557334676662667626347443556546661571751514462332133564536351616743537357614634716754125647471362544366736316676241442173542546467513315115452263724174155176644313521371543737236616721225756377326345271464156736575314776615335146335441756346666466756614114567222634721522377635517146446773512444713554663544762745376655173735315551626767344217635412776761426242233526222532562223112615426111273442241261136325374252673574563525416474215516236341425744167131347654364734334657772443642522436113437677732415354277531457562341411341231266622711451215142145173126622437316457212221472575155346227367765472112271731165663366677473156615713772573551334332177516111461266436673637431753657327771744157662222472434271445264154657332267267126237544567774356643343237745644455121544431546427431743437113231637774124267527267233444342434225162263457376712622765366222633121234347756347511474273512645646446643537351771145234253444676242723765467367341631755716446257126322737453166647614212745352733552625657645526417577663175765742771233126641251125751737224665554567671432446257622774463731474632316126263775444531647642656716734336244231642712646522464755645251564175731177353123731135567354137216456365263242213213541243343232576322517771721212455266412574641442427365456466372517336473655461427336741355714155517324456122654454737754442627175576134635777134226162313465144513416546713675714471526532225565173446716365544773722564665132511723323627463537776122257753121663112473316357246721635623672641646753773475311157643472452533326764241351776652545774211131367634245162641425566745133636734414715412565376652425737217752121461216332761343455745465453342377167613556477624116544156312417125656631441177215736134532442353116466472251661342244515651553653466213377366212323444676753716142652752675463363636714356536132364251145554162142411733555165764376117635713614654624651454152257167727266246371433727154436454337776674415125157351733266771123512351467266453155757264533525563527356242776114556562624145322663315617156434511335416167321474423711663226674426644222243762272467245466723333126237421624634742634362643263454767426267647733163462343331663232661566242232217535452662446731625643534444644564127755111651737223446777351416617572273765531542753342147155735454661134514355222435636332574242325176524656465517147641517223122321643235761331214757727616717122775227663664564151643573442133227536263521666253334352315277216236754274357164264562472216637347114331635312725354213471743664465715645375245742167175161236564733216623236671556253641633456632647211522176124436627552577457313223162251557171537474433145765257333427373272242162322525113375221362261476377555476537215235636652647665212234642312772512272536511256464575241162251177266426767774347567251256141746664275761646747565471475757543326515714145626565774711376247457327517662323241447717614225147741717473575566527276636746342223111725753221151565337223744665143115477621675442174513555231634214441327166471517635612322152442574673561221266641371237135251326453731742537311211771771215715552142113165565653452221236527254135335511367524136745137477362474124465463322574165647315733172453117533534473767443163564161215314736751416474115413666243233531623425235742157517643444457672652661313554461316163114541216363232237464127656532532154664477512433141222714534655652716335775715217721116336673355326126513773361257746461227352753354173147366151154617622424521623712215222526573751621752171133331221712132661756735517714577777526615567625512363513471537277156536252623462365535543615334711531144735343261641164324534223755632212415623454451762134524576256146276437562627615165237576371272521431176347725273624341657647716546536152721431517143127663334165617222113235754655134162315413253642133143417562244523751267274265447441651324431562554643537643356111143765375153175251223255212113664153317164164666676713411366345722737614112265735523633651562252144674274113665334514656624111262342631242277427746323262542455572634745644373755574562625537374266331162261555713336377547547653313161274721516527346117734626624122617271127461324174167236717476556255357713724121277112467324142466261631677172116775633442743161474434313212121567237263355543457577275416475421133741144367524251167576135344446427321646366473556475266412726347266242665424466235423262251714472275151563626236641746651646154263545513544454717753317471753366312747213325626461622436223536337311226331717325264326616131441161151773551453641347625471242347352127362276251754646155676721423434332426731726457744223672632162462324124166671364766745725122235357456152422445113464655354246743415763124757536564241453644237545731222517357616272714761311735325346565267147636627713713113335736472161772535164563151131451134461547314554763136311424256151214735666733476477217241335237725221656456565122712573536126716577364676422631771746226527215735431717422554653427236767475246471467371436511622522317734247576613337352622672523523463616553213234141327415334576624172725715126432253661324761342436676366546351463731537174725167526125666274232272155734326612531432665414775724126567276556426451317755224615724643332176517323243125337667256513513421261763774753373261654322353512537675643737357543437556673644774631214254172535745417366551627767777162567642115453371223765451357755121752643175124213271416411173363235371357767157465213524313616622351255653557364562733361422253375163655677624762142167226323341636611346775362245453143744765527275272571375421135136372471742657256123643352454664564631472435142641733737643216334664433646147272742734511776531666316342643631724675245733553536436742723755725274675165322362273574563736337745174577711135744771344637452123372626416412163332363724436331547472237656734756762233563414237666552534376474242252217545157713367231557414577415515456631571526246213721366324564771353377122743533623451251676264116116115251234263427542571164462172651145257363535356473371427624556552346762324546155373322771123675772345346417365512523617672156633536253621527767246275244141471624426475526425136745231513347227541177646457667232744565511321244233617422217177241426145644656741371727135615331442744477643436436225117667367323324434115327751362757633332333552213321723415432476156461513536524723565733344453266724542514336575754224545173366135251336737376753363414214427773427227513417362366536245354743252764632673471526376762466752756722353242451227634422635273265556753274111631561272132651644112674663142622657664567622455155713376453532676334611342415662253457764214243766434237155531743751634725331635245537234565536124656245441523714456176344766567644245772521712124631432121446411574343415473555235757236267527555171232646174364751461277756473117277154633241633452366233571651565542632125676123746632656613447163745727254733734464542117343731324513217473653111434332336536437756176713747245267412313145475442741326563316774513641124361773744563412612466635161657375152345513742122747422171153552364265714717167341772276753226122345716374167763752646413475266312177415713656721653513723241146745753441415254231456551562345147314646674261551476241266111664314645212527342471772765375353472533253172514721517556273715722674266474642713761735342517212341456173237327513575727647635752576153465116537174344227253645562276434212754431164454161133671517457547733353456514162274432477232165656173117765361457662532422627374652167535752164723263334265263355251233425374775212412527713227533523162562651246356425124315355537713131274717535144425746241661336522436716656147571744336414427361221566354637554555677437651355344113735167535177336257134751254552724272742226141655545612426542621731124714517653126664725476357353332533171535745373444171524456451421676456227656613777147252726556615242754716366363344252341665423236112457774432633125726774226416716633623253125176567334645255144636765251257656272624257574755335623417272134643772177744131361121156146741273442441114415241722725471273712226437231446137631573237126324434744547571154134671674673274635716352776673253341325452771131321223172557544165615352221223232322321543226574152554465555567561627462673422524646112536754673454267324335475546144264562121164257152274512255556244312464377464376215453545777563111136453362461266422643337755256256561116222717321272574261754346125173415553555372527633521142623322657132157556525467637431663122157537732666236644324266124373475135521454146677721324625745152544363135431767657451612353555511115217627765427354314241264734522232111774425147451562417571142244144622233444151637745512563456731112772715411471144562617242714772666146374313325443534225166263326172436137141572634723432725756636776676352117262451661743235617264721546546454316352225446124532271224767523641255467623472642556677746525757774517266415366412266642211776443513421736432763156422637676233451611571114367345114166726446454442467565613537725373242575133254467115564644333742756175456473511412637261612155147656161427645573456152213367564426212241714431763345435432477537125221716326114336151314443266147351326721526737534334676712366211113454436371221343617257473261262416146443234256224211147235252162743375615771522632614326643747613621376146177757627242623664523614611464741636375361241234556534164633126167414112224734361632227677672215143234443714117177711746675523275327651626226175174645475754243464126115624314511662411675767235437725556156234711121755443143454145567375765165645632154455612215434261634312574234241374732131363456211637566151542366652132645173723574442734651776642722175375544173434314661656332471557114556135165215453231751661623323546321525213747261733177631167213534373763155551543622573561476426743221426663624776643161625456221432543136167454747325114646245277322374277625166515125257163317312446536265663242721233131366167271523136573614555577751566262156627632471637272626664642237114665547475347735126555116771471556277734237623312756436725752574163753346115315272714373545614263255262767367775245563616345753246652535453247633366344267452465732152526513263261524133745172554551617537555742623223426273357473251773625272353562513373375114326114153442544511651755774254353652264577443161123667334447564552645764635111667126521753676241115371443121616667446213267652642166232214372657461251354232313271611572676761576561613215114313263237127665632217146334644242437451332227451551332654235322554416222311153177677755345677722131552452254434211154367644315466433345353673712166474155555714334331153142317466125417254422752275272253412327627147732163145255442655615726776412354447623237473331766445135463365426357663327457225541321754772231156712724636345111612756143363366636135217521227357445136134437223575313754663561212464366427411467665632115334154167215655565573251612712225327475324176542261373153222413642372531117451546363377416526557677537517252225532756414736471361211641535455777152613715525641446422255717274651737717356512325137152322732366257137552321447723475526666572216616353452215275234654242561676256171325334521232416777646525321725726347421412547217171641242233612336765723657665542333347432462662257437612365111741362212141376212724414513761562616526727527125217545265234272432211577422323641514277662711122712736567476452421515464342141221163636363227356176633734147156665127456765461357611673276752537216743316753557515554741615567457721342624166516751335365531444135737126274735327452657317223336771477267432651513561276267417756673511243321256473217775723615564723136146651517537427616656323564744357134153525534263747356324611315725471657173416653357116564364563273735734762534751441765311754743245417774624276112117335472776167515354443732333523223731137413153551662234165314325661651361373426414377473613234563345343172132642146575765256324346742326236367463731524731561764566617327156662165614257313376444772774416262445633241641667511175145413776612262464447214152631433643117656564527142552144224135366365722557726622567653742223421225626563232173247612655165126121552235246425421171266542244523557462754563214714617451344413667673561636226525675312313653236666242223514443677337251423415364675764245456635657363174332657215663276411253715431627723175666344341757774144554445317374153454557343227573645376517236611123467222413142123541476116447241465156264267162233742541374716122536144242245157322365173461743163666717674376171724423447313522755335312421271267477623543112757452777116235721651322565643515252147127412272244765622353374721222671542536622226575612116217277154225345627126463143724542331223332136515266724375365421321112334514143551431535152573524334534155356511323163666515734164237312535355466444721566732317772437571213421235474441211127766626644442673725255366155266634473136262347311773236633326672226471716737651625627451657337426755723313265726575432274226637422664112121527147657576215545576434512714553436113147455221445367435673747263561564516276137535356515177565511655775472274125422272456122372454124353467556261355262771627732434531565427735767255154234116127462216447317565271765175453354767667421132157374362566112314573251277752637346742625375275524547336321264617253322121336157233155455571136754273254714561573516143317313655252267555113732257554654353347732257673163153247223377423656441533313566563714475674434671412255353322145113432216322476416411636655537337542531342277747357237712264114656521534544425342152522725123356137677324455166742113754564561363121722355533426574572725363376475267374547756376553644147146473112726447145642216447521325652261157663564731246561332332526714717665114516377631413387374457665652877883566638671818736263138585783572747411367367241857251121588746821651777524437423238341388273764848826667112753266181128836224517488165866152367867868853564824653558246742877664461455612113467633647322418266523557127227455227472213443358811255856767513125763874227454444461155633583785372668182736261626623275434724342417316481116267738157681162486536467116126734516522372377537271726537238812362823241368122738822564386277314585718835747821712868387125745284675567142734814111831632215625273638443625115425518572683264673845778142542283644582751166444637326221375584757226382487132515336847175534811632351488212452874578376838328372417446356582671237165657578426656411135775853866663237875726473123135614288485152374162653382513715465775634238366664738167227518145624276588425273555452274134837488716455416824268714822324617456337873423114431311783834485241763561812223655685764156486811886343334555721378755252811582581224547883464482467883173233372383646436663123358147355667885125378833588811235131855422311712338332572462574186172524644635757771838175234533241482766238624583575483115468673622787422373732188537838465333585774525654836135178762628242512178431115487111618575656562722828762762412212362228684442523615572667817127245356235661722173531686476278183528242717778876248317856664564725648728586475118838724472737221774665624362762664646174257178156423875322487664137635252858754485774315444211623476182276152411877317742353324662362478175225213843626742174441666714612223633826278753161414461141421532714185723688885135463566517652732341722272161564121367127774866181262378476533844861663551846555663781748482675263248484578234781178153882258666881838376218578576572771185853552544463183141817555633632237473546173382586576332784257361127362861388447185627716322147158776173113846656227817538634438416114314588354865655517461723654454775344261556123663421582766212678213528564376543774734821531687618861827345888376651152114174844731723556146864648644755253546128112356161657122875451876231733643767464531332431865153666648813281136471413645642246513266167476478137167433886221761276773522258262868612812523588516384546662677765635835176346286725271746114781353845444267776458176151652141165351814322188635533237384487484831821442541413866278118447277571562515658618185624524458366124172232617567466137488734651453751863233871636331268142527553738735248436488222237143284848332214627561318222434237456742664874356213233255387612556231317685221732154368787658714436456235747721825442331286166418145767342123224657871888585335241626441552763237126125165587222273737773868372174685382742553761143722127845244523142225362547653834145738444785188221646712666858363846771251658561545325472166813387865882856824867488837134734153741438534225513352345157431835228253115526176312536132774866477413613255763483646348436723452382552867444683857572524285532651726813647116482258311728362437518218463273722836756738665818658568426634825117783466343833788645676341632232811257772164443326774517561673764878666764217438126466223271456745612477788532533268871287344827488536416358413738627736551853782654384828851233114776533537716862381682677681881377832274864651788857125774864882784812317664643537441827415714873364484351624867612613544124412737266582553848621771234535875157764424568754635613626168556152737368625582864434716413368164257174846585682135415145472378684482885544113316746352788126875335424867367687362886175876565287638125742512337437235633478887651552135276318252865437665555321366468887527533628253828565186124651658412254536442644681281782267333263378732475548817126116223845262588463511164155756556278463888148875236233637224768576424613616584126638883714281147778248418157468133832213522525383216147843778673875285456517147357863656135813281611245785688425222476271671888161174564133165576634343311388385384641153458816568883233253272612175171325215852752264488617867175574625236722816124453433228826565836458132322833367511722723461853587511633725152713884165412416656516568741345536725222752882667327865758774436117538615784151772568144132465165727677257653632887783285332737418276182757131228188317732824655563262347151262161881763854328766173327123138246235213487831716425746547742655367878227811882633216751534618235123834635724876287763736286128522714266648136746523785415116157237554328232716457737377778474287853474386466122885623411348767553781228866567756327567583468324584625512258834556413262418331781252612836721275726133373216275281361453235243634336554865583113148174486811273516262658217417612511848531647887524778688438218451454317362162823381358282222157183523351456547777713623834148747188424461124712572854246541435234166513514884243337642485437842457118358647253485251388743636762562486462276425132151834287864132361816134765367463566875663275312383115472118755212781366574114334534172272156666746773531841463726224332446214777465628613648121632154217727286143514474648541514618228811721424674122486341412762674674655687155556685331461546615163447116722366835567514557228635868661342467161626466822634516283161184242847118655446518868578875884317413213167512263258126814483824664874381142367573474174423715272568887813138776224522154334742888877677871767478831136468844143832788586663421414416153147442644723662438671721251765268814167458625858736717723788415385683437318885767447228487438867537771511488865618421361213188743521661621616277228255265565448612667738781427238244661326752632787661541582314327684725482554643411554523644165744325754821374634678131485782365786373764712264532434563142278757475653133348682844382685713677536182315538488573122271651138772471621263123861262378355457335473444552753158266314338764587135378734818224132652274152511314742624114825427584612117257378653724224525256815365566382121875257568821435235652318837148136652417318443855531652544347252726856676622826468434587123747828524372844135762624263865258841712231424737314465773278684588568782733215835463841257227566433312474784386833227243155712454674832312731423734557753334568836428558633664847483277511856758482446328575171728136777763447386432153821527588483261847272111653758151212851888215288826226272567463473577566477886787418127364111348586343871668447277281826327342282725114171125733642633354187316487888316417871245417644243863612412332862658774324177483688151281333421585563884383242411315335357618657214583833246476417141565335282122462754177625355158116638258351586662168731366762773445351285245712118872117675753186632641364744844742142711375585257422447823326781884274213662276827263854275855854462773148266758665861377864468715173386213788655242261156483373772111621188864477615611341667845145116215182541311761884851654257667378777132162147137423477784551377265168265468263814343122467485222727634261186376711122257817528681553861178616477478614484246125162457455336864613563122436147644778525247744214462663815528374652514127782223658735125566584858111422382423677551152617356742653684823164332186282353287763137316688885427526336462671556751571248147578431154611867823688646662565333265262542537321678544211356778185623766838651628663184128617616267445137813165832231533513363871734337137334727131184344561857831354156788361163172415762757641666172651577574882133628784557634332417555324613815266156412264587747583124474665372876527734284867626127465833451558311174413788561262817582736782623721251441386323413353435124375556563616635356517733166667185642317568232757417271586253853426556413335411241868827533827251725555777427443538431273464278261625383135878232164173328637554625244557145857154552773645481753376732535121725261347522152246464146388781863478514355561674322725445434422658611145582558171253616248671756626621368424423437617422371455136687724665217441221153271226628387161436146771712816225246718647544586282768748138642265845728564823532617672575558665251632677168332482258327763738345317466263185235341372157331264685542258467172525543748562677157512726653452513266441386554368128281856212353568223242787334235255241751186343264478567381614328743727826542757385252871152473356538321165251871485673677725241784635733347335364732211872586575847521744576114486516585744412886747723361861318168628283633733416378515513533538412321674866216834775335587842772823172467187672158573142835113214412548347215311267462554155465725168813623243258816252567114575173863234447753653368525335673382577712245822286523464886465684742622736327436178325715442821384555637368212721642323766857887343716543453534518731116683572315575238464727277151251728166286654366223684412226232214121631315632343512843254766176477442462834257418613828385884532476523626132763633124843433785133675846548725188381675827216718166551224186685524572163883563568235346655324765223338627864322244667333764241663885856653275388665487774288365554141625833452327757635154871436831882474638751646418814312444136125354626612665315386626851354165582853523788328847521215232537286372544823744738571581223366175613766257433815764723734152658221516222164355732213576872157168128642747263645765223711825623624577652467643228631811112563734382156314167388253253353411783222427147454273218424648188167378522335161488718641115814711647581623328357237182283673164137776757178114737636746114411713582266874774256821614315645726165272768246663354324745328782487826283127774118442825446325465356865276854355388471824655282627314832526152572428412766385557387671833537775826756834563227846614787151738321886588845256141622281885867788878537432147642723832821516385373236868163747128312583543372718222718615888681521661834352432443523474173842113161163587631865236565863266366564571738582678212757345552377834382364234482312476221665783586125252664113233462183258648187688224372772185432541756621528378381637715114547682766447481337257221811411855624782435264216122744734774768331711843451771572655138416773625785778124182148324726666345526185563464873177118481256782343852417654142441241188115774827213354128433666672671671257548351675176838285753821878884748674643241833742426628716616171847422635627112244815775445153247878242624524637127586241645151757663734275557351228733787483467234427735381226237111488238465378631413142154666467416428365783655616111215572327168611536115372842542562128242847717851551287373436573675688774564351315324242474132418867746283627647261674723335465452235754125778686654146368815441663247658236286752265782673236283517363385815571786376544766475736563782372748828546281666325887544723142235226161681656477866621212416528131636785761418385857167227768673645425882142861455253874651637883434834137224258775163447411381533835337158465443848273833152115387831635673226412328612816216646438482158361811142113283814567211158355272363376576785176443254268284612737165623383881544751276185455538445816345534577154172671235677522123646288646442748817821487341452625344217743136827628657573537688233543337531322183858716158728632175327161183382586467263145817116647444554773838888836245788888853317753231423661418868677566533753537741782257287274152718452646881674653767687415811172826181771757223511368118688616787516575551362622657558427387867627475831866138384148872711586358186578565377216511417577536363262731676314124765725663435252468542518331642228681256418824251114265187152363233247777778284385612211125243555761547425344763333454455868224781754586221586828254588186817377353722433473164881448357848776513774826254452851884728624582242421712427863157146428471738853184174325112316211753681664558757265587287328138124373458714681416165774515418421747273154523563268646187547478454362577838275582455255818656682128276868886445671285675551221422338836725458826846414868171122245237718344236721451856755856162574355278683374321315181575272341765384253471813833432478817132117636152388478663815244134746847711415645573541731345657132736516547212668823885121585387561221775585652543742444483822668771767326882146431564813284452338325247736141673638138347674716747353135638786151153876755235718644847421481185182388164577157122416257386385715834831377183885135651478118678272565583312581184668616626574482547187427566675142813564222551724523354121677372463628132276257521745256324142387558462571315156142656377783822766613862882486211366884663864141712187276335145162652227424827888117726458153558734845676268867767651385281455337622271886783561435454864818432383421411278435468814482772635754185145153886543434763842214678177682286586241473751254365633532381528267772728215221546118452572533458336427437848883513447586648874717458382175164324657416171168458284123231636257523464162267123833444656738445386533841156857242475851533566186658143157643557615281243581288764768164837273843552576835845732317214586325518855123615388762882613152673244238631811438316585656852221444756728718842762421185671783746222783773666843185284652732125636726184351844253662136311412864545244561554178345558278221316752375733787285221665583514544228346821288827538586155315658161815686616587341288784324878776876445115654478487477718387275763416816472828768516376316134511851541387471456316844565267527513567686434468188673248655427267534383836373273151464331862677431858243761277483438852847116758845758146154883235222315216782675251264768257572183224734413571186113578415353452673156586744844544783643267413561875534217682146425688815655113181643163833136668347237713314513567774266468145868673553783243511377684331244631618854233457617635485727832385455341653187767531178551443573127543517817674536544581534882283856217187766228763323375664874268888688465176153375513278566873762731676274771127568776643331627781857566144145713671354577648437423368863366856225251617463315156373261486172784328378126346742468775725423683124842753476261316374755316666867353437675382323841336756423118834266834453675868882567228421313621413758226614583751562423444725756132843613162346384435778251635338433684881224753285663677651374236485784715271411166335211237541271668148666616614446856868633742727622577258828353847635517872153725863777661585881653213881285466863342117157646622832332341877574817117723577248332554687676434724524315653476311455824682335626168518164412133167651138352733431371286636738145812814738812355373312864547452842132415485521148468555118744847141281631372386233178578554847742761833852181613121868724228883268253547656627828815787318217424431674448212883784363183813654287255581511681868315515815261678484854814164151881442832557526555841341746243232365468524365821524547622335557675322263588182143486358482146724345452612611714143668527722483836462642712772276443314175325517354427687765173627857455876447263614463358756227813648246771516767214438324835726171884663633418238563514886567275264631813244156813253553218826434786876281585286512766176177622111788417567176636823522328181281368221866664347138371413322431457468465132465267186246467512556384231633868485385818545486552271513565852711431821765314858177137384771151183174251682176184787536814818828226533682718417877631321622513434277446526466354126148111251413822655317144668261764674688748131285725521886714771257527482414423184546535315673687541388438762161435177518166446281228252138235367776536444277786727733835757474252715558866645326188383767515831211655542215637436355533373775786852416626271823658212441727316882232783421413767687732714544233345425666716174743535716261573727358735416214578732312827866347173855515225563446566768555271877373733444881344882567433142148766148473773816385443285588683568364212588778417853262621678845862373432418348244452533582475862188343473317322656718257386773883726164484226382863877617375664856553882314833238427277826573867524713134436648571388281747134885365567811664532652561544356645263628421576838285342386622375882253114152745654278417161217687713113527683257676526324334283863263524383518466127658172481676813355674144872573347256385364854278656151547685821735454871366674558354317266667641275663618367733657278885662435553121471326188354263162537762326637665686315332647844216874115667434184634356422225635323634381144543815331863184656277551871874337627242347546812531375463451784555361484347838272228655881868324842881325117826137883472577418883172113524415128717156214844734132343584834535416212722215678182225465767322752463554665333232353881476217373538774252674187223512548268887241127543611118732172336243232846847682153163145253375888212485171758155352555261417187827257655631635252326734864663464378144527671286327181476754181527422873641658381181137713213254816184457423452451463343554768358857383145371525562885241536552447366561187141616785418462226351176743743656626385736673884528637312675841512332714472661123175725873467527642732368445547745326714151713666758876821464248761442856836283867765457484828785731825527237524311845685176855537531172714556176161638246732375137135225661368875848853535754356161572247265153656542784368684481458563371785151614774211171528554411738727323483761281387348214644627588331568746765884628638183565324256213287764353634586486743364678411628485722174443272756173452482453312773881334543727426662711845265344543665131312244711881874411134487655257287412772761758288282531485822631461547624788617527671721312464412455227586457318176157177234664728332181736556454268867781256637552661743488134541447226232884658725788237142485538351864153437311888713616745387323311615147778767747117672222843364344748626513376177745856141467782275146686824622485871685632412528133782483854183671648222452524426685744138437686661672727168411161544146878748425473655452383388354657346321252618865411631858784258184625632882777337481475354771678141613782878612441477824482458363333513681551785733624153288125347587756722881463634231448342765535311882171127371784747663758412843832248241877157432287473424517781814738726622454573321652122782782364256727854312533688781168257375781462256576638188877875781627286233357815577477365253632683413125341132578336153567731881331533156251317241746113776775718852257763784617672372651347727613827615874345123342416431223873265135533857468783834576687886213616258554381268453721578367878358865721248356212473431466255171166548563488118356581636352751756512457616516432282254778865841682736516257711128234513588183153235875582362463375745184883287421117556684731158533132521748671671546215587683556758812885753822865585144714258734625714388671767336731322636511862453772648725547232253325165152216475558432175787813244641246456114558512618277178383766771425135572432682528426346523211243655313446515666517333874284218464884337878445215837225634144881371613582445855447268632136435453434773826412146753725827551186448726117747842536717388254253786667377153746818578328234548838585433237423213161182824368252121653866727137334334525842767868134331812614537851313716173771673115115365627424544734433711767167667285766517853435777157134731686426883643448672258864666151128751458624857735141846414128121185131182487261664667418711622622224324453268236613443323374545657178435642665335568711137572146755787362437851417377371138243827487224366252212838666761684875725536853568688772657335384672353715481747616574648572111478514775324388158617272138331367227685226546452423231343365382123772383846582734146161386726827285324527266448743441568242733543164425343876852285243266341514712353776164758878483618434484764888376874458346286556481738225615533331666581328865514587418168533755722461582477848487247145887263644781841177872722535338727544717286371378166347481833714567848667485423321844674666846483277154783334665651137485188738146752231464731485487247646628533217432467751788437242826577431742574631415484336242343881743726865347477836458164217486461652448873621413248155465225852836262158321351665571126647234326133237158184152518511364176428122335131838434584445462871522433655267251283542176533621663725171586313322676774436787765146554613343565733421753532327723477747162438812243228462513475633416223455345458762617757286658888521755478824881151746655322211152236664666155252235781422532546758426873587113225615646781844528561258417217438888463242246587444458388111