270000
SBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCCSBSCSSCBBBSCCBSBCBBBCBSCBCCSBBBBCCSBSSSSCSCCBCSBCSBSBBSSBBBSSSCCCCCSCCCBSSSBCSCBCSSCBSSSCBBBSBSSCCSSCBBCBCBCSCBCCCCBSBBBBCSCSSCBCSSBBCCCCBBSBBCSSCCBCSBBBSBSSSBSBSCBBCBBBBCBBCSCSCCCSCBBCBSBBBBBBCCCSSSSSSSSBCBBCCCCSCCCCCCCBBCBBSCSSCCBCSSSCSCCBBSCCCSCBBCBSCSSSSCSBBBSSCBBSCCSCCSCBCSCCCBCBSSBBBCSSBCCCBSBSCBSCCSSCBSBCBSSSBSBSSSSSSSCBBBBSBCSCCBSSCSCCCBCCBBCSCSSSCSSCCSSSCCBBSCSBSCSCCSCSCSCSCCBCCBCBCSBCBSBSCCCSCCCSCCSBCCSBCBSCBSCCSCCSSBBBCSBSBBBSBSCCCBBSBSSBSCBSSCBSSBSCBCCCSBBCCCCBSCCSSBCBCSSBCBBSSBCCSCCCBCBCBBBSSSCCCBBCSSBBSBCCBBCBBBSBCCSSBCBCCBCSSBBSSBSCBSSSBSCBBCSBBSSBSCCCSBCCBSBBSSCSBBSBCBBSCCBBBBCSCCBCBBBBBSCCCCCSBCBSSSSCBBCCCSCCCSCBBBSBBBCBCBCSCCSSBSBCCBCCCBBBSCCSBBBBCCCCBCCCCBCSCSBBSSCCCSBCBSSCSCBBCSCSBCBSBBCBBCSCBSSSCSSBSBSBCSSCBCBBBSBBCCSBSSCBSCBSSCSSCBCBSCCBBCCCBCSSSSBBCSBSCBSCSSBCSSSSBSCBBSSCSSCBBSCSCSBBSSCBSSCSSCSSBSBCCCCCCSSBSCCBSBSSCCBSSBCCSSSCBCSSBSSBBCSCCCBSBCCBCSBSBCCSCCCCSSCCBCSBSSCBCBSBCSSCSSBSBCSBBSCBBCBSCSBCCCCSCBSBSSSCCBBCSCBBSCSBBBCSCBCCCBSBCBCBCBCBBCCCBCBSSSBCCSBCCSCCCSSCSBSCCSCSSSCSBBSBCBBSCSCSCBSCSBCBBBCCBCCBBBSBCSBSBBCCCCBCSSSSBSCBBCSBCSCBCBCCSCSSSCSSBSCSSCCBSCSBBSCBCBSSBBCSCBBSCSBBSCBCSCBSCCCBBSBCSCCCBSBCSBSBCBBBSBCBCBSCCCCCSBSCBSSCSCCCSBCSCBBBCSCSBSSSCSSCSBCSBSSSBBCBCSSBBBSCSCSSCCCCCCCCCBBSCCBCBBSBCCSBBSSCCCBCBBSCCCSBSSSBBCBCCBCBBSBSSBBBSBSSBSBSBCBCBCCSCBCSCCCCBSSSSBCCBSBSCSCCBBSCCBSCCSSSCCCBBBSBSBBBSBCSCBSBCSSSBBCCSSCCSSCCSBBSCCCSCSBSCCCCBBBSBCSCBSSBBCCSCSCSBCBCBSCCSBSBBCBBSSBSSCCSBCCSBSSBCCBBSBCBCSCSSCSCBCCCSBSBSCBSSCBSCCSBSSBBSBCSBCBSSCCSCBCCSSBCBCBCSBBCCSBSCCSCCCBSSBSSSCBCBSSBBCSSCSBBSSSSSBSCBBBBSCCBBBBSCSBCCBCSSSBBSBBBCSSSSCBSBSCSBSSBBBBCBBBSBSCBCCCCBSSBSBBSCBCCCCCBCBCCCSSBBBBBBSCSCSCCSSBSBBSSCSBCBSBCCBBBCBCBCCSSSCBCCSCCSCCSCCBSSBCSSBBCBBBCSSCBBSSSSSSCCSCSBCSBCCBSBSBSSBBBSSSCSSSCCBBBCCBCCCBCSCSCSBBCCBBCCCSSCSBSSBBBSSBSSCBSSBCSCBCSSCSCSCSSBBSCBCCSCBSCBBBCCCSSSSSSBBSBSCCBCBBBSSSBCSSBCBBSBBCSCCCBBSCBSBBCCBBCBBBCBCCCSBBBBCBCBBSSSSCBSCSSBCBCBCSSBSSCBCCBBBBCSCCCCCSSCCCSSCBCCBBCBCCBCBCSCBCCCCCBCSBBSBBBBCCCCSSBCCBCCSSSBCCBBCSCBBBCSCBCCCCCBCCBBSCCCSSSBSCSBCBSCCCCBBCBBBBBBBSCCBBSBCBSSCSBBCCSCSCBBBBCBSSCBBSBSCCSCBBSBCSCCCSCCSCCBCSBBSCSBBSSBCCBCBBSSSBCSBBSBSBCCCBSSSSSBCCBCCSSSBCCSBSSSBSBCCCSCBBCCCSCBSCBSCBCBCCCSSSSBBSSBSBSBBBSSSBBSCCBCCBSCBBBCCCBCBCCCBSCSCSSBSBSCBCSSCSCBSCCCBBCCBSCSSSCCSSBBBCCCBSBCSBCSCBCCSCCSBBSCSSSSCSSBSBBSSCBBBBCCCCBBSBCCSSCSSSBSSSSCSSBSBCCBCSBCBCSSCBSCBBSBBCCSSCSSBCCCSSBSCSCBBBSBSBCBSSCSSBCSSSSCCCBBBSSBSCBBCCCBCCBCSBBBSBSCSCCSSBSSBBSSCSBCCCSCSBSBBSSBBBBBBSCSCBBCSBCSSCCCCCCSSBBSCSSBSSSBBSCSSBSSCBSCBCBCBSBSCCCCSBBCBBSCSBCCCSSBCCCSCBCBCBBSCCCSBSSBSBSCSBCSSBSSSSCCBBCBCCCCSCSCBBSBBCCCSBBBBSBSBSBSSBBSSCCBSSCCBSCBSBBBSSCSBSBBSBSCBBBSSCBBSSSCSCSBCSSBSCSSSBCCBSBCBBSSCCBSBBCSBSBBCSBCSSBSCCCBBBSBCSBBSBSSBCSSCCSSCBSCBSSCCSSBCCSSSBBCBBBCBBCBSCSBSSBCSBSSBCCSCCBCSSSBBSSBBBSSCSBCSBSSBCCBCCSCSCBSSBSBBBCCCSCBBBSBSCBBBCSSCBBCBSCBBBSSBBSBCBBCCCBCCBCCSSBSCCSBCSBCSBSCCCCCBCCCSCCCBSSCCBBCSSCSCSBBCSBSSSCSCCSBBCSSSBBSBBBSBBSBBSSCBBBBBSBCBSBCSSSBCCSBSCCCCSCCCSCBSCBCSBCSSCCBBBCSCCCBCSBCSBCBBCBCBSBBCCBSCSSBCBBSBCBCBCSCBSCBCBSBBCCCCCBBCCSSBCSBBCSSBBCSBBCSBCCSSCBSBCSBCBSBCSSCCBBCSSBCBBCSBBBBBSBCSCSSCBBCBSBBBBCCCBBCCCCCSSCSCSSCBSSCSSSCCCBSBSSBSCCBSBBCBSSBSCCSBSBCSBBSBSCBSSCBCSBBBCBCBBBSBSCCSSCCCSSCBBBCBSBBCCSBSSCBBBBCSCSCSBCCCSBSBSSCBCBBSSBCCCSSBSSCBCBCBBSSSBSSSCBCCCBCSBCSCCSCBCCBBSBCBSSBBCSBBBCBSBCSSCBCBBBBBCCSBCSCBCBCBBBCBSBSCBBSCCCSCCCCBSBSCCBCSSBCCSSBBCCSBBBSSSBBSBSBCSBBSSSSCBBCBBCCSSCSBBSCCBCCBCCSBBBSSSCBBBCSSCSCBSCSCCBSCSSCBSSSCCCSBCSSSSBSSBBCBCCCCCCCSCCBCSBCCSBBCSCCBCBSCCSBSBCCCCSCBSBSSBSBBCBSBBBSCSBBSSCSSCSSCCSSBSBCBCSSCSBBCSSBBBSCSCCBCSCSCBBSSSSBSCSBCCSBCBBSSCCBSCBSCSBCBCBBCCSSSCCCBSCCCBSBSSSCSBCCSCBSBBSSCSSCBSCSSSSSBBBCCSBCSSSBSCSCBBCBBBSBCCCBBCSBSBBCSBCSSSSBBSSCSBCCSBBBCBCSBBSCBBCBCCCSBCCBBSSSBSBBBBBBSBSCBSSSBCSCSSBSCSCSSCSSSBSCCSSBSCCSCSSBBCCSCBBSCBCCCCSSCSBSBCBCSCSSSBBCSSBBSBSSCCSCSSBSCSBBSBBSSBBBBCSSCSBCBBSBSCCCCSSSCCCBCCBSSCBSBSCSSSBSCSCBCCBCSCBSSSSCBBSBSSCCSBSSSCCBBBSCSCCCBCCCBBBCBBSCCCCBBBSCCSBSBCSSCCBBCSSSCBSBBCCSBSSBCBCBBCBBSCBSSBBSSCSSCCBSSSCSCCCSCSSBSSCSBCBCSBBBBSCCBCBBSCSCBSSSBSBBBCSSCSBCBSSCSCBBBCSBSSBCBBBCBBCBSBCBCSSSSCBSBBSSCSCSSBBSBCBSBCCSSBBBSCBSBCCBCCCCBSSSCSSSSSSSBBCCCCSSSSBBSCBSBBCSCBSBSCSBCBCCBSSSSSSSCSCCSBBBSSSBCSCSSCSSSCBSSSCCCBSCBBSSSSCCBSSBSCBSCCSCBSSCSCCCBSSCSBBBSSBCSCSBCBBSCBBBBBBSSSSBCCBBBBBSCSBBSCSCBSCBCCBSSBCCCSCSBCSBSSBCBBSCCCCSBBCBBBCBCSBBBSCCSCSSBCBBSSSSSCBCSSSSSCBBBCBBBSSBBBCSSSBBBSBCCBCCCSBSSCSSCBBBBSCBCCSCSBCCBSBSSBSSBCSBCCBBCBCCCCBBBBSCCSBSBCBCSCBCBSCSCBCCCCSCBSCCCCSBBBSCBBSSCSCSBCCCCSSSCBCCCCBCBBSBCBCSCSCBBBBBCBCBCCBBSBCSBBSCCCCBBBSCSSSBSCBBSCSSBSSBBCSSCCCCSCSCSBBBCBCBBCBSCCSCCCCSBSCCCCCSBCBSCCCCSCSCBCBCCBSSCSSBBSSCCBCCCSBCCCBSCBBCSCCBSCCBBSBSCCCSSSSSBCBCBSSCSSCBCCSBSCBCBSSBCSSSCCBCSCSCBBSSCBSBCBSBBSBCSSBBBBBBSBBCCCBCCBCCSCBCSCCCSCSBSBSBSBCCCCBSCSCCBSCCSBBBBBSSSSSCCSSCSBCCBBBCBSBBBSBBSCSBCSSBSSCCSCBBCCBSSSCBSSSCBBSBCBCBCSSCBBBBBSSBSSCCSBBBSCBCSBBCBBSSBSBSSSBBBBSBSSCBBCSCCSCSCBCCBCBBBBSSCBSBBCCSCSSBCCCBSCCSCSBCSSSCCBBSBBCCCCSCSSBSSSBSBBCBSSBBCCBSSBCBCSCBCCBSSCSSSCSBBSBBSSBSSCSSBSSSBCCBSCCBCSCSBCSBBSSCSCBCBSSBSCSSCCBCSSSCCCBBBCSCSBCSBBBBSBCCBSSCSBBCBSCCSSSSBSSCCSCBSSBCSSBCBSBSBBBBBSBBSSBSSSCSCCSCCSBSSBBBBBBSBBCBCBCSCSCSSSCSSBCCBBBBSBBBBCSBSBBSBCSSCSCSSSBSCBSCSSBSBBBBCSSCCCBBSSSCSBBSSSBCSBBCBSCSBBSBCSBSSCBCSCSBBBCSBBSCBBBBSCSSSBCSCBSBBCBCSSBBSBSBBCSBSCBCSBCCSBSBSCSBCCBSSCSBCCCCSCBSBBSCSCSBBSSSBCCBSBBBSSCBBBCSBCSCCCSSSCBBSBCSSBSBSCSSSBSBCSSCBCCCBSSBBBBCSCCCSCSCBCSSBCBBCCSSSCCCBBCBBCCBSSSCBSBCBBBCSBCSBCSBBBSSCBBCSCCBCSSCSCBCSBBSSCSCCCSSCBCCCSCSBCBBCBCSBBSCBSBSCBBBCSCBCCCSBBBBSCSCBBSCCCCCSCSSCBCCCCBBSBBBCCBBCCSBCSBBSCCCBCBSSBSSSSSSBSCBBSSSSCSCCCBSBSCBCCBCCBCSBSBCSCBCSCCBCBCBSSCBBBCBSBBSSSCCBSCCSSCSBCSCCBCBBSSSCCBBBBCCBBCSCCSBSCSBBCCSSCCCCBSBCSCSSBSCBCBBCBSSCCSCBSSBSCCSSBSBSCSSSSCSBSBCBSCBBBCSBCBCSBSBBCCCCBBSBCBSSSSBCCSCSBCCSSCCSSSCCCSBSSSSSBBBSBBCSSCBSBSCSCBCSSCBSBSBSCCBCCSBSCSBBCCSSBCSCBCSBBSSCCCSCSBSSCCBCCCSBSBCSSCCSBCBSCBBBSCCSCSBCBCBCSCBCSSCSSBSCBSSSCCCBSBCBBBSBCSBBBCBBSSSBSSCSCCCBBBBBBSCBSBSSCCBBCBSSSBSSSBBCCSSCBCCBCBSSBBBCSSCBCCBCBBCCSCBBSSBBSSCCBSBCSCBCCBSSBCBCCCCBSBSBBSSSCSBSSSBCBCCSBBSSSBCCSBBSBBBCCSBSSSCBSCSBSSBBBSCCCSBCCSCBSBBBSBSBSBBBSBSSBBBBBBCBSSSCBBCBCCCSSBBBCBCCCBSSBCBSBSBSSBBBSSBBCCSCBCCBSBBCCSBSBCBCSSSBSSCBSSSSBSCSBSSCCSCCCBCCCBSSSBCBSBCSBBCBBSSCSSBBCCCCBBCCSBBBBSSCBBSSCBCCCCBCBBSSCBBCSCCCCCCCSSSBCBBBBSBSCBCBCSCSSCBCCSBBCSCSSCCCSBBBSSSBBSCBBCSBCBCSCCSBCBBBSBBSBCCBSSBCCBCBSSSBSCBSBSSSBSBSBBSBSCSCBSSCCCCBCSSSBBCSSBCSCBBCSBSSBCSBBSBCSCCCCSCCCBBCSBCCCSSBBBBSCCSBBBBCSBCBSSBSSBCSSBSSCSCCBBBSCCSSBSCBCCBSBSCBSCBCSCCBCBBCCBBCCCCSSSBSCSCSBBCBBSSCCBBCSSBBSSSSBBCCCBCSBSSSCBBSSSSCSBSBCCCSSBCCCSBSSBSBBSBSCSBSBCBSSSSCCSSCCCBCSSSBSSBCSSBSBCCCCBCBSCCBCCBBBCBSSSSCBBSCCBCCSCSBBCCCSCBCSCCSBCSSCCBSSCCCBSBBBCSCBCBBBBBSBSBCCCBCBCCSCCSCSCBSCCCBSSBBSCBCSCSCCCCCCBSCCCCCSSSBSBSSBSCCCSBCBCSBCBCCSSCBCCCSSCBCSCBSSCBCCSCSCSSCBSSBSCSCCCBCCSBSSBBSSCCSSCBSSBSBSCBBSBSSSBSBCCBCSBCCBCCCBCCBSBCBSSSBCBCBBBBCBSSCBSCBBBSSBCSBSBBSBBSSSBCCBSCCBSBBCBSSCBBCSBSBSCBCSBCSCBBSBSCCBCSSCCBBSSBSCCBBSSSSSBBCCCCBCSCBCCBSCBSCBSBCSSBBCSBCCBBCCBCBBCCCBBCSCSSSSSCSSCBBSSSSSCSSBSCCBCBCBBBCCCCCSSBBSBSBBCBSSCCCSSSCCSCBBCSCBBSSBSBCCSCBSBCBBBSBBBCSBCCSBBCBCBSSSSSCBCCSSSSCCCBCCCCCCBCCCBBBSSSSCCSBBCBCBCSSCCCSSCCBSBBBBBCCBBCSBBSBCSBSBBBCCBBSBSCBCCCSCSBBBSSBCCCCSBCBCCCBSSBCCSSSCCSCCCCCBBBSSSBCBSBSBBBBCCSSSSCBCSSCCSCBSSCCBSBCCCCSBSCCBCBBBSBCCCCSSSSSSCSSCCSCBBCBCCBBSSSCBBSCBBSSCCSBBBBCCSSBSCCSBSSBCSCBBSSBBBBCBSBBSSSBSCBCCSSBSSCCBSSCCCCCSCCSCSCCBSSBSBBCCCBCBSCSSSSSBCCSBBCBCCBBBBBBSCBSBCSBCCCCCBCBSBBCSBBSSCSCBBBCSSBCSBBCCBBBSCSCBBBCBCBSBBCBCSSCBSSBBCBBSSCSSCSSBCSBSSSCBBBBBCCBBCCBSBBSCSSBBSBSBCCCCCCCBBCCSSCBBSBCSBCCBBSSCCSCSSSBBSBBSBCBBSCCSSBBCCBBSSCSCBBBBCSSBSSSBCBCCCBCSCBSBCBCSCBBSBCSSSCSCBBSBSSBSBCSSSCBSCSCBSCBBSCSBSCCSBCSCBSSCSSSBBSSCCCSSBCSCBBCBSSSSBBCBBSSCCCSSBCSSSBBCSSCSBBCSBBBCBSCSBBBCSBBBBCSCBSCCCSCSCBBCSSSCSBBSCSBCSCCBBBBCCSCSSCBSSBCCSSCBSBBSCCCCBSSBSSCBBBSBSBBCSSCCCCSCSCCBSBSBBBCSSBBSCSCSBBCSSSBCSCBBCBBBBSBSSCBSCCBCSBCBSCCBCSSCCSSBBBSBSBCSCSBSCSSCSCCCBBCSSSBCSSSBCCCBBCBCSCCBSSBCCCCSSSSCSCBBBCBCSSSSBCBSCCSCCSSSSBCSCCSCSBCSCBBCCSBCBSCBSBSBCBCSCBSCBCSCCSSSSCCCCBCBCCBCSCBSCCSSBBBCCCSBCCCSBBBCBSSBCSCSBCBBCBCSCSBSBSSSSSSBCBCSBBCBBCCBCSSCBBCSCBCBSCCCBCBSSBSCCSSSSSSBBBSBCSSBCSCSBSBCCCSCSCBBBBBBBBSSSCSCSBBCSSCBSCSBCSBBBCBSCSCSSSBSCCCSBSCCCBBBCSSSBCBCSSCCCCSCCBBBCSCSSBSSCCCCCSBBCSBSCBCBSBBCCBSSSBBBCCSCBSBSBBSSBSSCSSBCCSBBSCBCBBSBCCSCBBSCBBBBCCCCSBSSSCSSCCSSCCSCSBBCCSCCCBCBBSCSBBCBCSCBBCSSSCCSSSSSBCCBCCSBSCSCCBBSCCCBSSCCSCCBCCCCCBBSBCBCCCCCCSSSCSSSCBCCSSSSBCSBSBBBBCCSCCBBSCSSBCSSCSSBSSSSCSSBSCSSBCCSSBBCSBCBSBCSBSCSBBCSBCCBSCCCSCBSBSSSBBCCBCCCCSSBCSBBSSSCSCSBBCCCBBSBBCSCCCCCSBSBCCBCCCCSCBCSCCBCBCSCBCSCBCBSSCBSSSSSBSCSCBBSBSSSCBBBBBSCSBCBBCBCSSBCBSSSBSCCCSSSCSSCSCSBBCBSCCSCBBBCBSSSCCBBSBBBBBCCBBCCBBSSCSSCBCSBCCSSCBBCSBBCSCCCSCCSCCSBBSBBCSBBBCBSCBSSSBSSBBBCCCSCSSSSBBCBCSSSBCBBBBCBCCSSSBSBSCSBBSSCCBBBSSCBCSCCCCSCBBBBCSCSCBCBSBCCCBSBCCCCCSBBCSCBBSCSCBSCBSCSSBCSSBSCSBSCCSCBSBCBCCBCCSSCCBSBCCSCCSBSSSCBCBBSSCCCCBBCSSSBBSBCBCCBBCCCSSSSCCBCSBCBSBCCBBSSBBBCCCSSSBSSCSBBBSBSSCCCBCBBBBSSSBSSSCSCBBCSBSCBSBSCBBSSSCCCCCBCSBCCSBBBCBSCBSSCBBSBSBBBCBSSBBCSBCBCCSCCBSSSCBCCCSSBCBBSCSCSSCCSCSBSSBBSBCSSCCBCBBSCBCSSSSSBSCBSSBSBBBCSBSSCSBCCBCSBSSCBCBCSSBSSBCBCCSBBBCCBBSCSCSCCCCCSSSBSCSBSBBCBSSCCCSSSCBBBSCBBSSBCSBCCBBBCSBBBBBCBBSBBBSSCBSCBSBBBSSCBSSCCBCSBCSCSSSCCBBBSCSBCBBCCCSCSSSBCSCCBCBSBCCSBSBBCSBBSSSBCSCSBCSBCSCBCSBSSSBSCSCCCSSCBSBCCCCSCCSCSCBBSCCSSBCCSBSSBCCCSCSSBSSCSSSCCCCCBBSCSBBCBSSSSBBSCSBSSCCSBCBCBCSBCBCSCSBCBCSSBSCSBSBBBCSCCBSCCCSBSSCCCBBBSSSCCCCSBSBCSSCSSSBBCBBSBSBCSCSBSCCBBBSBCSBCSBBCSSSCSBSBBSCBBBBSCCSBBCBBBSSCCCBSBSBBCBCCCCSSBBSSBCSSBBSBSBBBSCCBSSBBSCCBCSBCBBSBCSBSBSBBCSSCBBBSSBBBSSSBBSCBCCCCSBBBSBSCBSSBSCBCCCSSSSBSCBSSBBBSCBSSSCBBBBBBBSCCCBSCCSCBCSBSCBCSBBCSBCCSSBCSBSBBSBCBBSCSBCCSSCCSSCBBBSCBCCBCBSSCCSSSCBBBSBSBCBBBCSCSSSSSCBCCSCSCBSBCBSSBBSSSCSSCSSBSCCBBBBBBBCBCCCCBSCSBSSSCCSBBCBBSBBCCBCBBSBSCCSSCBBCSSBBBSBBCCCSBBSSCCCCSBBBSBBCSBSCSSCSSBSCCBSSCCCBCSBBCCCSSBBBSCSCBSCCSSSCBSCSBBBSBCBCBBCCSBSBSSCSCSCSCBCCBBSBSBBSBCCSCBCCBBSCBBBCCBBSSCCCBSSSBBBBBSCCCSBCSCBBSSCCBSBBSSSBCSBCSCSBBBBSSBSBBBSBCBCSCCBCCCBBBBBSCBBBBSSBBBSCCSSSSBCBCSCBCBSCSBBCCSBCCCBCSSCSSBSSBCSCSSSSBSCBCCCCSBSSSSBSSBBSCSSSCCCCSSCSSSCCSBBCCSCCCCBCSCSBCSSBSSBBSSSSSCBSSSSSSSCSSCSSBBSBBSSSCCBSSBCBSCCBBSBBBCCCSBSSSSBCBCCCBBBSCSSSBBCSCCBCBBBBBCBBCCCSBBSBCCSBSSSBCBSCBCBSBBCBCBBCSCSBCSCBCCCSCSCBBBCBCCSBBSCSBSCBCBBCSBSBSBBSSBCCBCBSSBBBSSSSSSBCSSSSCSBSCCSSBSBBSCCSBCCSCBBSSCCCBBBCCCBSSCCSBBBCSBBCSBSBCBBBBSCBCCBBSBSCCSSSSCBSCCCSSCSBSSBBCSCCCCBBCSSSCSBSSBSCBBSSBSSCCBSSBSCCSCSBBCSSBSCSSBCSBBBBSCBSCBSCCCCSCBBCSCBBBBCBBSCBBSSBBBBSCBCSCCCBCSCBBCSBSCSCSSSBSCCCSBSBSCBSSBSCCSBCBCCCCSCBCBSSBCBCBSCBCCBBSBCSCSCBCBCCSBSBSSBBSBSCBBBSBSSSBBSCBSBCCSBBCSCCSCSCBCBCCCCBSCCBSCSSCCBSSBBBSCSCBCSCCCCCBBCSBBSCBBCSSBCSCCSCSSBBBBBBCCSCBSCBBBCBSCBCCBSSBSSCSSSCSSBCBBCSSBBBCSBBCSSCCSSBCBBBSCCBCSCBSSCSBSBBSCBSCSCCSBCBSBBBSCBSSBSBSBCSBSCSCSSBCBCBCBSCSCSBBBSSBBSBCSSCSSCSSBSSCCCCSBCSCBSBCCBCBSBSSSSSSBSSCSBSCCSBCSCBBBBSCSSCSCBBSBCSSBCCBSSCSSBBBSBBCCSSSSSSSSSBSBBCBSCCBCCBBCBSSSSBBBCBSBBSSSCCSBBSBCCCBBSCSCSSSBSBBCCSSCCSSCSSBSBCBCBCBBBBCSCSBSCSSCBBSSBBCBSSSBSBCCBCBCCBSBBBBBCBBCBSSBSSBBCSCSSCBCSCCCBCSBSSBSBSBBCSCSSCSSCSSBSSBCBBCBBSCSBSBBSSSBBSCCSCBBSSCCCSBBCBCCBBSCBSSCBCSSCSBSCSCCCBSBCSCSSCSCBSBBCCBCCSSCSSCBCSCBSCSSBBCCBSCBSCCBBBBBSBCCBBCCCSSCCSCBCBBBBCBSCBSSCCBBBSCCBCBBSSSSBBBSSBCSSSBBSCCCCBBCSCCSBCCSCBBCBCCSSSCSSCBCBSBCBBCCCCCBBBSSBBCBCCBSCSSBSCCBCCBBCCCSCCBSBBBCBBBBCCSSCSBCSCSSBSCBCSCCBSBCCBCCSBSCBCSBCBBCSCCBCSCBCCCCSSSCBSBCBSCSCCBCCSBCBBSBSCBCSSBBCSCBSBBCBCSBCSCSSSCCCSSCCBCCCBSBCCBBSSBBCCSCSSCBSSBBSSBBBCSCBBSSSBCCBSSBCSBCBCCBBBCBBBSSCSBBBSSCSBSCCCSSSBSBBCBSCBSCCSCBCCBCBSSCBBCCBBBSBBCBBSCCBSBCCSSBBBBBCSSSCSBSCCSBCCBCCBBBBBBSCBSBSCBCBSBSBSCCSSBSCSBCSBSBBBCBSCSSCCSCCCCCBCSSBSBSSCSBCSSBBSCCSSCCBCBSSBBCSBBCSCSBCSSCCBBBSSCBSCBSBBCSSCBBCCSCSCSBCSCBCBBSBSSBSBSSCCBSCBSCBSCCSSBBCBSBCSCSBBCCSSCBCBBSBSBSBCCCBCSCSSCCBSBSCSCSCSCCBBBSBCCBSBCBSCBSSSSBCSSBCCCBBBBCSSSBSSCSBBSSSBCBCSCBBSBCBCCCCBSBBSCCBBSSBCCCBBSCBBCSCCBCSBSCBBSCSBCSSCBSSBCCSCSBSBCSBCCCBCSBSCSSSCCCBSSCCBBBCSBBCCCCBCCBSBBCSCSCBCCSSBCCCBBBSBCCSBCSCSBBSSBCBBBSCCCSBCBCBSBBCCBSCBCBCCBCCCCSCSSCCSSCCCCBCCSSCCCBCCCBSCBCCSCBCSSBCCBBCCBCCCSSSSSCBCSBBSBCCBSSCBBBBBCBBBBBSBSCSCCCCCSCBBCCCBCCSSBBCBCBCCCCCCSCCBCCBSSBSCBCSBBSSBCBCSSBBSBSCBBSBSCCSBSCSBCSSCBBBCBBBCBSSCSCCCBSSSBCBBCCCBBSSBBCBCSSSBSSSSCBCCBCBBCBCSSBSBSBSCSCCBSCSSSBCBCBCBCSSCBBSCBCBSCSSBCBSSCSCBBCCSSBCSCBSBCCBCCCBSCCBBCCCCCSSSSCSSSCSSCSCBSSBBBCCSCSSBBSSBSBCCBCBBBCBSBBCCCBSSCSBBBSBSCSBCCSBBCSSSCSCCSBBSCBSCBCCSBCSBBSBCSBCBCCSBBBCBSBSCSBSBCSCCBCBSSSSSCBBSSSSSSBBBSCCSCBSSSSCSCBSBSBCBSSBCBBBSBBSCBSCBBCCCBSBBCCBBCBBSBBBSCBSSSSCSCCCSSSSBBCSSSCCSBCBCCCCSBSSBBSBBSSCCCCBSCCCBCSCSBCBSCSSSBCSBBCBBCBBSCBBCBSSSBSSCCBBBCBCBBBCSCCSBSSSBSSBSBBBBSCSSBCBBCBCBSCCSBCCCCBSCSSCCCCCBSCCBSCSCBBSSCCSSBCCCSCCBBBCCSCCBSBCSBSCSBCBBBBBBBSCCSSCSSBCSBBSBCBSSSCSCBCSSCCSCCSBSBCCSCSCCCCCBCSSSSBSCBCCSCSSBBSSBCBCSCSCCSCCCSBCBCBSCBCCSCBCSCSCSSCBSCBSCSCSBSSCSCSBBBCBCSBBBCSBBSBCCBBSBBSCCCSCSSSSSSBBSCCCBCBBCBBCBSBSCBCBSBBBBSCCSBCBBSSBCBSCSSCSSSBCSCSBSBSSCCCBBSCSSBBSSSSCBCSCCSCSSBBCCBBBCBSCCSBCCBSBSSCSCSSSSBCCCBBCBBSCBCSCSSSCCCBSSSCCSSCCCBBBCCCSSBCSBBSSSSCCSBCBCBBSCBCSSCCCSCCCSSSBCBBSCCBBSBCBSSSBBSBCBBCBCSSSBCSBSBCCCSSSSBSSSSSCSCBBSSCBSCBSSCCBSSSBBSSBSSCBBSCBCBCBSSCCBSCCCSSBBCSBCCCCBBSCSCBSSCBSSBCCCCCCBCCBBCCCCBCSCCBSCSBCCSSBCCSBSBCCCBSBCSBSBSCCSSBBBBCSCSSCCCSBBSCCCSCCCCBBCBSSBSSBSCCCCSSSSSBBSSCSCBCSSBBSSBSCSCCBSBSSSSBBBCCSBBBSCBBCCCBCCSSSSCSCCSCSSBCSBCBCBBBSCBSCBBBBSCSSSCCCBCCBSBCBCBBCSCBSSBSBCBSSBCBSCBCBBCSCSCSSBBBSSCSSSSSBSSSCBSCCBSCBCBSSBSSCSCCSBBBSSBCCCSSBCCCSSBCCCBCCSSBSCCSSSBSBSBSBSCSSCBCCSBSSSBBCSBBCCSCBBCCCCBCCSSBCBCBCSCCSSCBSSCSBBSBCCCCCCSBBCBCCBCBBBCSBSCSBSBBBSCBCSSCCCCBSCSCBCSCSCSCSSSCCSBSCCCCCBSBBSBCCBCCCCCSCCSCSCCBCBBBBSBBSSCBBSCSSCSCCCBBSSCSBCCSSCSBCBCCSSCCCCCCSCCCSCBBCSCBCBCCSBCCCBCCSSCSCBCCSBCSCSBCBBBBSCCSBSCSCSCBCCCSBBBCBCSCBSBCSSBBCCBSSCCSSSCCCSSSBSCBBCSSSCBBCSCCBBBBBCBSBBSSBCBCSBCBSSSCSSSBSCSSSBSCBCBSSBSBCBBCSSCBBCCSBSCCCSBBBSBBBSSBCSBSBSCSCSCCBBBCCBCSSCSSSCCBCSBSCBSSCCBBSSBBSSBBSBBSBBSBSBCCSCSSCBCCBSSSCBBBBCSCBBCBBBBCCCCSSBSSBCCCBCCCCSSSCCCSBBBBBSBSBBSCSBBCBSCSSCCBSSBSCSCBBBCCCBCCSSBSCCSBSSBBCCBCSCCCSCBSSCSSSSBBBBCSBSSSSBSCSSBCSCCSBSBCBSSCSBCBSSSBSBCSSCBBSCCBCCSCBBSBSCCSBSSCBBCCSCSCSBBBCSBBCCCBSCBCSCSCBBBSCBSSSCBBSSSCBSBSSBBCSCBBCCSSSCBSCSCCSSCSCCBBBCBSCCSCSCBSBCCCCBSBCSCSCBBSBBBBCBCBSBSBBBSBSBCBBCCBSSSSCCCCSCSBCBBCCSCCBBSBSCCBBBBCSBCSSSSBCCSSCCBSBBBSSBBBCSSBSCSSBCBCCBSSBBCCCSBCSSBBSBSSBCCSSSBCSBSCBCCBBCSCBSCBBBBCSCBCCCSBCCSCSCBBBBCCCSBSSBBSCBSBBBCCCSBSBBCSBCSSCBBBSBBSBCCSBCSSBCCBCSCSBSBBCCBBBSBBSCSBBSBBBCCBCCCBBCCCCSCSCCSBCCCSSSCSSSBCSCSCBSSSSCSSBCSSSSSBBSBCBCCCCBBSBSCBBBSBBSSBSSSBSSCSSBSCSCBCCCCSCBBBCCBBBBCSBBSCCSSBCCCBSCCCSBBSSSCCSSCBCSSCBBCCCBBSBBBSBBBSCSCBSBCBCCCBCCBCCCBBCCCSCBBCCBBSBCSSCSCCBSBCSSBCCSBCSSBCSBBSSBCBBCBSBCCBSSSBBSBSBCBCSBSSBCSBBBBBCSSSBSBSCBCCBCCSBCSCCBBSSCBSCSBCSCBBSCCCCCBSBBSBCSCBSBBBSSSSBSSSCCBBSBBBSCBCCSCBBSBBCSCCBCCBCBCCSBSBBBBCCBCSBCCCBSCSCSSSCSCSSSCSBSBBBCSCBCBCBCSSCBSBCCCCSBBCSCSCCCSBCBCSBBSCSCCBSCSSSCCSBBCSCSCCCCBCCSCCCBSSCSSSCBSSBCSSSBBBCCSCSCSBBCBSSBBCBBCBBBSBCBSSSCSBSBCSSSBSBCBSBSSCBBBSCCSSSSBBCBCCBSBBBSBCSCBSSCCSCSSSSBCSBSBBSSBBBSCBCCCSCSBSBCBBCCBBSBSBCSSCCSBCCBBBBCBSSBCSBSCCBSBBCSBBBBBCBCBBBCCSBCSBSBCCBSSSSBCBBSSBCBBSSSSCBCCCCCCCBBBBSSBCBSBBCCCCSCBCBCCBCCCSBSCBBSBSSCBBCCCSCBBCSBBCSCBSBSSSCSCBBSBBBBSSBSCBBCBCSCSCBSBBCCSCBSCSCCSSCCBBSSSSCBBSSCSBCBSSSBSBCSCSCSSBBCSBSBBSSCBSBBSBSCCBSSBCSSCCBSCCSCSCSCBBBCCSCSSBCSCSBBCSBCCCSSSBSBBBCSSBCCCSSBSBSBSCCSCSCBBSSCCSSSCSCCBSSSBSCBCBBBSBBCCBSBBSBSSSBCBBSBCSCSCBCCCBSCBSBBBBBSSBBCBCSCCSSSCBSBCSCSCCBBBCBSBBSBSBCBSBBBBCBSBCBCBBBBSSBSCCSBBBSSBBCCCBBBSSCSBCBCBSBBBBSBSBCSCBBBBBSCSSBBSBCBSSSSBSCSSCSBSCCCCSBSSBCBSCSCCSCBSSBCCSCCSBSCBCCBBCSBCBCCSCSBCBCBSSBBBCBSSCSSSBSBBSCCBSCSSCBBSCBBBSSCSBCBBSBBSBSBCSBBSSCBBBCCSBBCCSBBCSSBCCSBCCBBBSBBSCSCSSCBBCSCCSSBBSCCSCBCSCBBBBCSCCBBCSBCBBBBCSSBBSBBBCBSSSSBBSCBBCCCBCCCSBCBSCBCSBBBBCBBSBBCBCCBCBCBCBBCCSSCCBBSSSSBCSBSBSBCBSSCSSSCCCBBSSCCBBBCSCSSSSSCBCCSSSCCSSBSCSSCCSBCSBSSSCSCSBBCCCSBSSCBCCBSBSBCSCCBBBBCCSSBCSSBCCSSCBBSBSBCBCCCCCBBBBCCBCSCCCBSBCSSBBBSBBSBCSBCSSSSCCBBSSSBSSBCBSBSCCSCSCCBCBSBBBCBCCCSCSBCBSBBSCSBSBSCBBCCCCCSCCCSBBBSSSSBBCBSCSSSSCCBBSBBCCBBBCCBSCCCSSCBBBCBSBBCCSSCCSSBBSCCBCSBBSSBCBSBSCSCBCBBBBCBCCCBSBBBSSCSSSBCCCBSSBCSCCSSBCCBSCBCCBSBBSCSCBCSCCBCCCSSBCSSSSCSBSBSSCCCSBBBCSSBSSSSCBCBCSCBCCBBSBCBCSSBSSCBBCSCCCSSCSCBSSBCCCCCBBBBCSSSSSBCSCSBSSBBBCSBBSBCSCBBSCSCSSBBSSSCSBBBBSCBCSSSSCCCSBBSCSSCSSSCSCBBBCSBSBCBCBCBCBBBSCSCSBBCSBBBSBCBCBBBSSBBSSCCBCBCCCBBBSSBBCSSCBBBBBSSBBCCSBSCCBSBCSBSSSCSCSBSBBSSSBSCSSCSCCCSSBCBCBCCSCBBBSCSCBCBCBSCCBCSBCCSCCCCSCCCBBSCCBBBCSSCBSCBSCCSBSBBSSCSCCBSSBBSCBSBSBCCBSSCSSSBSSCBCCCSBBCSSCSSSCSCBBCSCBSSSBCBBBSCSBCBSSCCBCBBBSBCCBCCBSSCCSCSBBCBBSSCCSCBSCSCCSBSBSBCSSCBBCSCCSSBSSSCBSSCSCSSCBSCBSSSCSSCCSBBCCSBBSBBSBCSCBBCSSCSSSBSBBBSBCCBSBSCBBBCCBSCSCSSSSBCBBBBCSCSBSSBCSCBBSSSBBBBSBBBBCBCSBSBBBBCBBBSSCSBBCCBSBBBBSSSCBSBBCBCBBCSSSSBBBCSBSSCSSSCSBBCCBSBCSCBCBSSBBBCBSSCSSBCSBSSBSCBBCBSCCCSCBBBSBBCCCCCBCSBCBSBSBBBCBBSSSBSBBSSCBBCBCCSSSBBCBCBCCSSBBSCCBSCSSSBBCBSCCCSSCSSSCBSBSSBBCCSSSSCSSCSCSCCSSSSSSBCCSCSSBSBSBCCBBCCSCCCSCCSSCSCBCSBBBCCCBSSBBCBSSBSSSCSCBCBSCBSCCCSSSBSSSBSCCSBSCBBBCBBBCSSCSBSBCBBCCBBSCBCCSBCSSSBSBBSSCBSBCCBCCCCCBCBBBSCBCSCBSSSCCCCCBBCCSCSCCBBBCCSBBBSBBCCCCBBBBSCBSSSBCCCSSSCSSBSBBCBBCSCSCBCCBBBCBBSSSBCBSSBSCCSBSCCBCSCCBSBBCCBSCSSBBCCCBCSBCBBSBSBCCBBBCBSBSSCCBCBCBCBBCBCSCSSBBCBCSBCBBBBBCBCCBCSCSBCCCCCSBCSCSSBCBSCBCBCBBBSBBBSCSBCBSSBBCBCSSCCBCBSSBCSBSBBBCBBBSCBCSBBBSBSBBCSBCCCBCCSBCSSSBSSSCSSSSCBBSSCBCSSBCBBBBCBCCBSSBBCBBBSSCCSSBBBBBSBCCCCCSCBBSSSSCBBBBCCBSCSSBSBSBCBCSSBSBSSSBSCCSBCSBSBSBSSSCBSBBCBCSCBCCCSSSCSSCBCSBBSCSSCSSCBBCSBCSCSCSBSCBCSSCSSSSSCCSCBBCBCSSCCBCSSBSBBSCBSBCCSBBBSCSBBSCSCSBBSCSCSCCBBCBCBSBCCSSSBBSCCCSCCSSBCBSBCBBCSBSCSSCSCCCBSSCBBSBCBCSBCCSBCBBBBSBSSSSBBCCCBBCBCBBCBCSBBCCBBCSCCBBSSBCBSBSSBCSBCBCSCBBCSCBSBSSBSBCBSCBCBBBBSBSSSCSBBCSBSBCBSCSCSBCSBSBCBBCBSBCCBSCSCBBBSSSCBBBBBCBCSCBCBCCSCBBCCBCCCSBBCCSCBBCBSBSBBSBSBBCBSBSCBSCCBBSCCSSBCBSSBCCBBBBSBBCCCCBCBBSCCCBBCBSCCCBCCSSCSSSSBBCSCSCSSBSSSCCSBSCBCCCBSCCCCSCSSBBCSCCCSCBSSCBBSSBSSCSSBSSCCCSCBCCCCCSCCCSCBBCSCCCBBCSSCSSBSBCSSCBSSSSCBCSCSBBBSBSSSCSCSSSCBSCBBSCCBSCSCCBSSCSCBCCSSBCCBSSBCBCBBCCBCBCSBSSBCSSSBCCBCBBSSSBSSCBSSBCSSBSSSBSBSSCSCBCCCCSCSCSBSBSBSSSBBBSBBSBBSSCBBSCSCCSSBSSSBCCBBBCCSBBCSBCBSBSSBSBSCSCBSCCCBBSSSBCCCBSBCBBSCSCSBSBBCBBSBCCSCSBSSBCSCSCCCBCCCCBSCCCCBCBCCCBSCSSBSSCSSCBBBBCBBBCSBCBSSSSCBBSCSCSSCCSBCCBCBCBCSBSBBBBSCSBSSCSBBSCSSSSCBCBSBBBSCCBCCSCSSSSBSCBSBSCBSBCSSCCBCCBBSBSSSBCSCSBBSBSCBSCBSSSSBBCSSBBBBCBCBSBCBBCSBBCBSBCCBSBCBCBBBCCCCSBCBBBBBBSSSSCSCBSSBSBBBSCBBSCBSCBBBCCCCSSSCBCBBSSBSCSCBSSSCBBBSSBBBSBBSCBCCBSBSCBCCBCCSSSCCCCBBSSSSBCBCBCSCBSBBSCBCSBBCSSBBCBBCBCBBBBSCCBCCBCSSSBSBCCCSCBCBSBSCSCSSSCSSSSBSBCCBBSCCCBSBSBBSSBCBBBBSCCBSBSCSCSBBSSSBCSBSCCCBBBSCSSSCCSCCBBCSSCBBBSSCSBSCCSSBSBSSBCSSBBSCBSCSBCCBBSBSSCSSCSSCBSSSSCCBCBCSBCCBBCSCSCSSBSCCSCBSBCCBBCCSSCSBBBSCBBBCBSSBCBBCSCCBSCCBBBCSSBBSBCCCCBSBCBCBCBSSBBSSCSBCBCCSCBCCCBCSBCBSCSBBBCSSSSSSBSCSCSSCBBBSBCSCBCSSSSBCBCBSBCCSSBCCCSBBSCSCSCBCBBCBBSBBBCCBSSBCSSCCCSBSBBBSCSSCBSSSSSCBCCSSBSSCBBCCSSSSBSCSCBBBCBCBCSCCBCCSCCCSSSBCSCSCCCCBBBCSBSCCSSBCCBSBBSSBSCSSBCSCCSCSSCSCSCCCCCCBCBSCBCBBCBCSCBCBBBSCSSCCBBBSBCBCSCCSSBBSCCSSBBSSCCCSCCBSSCBBCSCBCBBCBSBCBCSBCBBCSCCSBBBSCSSCSBSCSSSBBBBBCCBSSCCCSBSCBCBBCSSBCBBSBBCBBBBSSBSCBSCSBSCCCSSCCCSCCCCBBSCSCBSCSCBCSBCBBSBCSSSBSSCCSCCCSBSBSBCSSBCBBBBSCCSBSBBBBBSBBBCSCSSCBBBCSCBCBBBCSBBCBSBBSBCBBBBCBCCBSBCBSCCSCBBSSCSCSCCBCBBCCCBSBSCSCSBBBCSBBBSCSCCBSSCCCCBBBSBSSSCSCCCSCBCBSCSCBSCBBSCCSSSBBSBBCCBCSSSBBBCSSSCCBSSSCCCSBCBBBCCBSBBCSSCCBBBSCSCBBBCBBBSBBCSSSSSCSSBCBSCCSBBCSBSSCBSSSBBSBBCCCBCSBBCCCCSBBSSSBBSBCCSSCCCBCCCSSSCSBSSBCSCSCBCBCCCBSCCBSCBCCCSSSBCSBBCBCBCBCBCCBCBCBCBBCSBBBSSCBBCBSBCSCBBBCBSSBBBBSCBBSSSCBCBCCBBBBCBSBCBCCSCSSBCCCBSCCSSCBSBSSSCBBCBSSSSSBCBBBSCSCCBSSCSBSBSSBSSSSSBBBCCCCBSBCBSCSBSCCBCBCSSCCCBBCBSBBCBBSBSSCSBSSSCCBSSSSBSBSBSSCSBSSBSCCBCCCBSSSSCSCCCCBCCCSSBBBCSSCSCBCBSSBCSSCBSBSBBCBBSBSCCSCBBCSCSBCBBSCBCCSCSCCCBSCCCSSBSBBSCSSCCCSSSCCSCBCSBSBSBBBSBBBBCSBCSBCSBBSSCCSBCBBBCBCCBBBBCCCCCCBSBSBBCCSCBSSBCBCCBCBSCBBSBCCCBSCBBSSSCCBSBSSCBCCCSBSSBSBCCBCBBSSSCSSSBSSCSSBSSCCSCBCCCCCSBBBCCSBSSCSCSBBSBSSCCBBBCSCCSCCCCSSBBCBCBBSCBSBBCSSCSCCSBSBBSBBSBSSSCBBCBSBSCSSCCBSSCBBSCSBCBBCSBBBCBBCBSBCSCBCCSCCSBSBSCBSCBBCBBCCBBCBCCSBCCBBBCSCCBCCBBCCCCSCBSCSSSCCSBBSBSBCBSBCBSCSSBSBSBBBSCBBSCCCSSCCSCCSCBCCBCSBSSCSCSBCSCSBSBSSCCBBCCCSCBCSCSSBBBSBSCBCCSCCBBCSSCBCBCBBSCCCBBBBCSCSBSCSSBBBBCCCSSCBCSBSBBSSBSCCCCBCBCBSCCSCBBSBBSBSSBBSCCSBSCCCCSCSBSCBBBCBBBSBSSBCSSSBCCBCSSCBCSCBSBBCCSSBBSBCBCBCCBBSBBBCSSCBCCSCSBSBSCCSSSCSBSBBCBSSCBCCCCBSCSSCBSBSBBCCCCSBSBCSSSSCBCSSBCSSSSBSBBBBSBSCBCBCSBCSBBCSBCBSSCBCBCSSCCSBBCCSSBCSSCCSSCSSSSBCCCSSCCBSSSBBCCSBBBCSCCCSBCSCSSBBSCBSCBSSSCBSBBCCBCBCSCCSBCCSSBBBCCSBCBCBBBBBBBCBCCSCSBBBSBSCBCCCCCCCSCSSCBBSSCCBBCCCSBBSCSBBBCSCCCBBBCBSSBCCBSCBBBBCSCBSSSSSSCSSSCSCSBSBBCSCSCSSBSCSSSBCSSBBSBSCCCCCSCSSCCCSCSBSSSCBBSSBCSSCSBCBCBBCSCCBBBBBSBBBBCSBSBBCBCSCCCCSBBBSBCBSCBSCBBCCBBCCCBSSBCBBBBSSCSCBCSSBBCBCBSSCCSSSSCSBCCSSCCCCBSSBCBBBBBCCBBCBBBCBBBBBCBCSSCSBCCCSSSBCSBCBSSSBBBCCSCSBSCBCCCSCBBCBSBSBBSCSSCCSBBSBSSBBCBCBBSCCBSBCBSSSBBBCCSCBCBSSSBBBCCSBSCBBBBSCBBSSSBCCCBBBSCBBSSBBCSSCSBSCCCCCCCCBCCSCBCCCCCCCSBSBSBSBBBSCCBCCBSCBSSSCBBBCSCCSBBCBCBBCSBCBCBSBBBBCSBCCSCBBSBSSSSSCSSBBCBSBCCSBSCSCSBCSSSSCCSCCCBBCCCCBSCSSSSSCSSSSCCCBBCSCBSCBBSBCSBSCBBCCSSSCCSBCSSBSCBCCSBSBBSSBSCSBBSCCBBBSBCBCSBBSSSCCBBCBSBCBBCBBBSCCBBCBCCSSSBSSSCSCSCBBCBSSSBBCBSBBCBBSCCSCSCSSSSSBBSBBSBSCBCBCCSCSCBBSBBSCBBCBBSCSBSSBSSSSCCCCBCSCSCSSBSBSBCSCCCCCCBSBBBBCCBSBCCBSBBBBSCSCSCCCCSCCSCSCSBBCBBSBSCSBSCBBBSBBSCBSBBBBBCCSSSSBSBBSCCBBSCBBBBBCSCBCBBCBSCCSCBBCBSBSBCBCCSSCBCCBCSBCSCSSBCCCCBBCSSSCCSCBCBBBCBSBCCCBSCSSCCSSCBBBBSSBSSCCSCSSBCSCSSSCBSSBSSBSSCSCSSBBBSCCBSBCBBCCBSCBBBCCSCSBCCSBBCCCBBBSCBBBBBBCSSSBSCBCSCBBSCBCSSBBCSCCCCCCBCCCCSSCBCCSBBCCBBCBSCSSSSCBBCBBCCCSCBCBCSCBCCSBBBBSCSSSCBSSBBSCCSCSCSSBCBCCCCCSCBSBBSCSCSBSCSBSCCBSCBCCBBSCSBCSSBBBBBCCBCCCBBBBBSSCBSBBSCBCBSCBCSBBCSCBCSSBCBBBBSCBSBCCCSBBBSBCCSCSCCBSCSBBSBSCSCBCBCBCBSSCSSBSCCBCCSSBBBSCCSBBCSBCBCCBSSSBCSSBBBBBBBCBSCCCSBSBSSSSCSSBCCSSSCSSBBBCSCBCBCBBCBSCBSSSSBSBSSBCBCBSSSBSSBBBSBBCBSSSCSSCSSSSBBSSSCSCCBSBSCBBCSBBBSCCCBBBBCBCSSSSSSCCBCSSCSBSCSCBCCBCCCBSCSSSCCSSBSCSCSBSCBCSBBBBSSSSCCSCBBBBSSSBSSSBCSCSSSCSSBBCSSBBBSCSBBBSSBCCCSCSCSBCBCSBSBCCCSBSSSBBCBCBBBBSBBSCBSSBSBBBCCCCSBSSSCCSBCBCCBSBSBSCCBCBCSBCBBBCCSCCBCCSBSSCCBSSBSSCCBSSCSCBSSCSCCBCCBSSBBSBSBBSBSBBSCCSCSSSCSSCCSBBSBCSSBBSCBSSSSCCBBBCSSSBBBCCSSBSCBBSCSBCSBSSSSCSSSBSBBSCBCCBCSBBSSBSCCCSCSBBBBBSCSSCCBCBBSBCBSSSCBBCCCBCSCSBSSSSCSCCCCCBBBSSCBBCCSCBSCBCCSBCSCSSSSSSSSCSBBBSCBSBBCBCBCBBSSCSCSCSSBSCSSBSSSBSCCCSBBCSCBCSCSBSCCBSCCCBCBCBSBCBBSCCCBSBCSCBCBCBCCSBBSBCSSSCSSBBCSBBBSCSSSCCCSCCSSBSCCCSCCCBSCBBSSCCBBSCSBBSCSSSCBCBSCBSCSBSSSSSCCCCCSCCBBSSSCCCSCCSBSBSSCBSBSCSCSBBCBBCSSBCCBCCCCCCCSSCSCCBBSCCCCSSCBSSBSCCCCSSBCSSSBCCBCBCBCSSCCCSSSCSBCCCCCSSCBCCSCBCSBCCCCBBBCSBSSCSSSCSSCCCCSSBCBCCBBSCSCCCBSCBBCSBCSCSCCCSBCCBSCCBCSCCSSCSSSBSCSSCCCCBSCBCBBSCBBBSSCBBBSSCSSCSSBSBBBSSCCCCCSSCBCBBSBSSBSBBCSCBSCBSCSBBCCCBBSSCCSBSCCSBSBCSCSBCSCSSSCSCCCBCCBCSCBCBCCCSBBBCSBCCBSSCSCBSBBCBSBSCSBBSCCSSCBSCCCSCCCBSSCCBBSSBBBCBCSSCSBBBBCSBCCBSCSCSSCBCCBSSCSCSBBBCCBCSSCCSBBCBBSBCBCBBCBCCSCSCSBBBBCBCBSCCCSCSBBBCSCBCBCCBBCBCSSCSSCCCCBBBSSBCSCSCSBSBBSCCSBSCCSBBBCBBCSCCSCBCSSSSSBBBCBBBSCCSCSCBBSCSBCCBBBCCSBSBSCCCSSBCBSCSCSCCCCCCSSBSCSSBSBBSCBBBCCCCBBSBBSCBSSCSSCCSCSBSSBCCCSBBSSSBBBBCBBSCSBBSCBCSSSBCBBCBCBBSBCSCSCBCCSBCCCBBBCCSCSCBBSCSSSSBBBBBCBSSSSCCSBBCCBSBBSBBCBBCBBCBCSSSBBBSBSSBSCBCSCBCBCBBSBBSSBSBBSSCSSSCSSBCCCBSSSSSCSBSBBSCSSSBCSCCCSCSCCSSCBSBSSSCSSCCBCCCCSBCCBSSSCCBSSSSCCCBCBSSSBSCCBBBCBSBBBSCCSCBSCBCBSSCBCSCSCCSSSSSBSCBSBCSBCSBBSCBCCBBCCCBBBBSCCSCCSCSBSCBSSCSCCSSCBSCBSBBSSBCCCCCCBCCBCSBBSSCCSCBBBSCBCCCBBBCBSBBCBCBCBSSCCSBSSCBSBBBSBBSCCSCBSBCSBBSSBSCBCCSBSBBBCBSCSCSSSSSSSSCSSCBBBSBSSCBCBCSBSCBCCCSSSSCBBBBCCBCBBCCSSCCSSSBSSBCCBBSSBBCCBBBCCCSCSSBBCSSBCBCCSCCSBBCSBBBCBBSSCBCBSCSCSBCBCSCSCBBCBSBBCSSBCSCSSSBBSBCCBSCBSBSSBCSBCSCBBBSSSCSBSBSSSSSBSSSSBSBSSSCSBCBBCCSBBCCSSBSCSBBBCCCSCCBBBCCBSSBSSCBCSSCSSCBCSBSSCCSCCBBBBCSSBSCSCSSSCBBBCBBBCSBCCSBBSSBCBBBCCSCBBCCCCCCBCSBCSSSBCCSBBCBCSCCBCBSCBSSCCBCSSSSBBSSCBCBSBSCSBSCBSBSSCCCCSSCBSSSBCSBSBSSSSSCSSBCSBSCBSSSCSSCBCBBSCSCCSSCCBBCBCBSBBSSSCSSSCBSSCCCBBBSBBCCCCCSBBCSCCBBBSSBCSSBSCBCSSSSSSBSCBCBBBCCSCSBCBBBCSCCCBBBSSSCSSBBBSBBSCCSSSBBCCBSBSCCCCSBBCSBBSBCBCSSSSSSSCSSCBBSSCCCCBBBCSCBCSCBBCSSBSSSCBCSBCCCBCSCSBBSCSBCSBCBBSCCSBSCCCCCBBBBCBSSBSCSBCBBBSSSCCCSSSSCBSSCBSSSSCSBSCBBBBCCBBBCSSCSBBSBCCCBBSCBBCSSBSCSCSBBCSBCBSCCBBCCCSBCSBSCBSBCSSBCBBCBCSSBSSSCSBSBBSBCBSSSBCBBSBSCBCSSBBBBBSCBBCCCCBCCCSSBCCCSSBCCSSCCSBSBBCCCCBBCCBBBCBCBCBBSBBBSCSSSSCCCSBCBBSCSCBBCBSBCBCBCSBCBCBSSSSCSSCSCBSSCBSSBSCCSBSBSCBCSCSBCCBBBSSBBBCSSBSBSSCCCCCCCCBBSBCCBSCSCBCCSBBBSBSSSCCCBCBBBSSSSCCSSBBSCBSCCSCSCSCBBSSBCSCSBBBBCSSBBSSCCSSSSBBSCCBCCBSCSCCCCBCSBBCBBSCCSBCBCSSCCCSBCCBBBCSCBCCBCCBBCCBCBBSSCBSSBSSBCSBSCCCBBBBCCSBSCBBBBSSCCBSBSSSCCBBBSCCSBCBCSCSBSBCSBSSCCCSCBSCCCBSCSSCSCCCCSCBBSCCSCBCBSCBBSSCSSSSCCSBCCSBSCBCSBBSCSSCCBBSSBCBSBBSSSCSSBSSSSBCBCSCBSBCSCSCBBSSCCSSSSBSBBSCCBSSBBBSSBSSSSSBCCBCSCCSCSCSBSBBBBSSCBCCBCBSCBSBCBBBCCBCCBCSCCCBBBSCCBSCSCBCBBSBCSCBSBSCSSBSSCBBCCCBSBSCSSBCBBCBCBCSCCSBBCSSSCBCCCSCBBBCSBSCCCCSSBCCSCBBSSCCBBSCSCBCBSBBBBCCBBCCBCBBBCBSSBBSBSBBCBCSSSCBCBBBBSBBSCBBBCCCCSSSBCSSCSBBCSCSSSBCSSCCCSCSBBBCSBCCBCSCSCBBBCBCSSBSBBBSCCBSSBSBSSBCSCCBBCSSBSSBBSCSSCCBBBCSBCSBCCCSSBBCBCBCSBSSCBBCSCBSSBBBSCCCSBCBCCBSBCBBSCCSBCBBCCCCCCCBCBBSCCCSBCCSCSSSSCSBCSBBBCCSCBBBBCCCBSSSCCBBSBBBCCSSBBCSBSSCSCSCSBBCSBSSSCBCSSBCBCBSBSSCSCSSSBCCSBSSCCSSSBSSSSCSBSBCBBCCSBCSSSCCBBBCSBSBBCBSSSSBSCSBSBSCSCBCSCBCCSCCBSCCSCBSCSCBCBCSBCCBBBCBBSSBCSBBSCSBCSBSCSSBSSCBBCCCCBSBSBSSSCSCSSSBCCCBSSSBSSCSSCCCBSSSCBSSSSSCSCBSBBCBCBSBSSBSCCBCCSCSCCCCSCCSBCCSBBBCSCCBCSBSBCCBBSBCCCBBSCSBCSSCSSBSCSCSCBBCBCCBBCBBSBBCSSSSBSBCSCBCBBCCSCBBSBBSCBBSSSBBSCSBBSBCSCSSSBCCBCSSSSCBSBBSSBBCCSBBSCCBCSCSCBBSSCCSBCSBSSSCBBSBBCCBBBCBSCCCSSSCSBSCBSBSBSSBBSCBSSSSCBBSSBSSCCSCSBBCCSBSCSCSCSCBBBBBCSBBCCBCBCBBCBCBCSCCBBBCBSSBSBSSCSCSBBCCSBCBCBSSCCBCCSCSCCCCCBCCCBSCBSBBBBSBSCBSSBBBCBCBCCCSBSSSBCSCSBCBCCSSSSSSBBCBBSBBCBBCCCSCBBCCCBSBBCSCSBSBCBSCSSCCCSCBCCBBSCBCCCBBSSSCBCCSSBBCSSCCBCBSCCCSBCSSCSSCBSBSCSSSBCSSCSBBBSBBCBCCBSBSCCBCCBSBCBSBBCSSBCBBSCCSSSBCSCBSCCSBCSCSCSSCBCBSSSCSBSSCCBSCSBCBCBCCSBBSSCSBSSBCSBBSCBCCCBBBBCSCCSSBCSSBBCBCCCCSCSCCCBBSSCCSBCSBSBBSBSSCCBBSSBSSSCCBSCBSBSCBBBCSSBBCBSCSBSBCSCCSSCBCBBBBCSCSBCBCCSCBCSBBCBBSCCCSCSSCSCCCSBCCCBBBBBBBSCSSCSBCBCBSCSBBSBBCBCBBSSBCBBBCBCSSBBBBBSCBBSBCBBCCSBSBBBCBBSSCSBBSBSBCSCSSSSCBSSBSBBCBBBBSCCCSSCBCSSBSCCBSCSCBCSBBCBCSBSCBBCBCSSSBBSSBBSCSBCSBSSBCSCBCBSSCCCBSCCBCCSCCCSCSSSBCBSCBSBCSBBSSBBCSBCBCSSCBSCSSSCBBCBBBSBSBBSBSBSCBSBSSCSSBCSCSBBBBSSCSBCBBBCBBSBSBCSBBCSCCCCBSCBBBSBCCCBBSSCBSCSBBCSSSSCBSBSBSBSBCSCSSCBCBSCCBSBBBSSBBCBBBBSSSBBBCCCCCCSBSBBSCSBBBSCBCCCSSSBCSSBSCCSCSCBCBCBCCSCBSSCSSCCCCCSSBBSSSCSSCSBSBSSBCBSCCSBCBSBSCSCSBSBBSBSCSBSCSSBCCBSBCCCBCSSBSBSSCCBSSCBSCBCSCBSCCCSCSCCBCCSCSSBBSCSBCCBCSCSCBCCCSBSBSBCBCCBCBBCCBCSCBSCCCSCBCCBCSBSSBBCBCBBBSBBBBCBCBBSCCSCBCSSCSCSSBBBBBSBBBBCSBBBBSSSCSBCBCSSSBCCCSSCBCCSCBCBBSCSCCBBSBCBCCSBSBCCBBBCBCSCSCBSSSSSCBBBBBCSCSBBBBCSCCSSBSSCSSSBSCBSCCSBCCCCCBSBBBCBSSCCCSBBSBCSSCBSBSCSSBCBBSBSBSBBBSSCCBBCCCBCSCBCCCSCSCBBSSBBCBSBCBCCCCBCCBCSSSBCCSBBCCBCBCSSSCBCCBBSBBBSSBCBSCSCCBBSSSCSCCBBBCCBSCCBSSSBSSCBSCBCBBCSBCSBBCCSSBBCBBSBCSCSCCSSSCBCCSCBSBBBBCSCBCSCBSBCSSBBSCCBBBSBBCBBSBSSBCCBBBBCBCCBBCSSCCSSCCSSBSBBBSCCCSSBCSCCSBCSCSSCCCBCBBSSCSBCBSSBCSSCSBBBCCSCCCCCSSSSCCCCCCBCBSSCSSCBCSCCBBSSSCBBCSSBSSSSBCBCBCBSBSSSBCBSSBSBSCSCSCBCSBBBBBSCCSBBBBCBSCBCSCCSSSCCSBBBCSCSCCSBSCSCCSBSCBBSSCCCBBSSSCCCSBCCSBSCBCBSSSBBSSCSCCCBCBSBCSBSSBSCBCCBBBCCBBSCBSCBSCBSSSCCBCSCBSSCSSSSBSSCSBBSBSBSBCSCCSCSBBBCBCSBSBSCSSBBCCBBSCCBCBCCSBSSSCSBBBCSCCCCSBBSSBBBSSBSSSCSCBCSBBCSCBCCBBSCSBCCSCSCSSBBBBBSBSCCSSBSSBSCSSBSCBBCSSSCSCBCSBBBBCBSCBSSCSCSSSSBSSSSSCCCBSBBBCSBBCBSBSBCSSBBBBBSBCBCCCCBCSSBSSCSCSSSCBCBCCBSSSCSSBCSCBSSBSCCBSSBBBBCBSCSSBBCSSBBCCCCBCBBBBCBCBCCSCSSBBBBSBBBCCBSBSCBSCSBBBSCCCSCCBBSBCSCSSBBCCBBBCBCCCSBCBSCSSCBBCCBBSBSCSCBCBCCBBCBSSCSBCCSSBSSBCCCBSBCSCCSSBCSSSBCCSBBSBSBCSSBBCSSCCCCBSSBBCBSSBBSSCBCSSSCCBCBCSBCCBCCSSSSBSSBCSCSSCCSBBSBSBCBSBCBCBCSCBBSBSBSBSBSBCCCCSCBCSCBSBSBCSBCBBSSBCSBSBBCCSBSCCSSCCSBBSCSBSCSCSCBSCBCSCSSBSSCCSSBBSBCSCCBBCSCCBCBBCSSCCSBBCBCBBBCSBBSSBBBBCBBBCBSSCSBBCBCBCCCBCBSCBCSCSSCSBBBBBBCSCCCSSSSCCSSCBBCBSSBCSSCSBBSBCCBSBCBBSCCSBBCCBBBBCBCSSBSSBBSCCCSSSSBCBCCBSBSCCCCSBCCBSBBCSBBCCCSSSBSBBBCSCBBBBCSCBBCBCBBBCSSBSCBBCBSBSBBSSCSSSBCSBBCCCCBSBSCSSBCSSBSBBSCSBBSCCBBCBCBSSCSBBBBSCCBCCCCCBSSBBCBCSCSCBCBCBCSCBBCCSBBSBBSSSCCBCSBBBCSCCBSSSSSCBSSCCBSBSBCSBSSSSBSSBBBSCCBCBCCCBCSBSCCBCCSBCBSBBCSSCBBCSCBCSCBSCCSSBCBBSSSBCCSSCBBSCBSBBCCSCSBSCSBSCCBCBSSCBCCCBCCSCBCBSCSCCBCCSCSBBCCCSCSSBCSSBBBCBBCBBBCSCCCSSBBCSCCCBCCCSBSBBBBBSBSBBCBSBCCCBSBBSCSCBBBBCBCSBSSBBSCCBBBSSCCBSCBBBSBBCCBBSBCCCCBCSSCSBSSSCBCSCCCBCSSCSSSBCBSSSSBBSSCCCCBSCCSSCSCSBSCSSBCSBSBSSSBCBCBCCSBBBBBCBBBBBCSCSCSBCSBBCSCSCCSSSCSBBSSBCBCCCSBSBCBBBSCSBCCCCSCBCCCSSBSSSBBBSBSBBCSCCSBCSCBBSCCCSSCCSCCSSSCSBCCCSSSSBBCBBBSBSSBCCCBBSSSSBBSCBCCSBCSCBSSBBCSCBBSSCBSSBCSBCBBSBCSCCCCSBSBBCSCSCSSBCBBSBCBBCCBSSSBBBCBBBSBBSCSBBSSCBBSSCBBCSBSBCBBBCSBCSSBSCCCSSCBCSBCCBSSBBSCSSCSSSSBSBBSCBBSBCSSSSCCCSCSCBCSCCCBBCSSCSBSBCCCCSCSBBBBSBSCBBBCSSBCBSBSCSSCSCBCBSCCCSCCCCCSCBSCBSSCBBBSCSCBBSSCSCSSSBBSSSCCSSSCSBBCSBBSSBCSBBBSBBBBBSBCBBBBBSSCCCBSCBCSSBSBBBCBBSCBSCBSSSCCSBCBCSBSSSBCSSBBCSBCCCSSBCBSSSSSCCSSCCCCSSSSSSBBCBCSCCSSSBCBBCSBBCCBBCSCBCSSBSBSCBCCCBBCSCCSSSSBSSCBCBBSBBBSCCCBCSSSCCSSSCCSBSCBBSCSSSCCCSBSSBCBCCSSSBCCCSBBSBSSBBSBCBCCSSBSCSBSSBCSCBSSCBSSBCBSCBBSBCSSCBBCBBSBCSSCCSCBSCSCCBSBBBSCSBBSSCBSCCCCCBCBCBSBBBCBSSSSCCSSBCBSBSBBSBBCBSCSCBBSSSSSCSBSSBCCCSSSBBBSSSCCCCSSBSBSCCSBCSBSBCSSCCBSCCBSCSBSCBSBCCSSCCBSSBBBSSBCSSCCBCBSSBCSBSCBCSBCBBBSCCSBCCSBSCSCSCBCCCCCSSCCSSCCSSSSCBSBSCSCSSSSCBSCBSBCBSBCSBSCSCSCCBSCCCSCSBSBCSBCCBCSBSCSCSBBBSCSSBCSSCSBSBCSCCCCCCCCSCSBBBCSSCBBBSBCSSBBBBBBSCBCSBCBSSSCBBSCCCCSBBBBBBCSSSCBBCSBCCBCBSSSSSBBCCCBCBBCCCBCBBBSBSBSSSSCSBCBBBCBSBCCBSCCSBSSBSBCCBBCBSSSCSBSCCBSCBCCCSCCSCCSBCCSBCCCCBBBSBBCCSCBCSBBBSSCBBCBCSCCSBCSCBCBCBCCBBBCCBBSSSSSBCBCCCCSSCSSCCCBCCCBSSCBSSCCBCSCSCSSBBSBBBCBBSCBCCCSCSBCBSCSSSBCCSSSSBCSSBSBBBSSBCSCSSSCSBBBCSCBCSBBBCBSSCBSBSBCSCSCSBSSSCCSCCSCSSBBCSCBBBCSBBCBCBSSBBBSCBBCCCCBCCSCSSSBBSSSBBSBBBSCSSSBSCCBBSSBBSBSBCSCSCBCSSSBSSSCBSBBBSCSBSBSCSCBSSCCSBCSSCSCSBSCCCSCSBSSBBCSCBBCCCSSBCBBCBCCSSBBSBCSBCBBCBCBBBCBCCSCSBBSCBBBSSBSSSCSBSCBSSBCBBBCBBCBSCCBSCBSSBBSSCCSCBCSCCCSSSBCSCSBBSSBBBCBCSSCCCBSSSCCCCCBBBBBCBCSSBCCBSCCCBSSSSCBBBBSSSCBSSSBBCSCBBSSCSBBCSSBSBCSBCSCCSBBBCSSCBBBSBCSCCSCBCCBCCBSSSCBCSSCBSSSSBBCCCCBBBSCBSCSCCSBCCBCSCCSBSBCBSBBBBCSBSCCCBBBBCCSCCSCSCSCBCCBSCBSBCCSCSBSBSCCBSCSCSBCBBSSSSSCSSSCSBCBBBSSSBBCBSSBBSBCCSBBSSSBCCSCCCBBBCSCBCCCBSCBSSCSCBSCSSBBBCBBSBSSBBSBBBCSSBSBSBSCSCCSCBBBSCBCCCCCSBBCCCBBSCBBBSCSSCCSBCCBCCSBBBBSSCBSBCBBBCSCCBCBCCBCSBCBBSCSSBCBCCSCBCBCSBBBBCCCBBSBBBCBCBCCSBSSSSCCBSCCCSBBCCBBBCSCBBBBBCCCSSSSCSSBBSCSSBBCSCSCBBSBSSSSCSSCCSBCCSCCCBBCCSCCBSCSBBBSBSSCBCBBSSCCSCCCCSBBCCCSCCBCCBBBBCBSBSCCBBBSCSBCCSSCCBBSBBCBBCCBSSSSBSCCCCCBSCCSSBCSSSBCBSSBBBBCSSSCBSSBSCSBBCSSBCCBCSBBSCSBCCSSBBCSBSSSCBCCCBCBCCSBCSCBSBCSBBSCBSBCSBBBCBCCBCSSBBSCBCCBCBBBCBCBCBSBBSCCBSCSBCSSBBCCSSSBBBBCCSCBSSCSSCCBCSSBCCCBCSCSSSSSBSSBCBSSBSBCSCSSCSSBSBBSSSBSCSBBSBSBBCCCCBCBSCCSBBSSSCBSBSBSSCCCSSBBBSBCSCBCBSSSBCSSCSSBBSBSBCSSBBCSCCSBBCCBCBCCBSSCBBCBCBBCBBSSBBSSBSSCBBBBSBCSCSSSCCSBCBCCSSBCBSBCSBSSSCCCSBCBBSBBBBCBSCCCBSSSBSSBCSSSSCCBSCCBSBCCCCCCBSBSSSSBBSBBCBSCCCSSCBBBSCCCCCSSSSBSBCCCSSSBBSBBSCCCCSBSCBBBBCSSCSCCSSBCSCBCSSSBCSCBSBCBCCCBBBSBCCCSCBSSSCSCBBCCCSBCSBCSSCCBBCSBSSBBSSSBSCCSSSCCSSSBSCBBCSCSBBSBCCCBBCSBBSCSSBBBSBSBSSBBCSSSSCCSCSBBCBSCCCCSSSBBSBCSBSSCSCCBBBBBCCCSCCSSBSSBCBBCCCCSCSCBCBSSCCSCSSSCBSSBBCBBCBBSBCBCSBCCSCBCSCCSSSCCCSBSSCSCBBBBCCBCBCCSCBSSSSBBSCSSSCSSBCBBCCSBBCSSBSCBSBBBSBSBSCCCCBCCBBBSSBSSCBCBBSBSSCSBSCCSCCSCSSSBSCBBSSSCCSBSBCCBCBBBCBBSSSSBCBSCCSBSBCSBCCCSBCSSCCBSCBBCCBCCBBCSSBCSSSBBBBCBCCCBSBBCSBSCCBCBCSCBSBSCSSCSBSCSCCCCBBCCSCSCCCCCCCBSCSBCBBCSBSBBCCCCBBCSSCCCCCSBBSCBBCCCCSSSCCCCCCSCBBCBSSCCCCBSCSSSBSBSBBBSBBSBSSBCBCCCCSSBCCBSCBBCBBCBSBCCSCBSCBBBBBCSBSSBCSCBCCBSCSCCSCCBBBBBCBSSSSCCSCBCBCBCSCBCBBSSSSCCCSSCBCSBSCSBSBCBCSCCSCSSCBCSCBSBBSCCCBCCCSCCCCBBSSCBCBCBCBSSSSBBCCCBSBBBBBBCCSBCSBSBSCCBCCCSBBCSBSBCSCCSBSCCCBBBBCSBBSBSCCBCBCSSCSSBCCBCCCBCCCSBBSCSBSBCBBBSCCBSSCBBBBSCBCSCBCBSSSCCBSSCCCSCSCSSCBSCBCBBSBBBBCCBCBBSSCBBBCSCBCBSBSSCBBSSSCCBBBSSSSCCBSSSBCBBBBCBCCBBBCBSBSSCCCCSBSCCBBCBBCCBSBBCSCSBSSBBCCSSSSSCCSSCCCSSCCCCSSCCSBCCSSBSSSBSCBCBBCSSSBSSCCBBCBBCCCBSBSCBBBBCSBSCSSCCSSBBSBCSBSBBCCBBBBBSBBBSSSSSSBSBSSBBBBBSCSCCBCBBCSBCBBCSCCSSBSBCBCCBSSBCSBBSSCBBSCBSSSSBSCBBBBSSBCCSCCSSCBCBSBBCSBSBBCCBSBSSCBBBSBCSCCBBSSCSCCCCBCBSSCSSBSCSSBBCSBCSBCCSBCSSCSSCCBSCBSSBSBCCBSCCSSSBCCCSCBSBSCCCBSSSSBCSCBSSSBBSBSCCSSSCCBSBSSSCCCCCSSBCCSCSBSCCBBBSBSBCCBBCCCSBCCCSSSBBSCSSCBSSCBSSCSCSSSSBBCSSBSBSBSSBBBCSCBCCBCBBBSBSSBSCCSCCSCBSCCSCSSCCBCBBSBBSSSCCSCBCSBCBBCBBSSSSSSSSSSSSBSCSBCCSBBCCBCSCSBSBCSCBBSSCBSSBCSBBBSCSBCSCSCCBCCSSCSCBSBBCSSSBCSCCCBCBCSBCBCSCCCCSBCSCCBCBCBBSBBSCCBSCSCSSBCCBSCSBSCBBSCSCBSCCSCCSCCBCBBBSSSSBBBBBSCBSBBSBSSCCCBSBSBSBCSCBSCSCSCCBCCCSBCCSCCCBCSSBCBCBBCBSCSSCSCSBBBCCBCCSBSSSBCSSCCBCBSCCBBBSBBCCCBCSBBBSBBBBSBCSCCBCCCSSCCBCSSBCSSBBBCBSBBBBSCBBCSBSSCSSCBCBBBSBCSCCSBSBSSSCBBCBCSSSCBBBCCCCSBCBBCSBCBCBBSSBSCBCBCSBSSBCCSSCCBSSSCBSCCCBBSBCCCBCSCCCBSBCSCBCCBSBSSBSSBBSSCSCBSSCCBBBSBSSCBCCBSBSBBBSSCSCSCSSCCCCSSBCCSBSCBSSCCSCBCBCSCSBBSBSBBBCBCBBSSSCSCSCBBBBCCBBCSCSCSSBBSSCSCCBSSCCBSSSCBCSCCBCBSSCSCCCCBCSSBSCSBBCCSCSCSBBCCSSBSSSCCCBSSCBSCBBCCCSSBCCBBSCSSSCBSCBCBBCBCSSSBSCCBSCBBCSCSSBSBBSBSSSCBSSSSBBSBBBSSBSSBSCCCBSCSCCSBBBCCCCSSBCCCSBCBBSSBSCCBCBBCCSCBSSCSCBCBSBBSBCCBBCBCBCSBSCCCSBCBSSCCSCSCBBCCSSBSSSCSCBSCCBSBSBSSSSBSSSBCSBSSBBSSBBSSBBBCCSCBSCCSBSBCSSCCCBBBSBBBSBCBCSSCBSCCSCBSBBSSCCCSCSSBCCSCCCSSCSBBCBBSCBCBSCCBCBCBBBBBSSSCSBSBCBBBCCBSCBBSCBBSCCSSBSSCCSCSSBBSBCBCSSBCCCSSSCCBCBCSSBBSBBBCCBBSCBBCCBSBCBSBCSCBBSBCCCCCCCCCSCCBCSBBSCCCCCBSSBSSCBBCBBBSSSBCBSCSCCCSSBCCCSCBBBCBBBSCSSSBBCBCSCCBCCSSCBSSCBCBCSBSCCCSBBCSCSBBCSCCSBSBSBSSBBCBCBCSBSSSCSSBBSBCSBCBBSBBSSBBSBBBCBSSCSCCSSSSSCCBBBCBSCBBCSCBSSCSCBBSBCCCSBBSBSSSSSSCCBCBBBSCBBSSSBCSBSCCBCCSSCBCBSCBSCSCCSSCSBSBSSCSCSSBBSCBCCSBSBCSCCSCSSCSBBBSCCCCSBBCSCCCBSBCSCCSCSCCCBBBSSBBSSSCCSSSBBBSSSSSSCSBSCSBCSSCSSCBBBBBBSSBCSBCSSCCSBCBSCBCCBCSBCCSSSBBSCBSSSBBCCCCSCCBBSSBBSSCCSBCSCSBCSCCSBCBCSCCSCCCSCSBSBCSBCSSSCCCSSCBBSSSSCCBCBBBCSSSCCSSCSBCBSBBSCBSBSCSCSBSBCBSCCSBBSCSSBSSSBBBCCBCSBCCSBCCBSBCCSCBSBSCBBBCCSCBSCSBCBBCSBBCCSBBSSCSBBCSBBCCBBBCSCCBSSSBSBSBCSSBSSCBBCSSSBSBSSCSBCBSBSBSBSBCBSSSBCBSBBBCCSSBSBSSCSCSBCSBCBBSSSSSBCSCCCSSSCBCSBCSCSSCSBBSSSBBSBBBSBBCSBSSBCSBSSBCSCCSCCBCBBSBSBCSSBCSSBSBBSSBCCSBBSBSCCBBSSCSBSCBSCCCBCBCSSSSCSSSSBCBSCBCSCSCSBCBBCCBSSCSCCCSCBCCCSBCSBBBBCSSBCBBBSBSCSBBBSSSCCBBBSBBSBSBSBBCBSCSSBSSBCCSSBBCCBSSSCBCCCBSSCBBSBSSBBBSCBBBCSBSCSSSCCSCSCSBSSCBCSSCCCCSCSCSCBCBSBSSCCSSBSBCCSSSBCBCSSCCSBSCCSCSSCCBBSBCBCBCSSCSSBCSBCCSBCBCCSCSCBCCBCCCSBBCCSBCBSBCCSBBBSCSSBSCBSCCCBSCBBSBSSCBBBCSBCBBBBSBCBCCSCBBCBBCBBBBBSSBSCCSCBBCBCCSSCCCSSCBSCSBSBCBSSBCCCSBBSSBBSBSSCBBCSSCCSCBCCSCSBBCBBBSBCBBBBBBSBBSCSCSCBCBBBSCBBBCCSBSBSSSSCBSSCCCCSCCCBCSSSSBCBCCBCSBSBSBSBBBSBBSCSSBBSCSSSSCBSBSSSCSBCCCBCBSCCSCSBCCCSBCBBSCCBCSBBSBSSCSBSSCBSBSBSBCSSCCSBBCBSBBCSSSSBBSBCBBBCBBCCCSBSCBCCSBCSCBSCCSCSBCBBCCCCCCSCCBCBCCSCSSBCSSCBSSBCCCSSBSBCBCBSBSCSSCCCCBBCSCBBBBBBCCCBCBCCCCCCSSBCCBCCCCSSBCSSCBSCBCSBCBBBBBCBCBBBBBSBSSSSBCSSBCCBCBSBCSSCSCSBSSSCBCSSSSCBSBSCSBSCBSBSSCCCCBBCSSSCSCSBBCCCBCCBBSSCBSSSSSBSBCCBBSBSSBCCSSCSBBBCSBSCSBCCCSSSSBBSBCBBSCCSCBBBCBSBCCCSSSSCBBSSCSBBBSSBSCSSCBCSSBBCBCCCCBCCCCBCBCBCBCSSSSSCCSCSCBBCCBCSCSSSBBCSCBSBBCCSBCCBBSSSCBBBSSCBSBSBBBBSCCCSCBCSBCBBSCBSCBBBSSCBBBSBBCCSBCSSSSSSSCCBBCCSSCBCBSCCBBSCBBCCCSSBCSBSSCCCBBBCBBBCCCSSBBCBSBSBSSCBSBCCBCCSBBSSBCBCCBCSCSBSCBCCSSBCSSCCSBCSBBCSCBCSBBCSBCBSCBCSBCBCCBBSCSSCBCCSSBBCBBSCSBSCSBSSBCCCCSSCBSBBSCBBSCSSCBCCBCCBCCSSCSSCBSBSBCCSBCBCSSBBCCBBCSCBCSSCCSBSCSBSCBSCSCSCCBCCBCSSCBBSCCCBCBBBSCBBBBCCSCSCSCBCCBSBCCBSBCCSSBBCSSBBCSSCCSSBSBCCBSBCBSCCCSCBCBBSBSSSSBBBSCCCBCSSSSSCCBCBSBBBCSCBBCCSSCBCSBCSBSSCCSBSCCCBBCCSCSSBBSCBBBBBSCBBSBCSCBCCBSSCBCSCSBCBSSBSBSSBBSBSCBCBBCCSBBCCBBBSCCBBCBBCSCSSCBCSSCCSCSCSCCCCSBSBCBBSSSBBBSCBCCCBCCSCBSBSCBBBSCBBSBCBSSBCSCCCSCSSBBBCCBSCBSCBBCBBSSSBBSCBBSCBSCCCCBBSBBCBCCSSSCSBBCSSBSCBSBCSSBBSCCCBCCCBSSCCSCCCBBSBCBCSSSCBCCSSCBCBBBBCBBSBCSBCBBSBBSBCCSCCSCCCSBBSBSBSBSBSSBSCSBCSCBCCBBSSSSSCSBBSBBBCCCSSBCCSSCSCCBBSBSCCBCCBBCSSCSSBCSCBSBBSBCSBBCCCSBCBSBCBSCCBCSBSBCCSSSBSSBCCBCBCBCBCSBCSBSBCSCBBBBSCCCBCSBCSCSBSBBSBCSBBBCBCBSBCBCCCSCBSBSSCCBCBCCCSBBBSCBCBBCCCSCSBCSSCCBCBSSBBCCCCSBSBBSBBBSCCCCCSCBSBCSBBBSBBBCBBBCBCSSCBSBBSCBSBSCSSCCSCBSBBSCSSCCBBBSBSSCSSCSBSSSCCSBSBSSBSSSCBSBCSBCSBSSCCBCBSCBBSSBCCCSBBBBSCBSBCBCCBBSSSCCCCBSBCCBSCCSSSCSBSSSSCSSCSBSCSSSCSSCBSCCSBSCBSCCBSCBBSSCCSCCCBCSCSBCBBCSCBCCCBSCBCBCCBSCSBBSBBSBBCSCCBCBCSBBBSSSCCSCSCBSSSSBCSBBSCSSCSBBCBCSCSCSSSBBCSSBBCBSBCSBBBSBBSCCBSSBSCSSBCSSSBCCSSCSCBSSBBSSCBBCBSCBCCSSBBBSBBBBSSSCSCSBBSCBCSCBBCSSBBCSCCCBCCBBCCSBSBCSSSSSCCCSCCSCCCSSCSCBSSSSSSCCCBCCCSCBSBBBSSBBSCSSBSBBCCCCCSSCBSSCBSSCSBSSSBSCBSCBCCSCBCBBCCCBSBBCBSCSSCBBBBBCCCBSSSSBBSSSBCBBSSCCCBCSSSSCCSSBCSSBBBCCSCBSSCCBBCCBBBSSBBSCBCSBCSBSCBCBCSSSCCCCBCBCCSSCSBBCCSBSBBCSSBCSSSSBCBBBSSBSCCSBSSSSCCCSSCCSBSBCSSSBSCCSSBBCSCBBBBSBCCSCCBCSBSCCSSCCCSSCCBSCBCBCSSSCCCBSSBBBCCSCSSBCBBSSBSSBBSSBBBBSSSCSBSBSCBSSSBBBSSBCBSBBCCSBCBCSBBBCSSSCSSCCSSBSSCBBSCBBBCBCSSSSCCCCSSSCCCCBCCBBBCBCCBSSCCBBSSCCBSSSSBCBBBBSCCBSCCCBCBCCSCSCBSSSCBSSSCBBCCSCCSBSCSCBCSBSBCSCCCBCBBSSSCCBSCCSCSSSSCCBSSCCSBCSSSBSSBCCSCBBBCCSSSCCCCSCSCSCCSCSSBBSCCSSBCCCCCSSBBBSCBCCSSCBSSBSBCCSSCCCCBCSCSCBCCSCBBBCBBSBBSSSCCSCBSCCSBCBBCCCBCSBCBSCBSCBSSSCSBBBSCBSCBCCSCCCCCBBSBBCCSSCSBBBSBCCCBSCBSCBBCCBBBBBBSBBSSSSBCSBSSBBCCSSBCBSBSCSBCSSSCCSSCBBBBSCBSCBSBCBBSSBBCCSSBBBBBSBSSCBBBCCSCSCBCCCSBBCSCCCSSCCCBCBCBCBSSSCBSCSBBBBSSSBBCSCCSSCBSCCCBBSCBSCCCSBSBBBBCSCSBSBCSCBSSCBCBCCSBCCSSBCBSCSSBBCCBCBBBBCCCBBSSSCCBBCBBSSSSSBBCSBBCSSSSCCBSCSCCSBBSSBBSCCSCCSBSBCCBSSSCSSSSCCCBSCCCCSSCSSBBSCCSBSCCBCSSBBBBCBBCCBCSCBCCSBBSBSSSBSSBCCCBSCSCBBBCCBCCCCBCBBCBBSBBBSSBSBCSSCCCBCSSSCBSSCSBBCBCCSBSCSSSCSBBSCSBBSBBBCSSCCBSCBCCCCCSSBSCSCBSCCBSCCSCBCSSSSSCCCSSSCSBCCBCBBCCBSSBBSSSCCCCSSCSSBSCBCCSBSCSBSBSBCBCCBCBSCBCCCBBBCBBCBSCCSSBSCBCSSCSCBSBCSCBCCSCSCBSSSBBCBSBSSCBCBSBCSCBSCBCBBBBCCSCBBCBSBBSBBBSBCBCBCBSBBBCCSBCBBBCCSSSBBBBBBSBSCCSCBSBCSBCCSCCSSSCBCCSCCBSCCSCBBBSSCSBCBCBBSBSCBBCBCBBSBSSSBCCCSBBCCSCCBBCCBSCCCCSSBCBSBCBCSSBBSBSSSSBCCSCSCCSBBCSCSSSCSBSBCCSBSCSCSSSCCBBSBCCBBCSCCCCSCBSBCCBSCBSCBBSSSSCCSBBCCBBBSCSSSSCBBCCBCBSCSSBSSCSSSCBBCCCSCBCBCCCBCBBSSBCBSBCSBBCBBCBCBSBSSCBBCSCSBCBSBCCBCBCSSSCSCBSSCSSCCCCSCCBCSCSCCCBCCBCCCCBSBCSBSCCCBSCBCBSSBSCBBSCCBSSSSSBCSCBBSCSSSSBCCCBBBSCCSSBCBSBSBCCBBCBSSCCSCSSSBBCSCBCCBSBBCSBCSCCCSBBCCBCBSBCBCBCCBSBBCSCBBSBBCCSBCCCCCSCCBSSBBCCCSCSCSSSSSSSSSSCBSBBCSBBCBCSSBCBSSBBBSBCSSBBBCBSCCCBCBBCSCSSSCCSCSCSSBBBCBBCSBBCCSCSCSSBBBCSCBSSCCSBSCBSSCBBSSCCSBCSBBSCCSCBBSBSCBCCSSBSSBBSCSBCBSBBCBSCSBBBBCCBCSBBBBBSSBSSCBSSBBBSSSBCSSSBBCSBBBBSSSSCSSBSCSCCSBCCCSBCBBBSBBSBSBSCBSBBCBCBBCBCBBSSCSCBCSCBBBBBSSCSBCBCCSCBCSSBCBSCBBCCBSBCCCBSCSBBCSBBCCCCSCSSCCBBCSCCCBBSCSCSBSSSSBSSSSSBSBBSBCSCBCBSSSBSCCSCBBBSBSBSCSCCCCSSBCBCBBSCSSBBBSSBBSCCCSCSSCSSSBBSSSSBSCSCCBCSCCCCSSSCCSSBCCCBBCSBSBCSSBCBCCSBSSCCBCSBSBCSSCCBBCCCCBCCCSSSSSSSSBCSSCCSSSSBCCSCCCSBCCSBSCSBCSSSSSBSSSSCBBBCSSBBSSSCCSBSCSCSSBCSBCCCBCSBSBBSSCBBBBSCSCCSCBBSSCCBSCSBCBSCBBCBCCCSBSBBCSCSSCCSBBCCCBCBBBSSCBSSBSBCSBCSCSSSSBBSCSBCSBCBCBBCSBCSBCCSSSSSCSSSCSSBSBBSBBCBCSCSSSBSBCBBSBCSSBSBSSSBBSBSBCBSBCSSSCCCBSCBBBSBCBCBCCSCCSSCBBBSBCBBCBCSCSBBSCCCCBSSBBCBSSCBBCBBBCSBBSBBBCCBCBBBCCBBCSCCCBCSCSCCBSBBBSSCSBCBBBSSSBSBBBCCBBBCCCBCBSCBCSBBSBSCCSSCBCSBCCSCSSCSBCBSCCSSSSCCCBSSBSSCSCBCSCBBCSSCBCBBCBSBSSBBSCBSCSSCBSCSBSCSSCCSCSSCCCBSBBCBCSBCCSSBSBCBCBBSCCCBBBBBCCCSSCBBSSCBCCBSCCCBCBSCSBBSSBCCSBBSSSSBSSCBBSCBBBBCCCSSSCBBSBCSCBCBCCCCSSCSSBBBSSSCBSBCBCSSCBBCBBSSSCBCCSCCCBSCCCSSBBCCBCBCCSCSCBCCBCBCCSCSBBCBCSSBBBCBCSSCCCSSBBBSCCBBBCSBSCSCBSSCBBBBCSCCCBBSSBBBBCSCCBBSSCCBSCBSBSSCSCBCBCCSCCCSBCBBCSCSCBSSBSCSSBSBSCCSCSBSBSCSCBBSSCSCBCSSSSSBSBCCBSSCBSBBCBBCSCCCSBBBBCBCBCCSCSCSBCSSSCCSSSBBBCCSCSSSSBSSSCCCCSBCCCSSSSCBSBSCSCBBBBSSCCSCBBCCSBCCBSBBSSSCBSBCBCSBCCBCCBBSSSCCSBCBBBSCSBSSCBBSBSCCCCBSBCSSCSCCCBBBSSSCSCBCCSSBBSBSSBSCCSCCSSCBCBCSSCSCSBCSBBSBCSCSBSBCCCCCCBSBSCCBSBBBCBSSCBCCCCBSCCSSSCSSBBBBSCCCCBBCSSBSSBSBSBCSCBBSBSSBBSSBCCBSCBSBSSBBSSSSCCCSSSCBSSSBCCCBSBBBCSCBBBSSSSCSBSSBCSBSCSBBBSSCSCCSCCCBSCCCCSCBSCSBSBBBSBSCCCSSCBCBSSBSSSSBSCSBBSSSSSBSSCBBCCCBBSBBBSCSBSSSSBBBBBBCCBCBCBCSSBCSBBSBCSSBSCBSSSBBBSCBBBBSCCSBSCSCCBSSSBCBBBCCCCSBBCBCCCBCSCSSCCBSSCSSCSCCSCBSCBBCBSBBBBBCCSBSCCCSCBBSSCSSBSBBSBSSSCCCSSBCBCCSCCBCSSSSBSCBSSSSCBCCSSBCSCSCSSBCCBCBBBCSSBBSBCBSBCSBCBBBSBBCCSBBSBBBCCBCSSBBCCSBCBBBCCBSCBSBSBCCCBBBCCBSCBBCCBBBSSSSSCCBCSBBCBSSCSCCBBBBSSBBBBBSSBCCBBBSSSBSBSCBSSBBBSCBBBSSSCBSCSSBSCBBBBBBBCBBSSBBBCSBCBSBCSSCCCSBSCSCCSSBSCCCSBSSSSCSBCSCSSBBCCSBBCCSCCBSBBBCCCSSCBCSSSCCSCBBCBCSCCCBBBCCSCCCBCCBCSBCBCSBSCSCSCBSBBCCCBCCCSSSCCCBBCBCCCCSBSSSCSSSCBCBBBCCCCSCCBBBBCSBCCBBSBCSSSSCCSBSCSCCSBSSSCSCBSBCCBSCCSCSSSCBCSBCBCBSSSBBSSSCBCSBCBSSBSCSBCCBCSBCCSSBBCCCBSCBSSSSCCSSCBBSBCBCSSSCCCBBSBBBCSCCCBBSBSSCBBBBSCBSSCSBSSCCCSSSBCCBSBBBSCCSCSBCBBCCBBSBSBBCBCBCCCSBSBBSSCBCBSBCSCBSCCBCBBBBCCSBSBSSSBSBSBSBSBSBSCBSCCBBSSCBSCSBSCSSCSCBSBCBSBSCSBSBCCBCSCBBBCCCSBSSSCSCSSCSBBBBSBCCSBBBBSBBSCBCCCBSCBCSSCBBBBBSCCSBSCCBCBBBCSBSCSBCCSBBSCCSBCBCSSSBCSBBSSSBBCSCCCCSSBSCSSBSCBSBCSCBSBCSBCCCBBBBSBCBCSSSSCBSBSSBSCCSBSCCSBSBCCBSCBBBSCCBSBSCBSCBSBSSSCSBBCBSSBBBCCSSSCCSCSSBSCBSSCSSCSCSSBSCBCCSSBSCSBBBCSBCCBBSSBCSBCSSCSCSSSCCBCCCSCSSCBSBSSSBCCBSSBSSCCCSSSCSBSCCBSBBCBCCCBSSBBSCBSCSSBCSSSCCSBBSCCSBBSSBSCBBBBBSSCCSBCBSCBSSBCBBBSBBSSBBCSSSBCBBCBSCBSBBCCSSBCSSSBSBBBBSCSBSCBCBSBBBCSBSSCCSSSBSSBCSCSSBSBCCBBBBBSSCCSCCCBCSCCBCSSCSSBSSSCSCCBCSSSBBBCBBCCCSBSCCSSCSCSBCSBBCSCBSSCCCCCCSBSBBCCSSBCCBSSBBCSBBBBBBCCSBCCSSSBBSSBBCBSBBCCBSCSBSBBCCSCBSCSSSSBCSCCSCSBSCCSBCSBCBBCBCSCCCCBBBSSBBCBSCCSCCCCBBSCCSBSSCSSBCBSSCCCBCCSSBCSSSBSBCBBSCSBCSSCBBBSSCSCBBSBBSBCSSCSCBSSCBBBSCCSCSSCCCBCCCSSSBBSCSCBBCCCSBCCCBSBSBSBSCCSCSBSBBBSBSSCSCSBSSCSSBCCCBBCSSBCSBSBSSCBCSBBBCBCSBBCCCBCCSSSSSBCSSSCCBBBCCSBCSBCBBBSCBSSCBBCBBBBSSCBBBBSBCCBSCCBSSBSBCBCCCCCCSSSSCBSCCCSCBCSBSSCSBSCCCSSSSBBSBCBSCSCBCCCSSSSCCCBCSSSCSCCSBCSSCCCBSBCCSSCCCSSSSBSSBBBCSCSBCBSSSCBBCSCSSSCBBSBCSBSCCCBCSCSCCSCCCCSCBBBCCSCBCBCSSBBSSSBBSCSBCBBBBSCBBCBBBCCCCCBSSSBBBBCCSSCSBSCSCCSSCBBSCBCBBBBCCSBCCCSBSSSBSSSSBBCBCSCBCSSBCCBCSBSCCSBCSBSCBCSSBCCBSBBCBSBBCSSCBSBSBSBSSBCSSSCCBSBSBBSCCCBBCCCBSBCCBBBCBBSBBSBBSBBCSCBBBSCCBSSSCSCBSCCSCSCSBSBCBCCBCSBSCCSCCCBSBBBBSSCCSCBCSCBBCSCSBCSBCCCSBBBSBCBSSSBBBSSSBBBBSBBBCSSSCBSSCBCCCBCCCSBCBSCCSSCBSSCSCBSCBSCBBSCCCSBSCBBSBCCSCBCSSCCBBSBBSCSSCBCSBSCCBBBBCBCSBSSCBBCBCSCCSBBCCSCBCCSSCBBBSSSSCSCCBSBSBCSSCSCSBSSSSBCCBBCBBCCSSCCSSCSBSBSCSSBCBBSCBSSSCCBSCCCBCCBBCBSCBSBCCSSBBSCCBSBCCBCCSCSSCCBCBCSSCSSBCCCSCCCSSBSCSCSCSCCSBCBCSSCBCBCCCBSCBBSSCCCBSCSCCSBSSSBBCCSSCBBBBCSSBCSCSCSCBSBCSSBBBCCBCBCCSCCBBCSSBCBBSBSSBBCSBCCCCCCBCSSBBBSSSSBBSBSBCSSCSSBBSBCCCCSSBBBCSSCBBSBSCSSCBCSCCCCSCBSSCBCBBSCBBBBSBCBCBSCCSCBSCSBBBBCSBBCBBSCSBBSBBCSSBCSBBCBSCSCBBBCCCSBBBCBCSCCCBCBCSBBBBCCSSSCBSSCBCSSBCCCCBBSSSBSSSCCCBCBBSSBSBCSSCSSCSCBBBCBCBBCBCSBBSCSBBBSSBSBSCBSBCSCCSBCBCBBSSCCCCCCCCCSCBCCBBCSBCBBCSCBSCBBBBCCSBBSSSBSSCCCCSCCCBBCCBBBSBBCSSBBBCSCCBSCSBCCSCBCCBCBSBCBSCCCSBBSCSSCCCSCSCSCBCSBBCCCCCBBBSSBBSSCCBBSCCBSBBCCCSSBSBCCBSBSSBCCCBBSCSBBSSSSSCCCBCSSBCCBCBBSBSCCCBBCCBSCBCBBBCCSSCSCSBSCCCBBBBBBCBSSSBSCCBSCCBSCSCCCCSSSCCBBBBBBSCCCBCSSSCSBBCBCBSSBCCCCCSSBCCCBBCSCCCSSCCSSCSBBCCSSCCSSSSSSBCCSSSSBBSBBBSSSSBCSBSCSBSBBCSBBCBCCBBSBBBCBBSBBSSSBBCBBCCCCCSBCBBBBCCCBCBBCSSCSCCCSSCCCBCBSCCBSCSSSCBCCSCBSSCSSSBSCSSCSBCSBCBCSSCBCCSCSSCCBBBCCSCBBSCSBSBCSBSBBCSSCBCSSSBSBBCCBCSCBBSBSCSBBCSBSCBBSSBSSCCCSBBSBCSBBCSBSCBSCCSBSBBBBSSSBCSBSSCCCBCCBCSCCBCBSSCSSBSCBSSSSBBSBCSBCSBBCCBSSSSCBBBBBCCBBSCCBBBSCBSCBSBBCCBBCBCBSBSSSBSCCCCCBBBCCBCSCBBCCSCCSBCBBSCCSCBSSCBBSSBBSCCBCSSSSCCSSSSBSSBSBBSCSBCCCSSBBBBCSCBSSBSBSSSSBBCCBSBCCCSSBBCBBSCSBBBBSCCCCBSBSBBSSSCSBSCSCSSSBCBCSCSBBSSBCBSCCBBCBCCCSCSCCBCBSSCBBBCCBSSBBSBCSBCCCSCCSBBBBSSSBBBSBSSSBCSCCSBBBCCSCBCSSBCCCSCCSBBSSCBSSBCSSSCSBSBSCSCBSCCBBCCSCCSSCBCBCCBBSSSSSCBCBCSCBSBCCBSSBSSSBSSCSCSBBBCBCCSSCSSCSCSSCSCSCSSSBBCBCCSSBCCBBBCBCCCBBSBSBBSSCSSBCBBCSCBSBCSCBSSCSBBCSCCSCCBCSBBCSCCSCBCCSCSBCBCCCCSBSSBBSCSCCSBBBSCBBBSSSCSCBCSCBSCSCSSSCCSCSSCBBSSCBSCSCSSSSSCSSCSCSBCSBCBCCSSBSBSCSSBCSBBCSSBSCCSCBBCCBBBBSSCSCBSBBBSCBCCSSCBSSCBSBCSCBBSSBSCSCCBBSCSSBBBSCCBBSCCBSBSCSSSBBSBBBBBSSBCSBSCSSBSBSBCSCCBBSCBCCSCCSCCBSCBCBCCBSCSSSBSBCSBBBSBBSBBCCBSCBCCBBCBBCBSSCCBSCCSBBBBBCBCBSBSCSCCSBCBBBCBBBSSBCSSCSCBSCBBBCBSBCCBCBSCSCCCBBCBBBSBBBCCBSBSCBSBCSSSSCSSBBSSCSBCCSBCCCCCCSBSCBBBBCCSSBBCSCBBBBSSSBCSBSCSCCBCSCCBSBCBSBCSBBCSCCSSCCBBBBCCCSBSBCCCBSCSCCSCSCCSBCSBCBBSCCSCCBSBCBCSSBBCCBBSSSCBCBCCBCCCSSSSBCCBCBSSSSBCSBCBCBBBBCSBBBCSBSCCSCCSCBBBBCBBCBBSBBCSCBBSBBBCCBCSBCSBSSSSBBCSCBBBCSBBBSCCCBCCCCSBCBCSCBCBBSCCCSBCSCBCBCCCBSSBBSCSSBCBSCSSCSBSBCCBCBSBCSSSCBSCSSCCBCSBCBSCSBBBSBBSBSBCCBBBSSCSSBCCSCBSBSCCBSBCSSSSBSBBSCCBCBBCCCSCBBSSSBCBBCBBSSCSCCCCBCBSCBBBBBBCBSSSSCBSCSCBSCBCBCBSCBBBSBCBCSCSBSSBCBCCBCSCBBSSBCBBCSCSCBCBSBCBCSSBCCSBBCSCBSSCCBCBSBSCCSSBCSCCCBBCSBSCCSBCSCCSSCSBCCCSBBSBBSCBSSSBSCBCCCSSCBBBCCSCBBSCBSBSBCBCBBSBBSBBCSBBCCSCBSSSCSBSCSBCBBBCCSCSBCCBCSSCCBBSSCBBCBSCSBSSCBBBBCSSCCBCCCCSSSBCBSBSBCSSCCCCBCBBSSSBBCCBCCSSBBCSBSBSCBCBCSCBBSSBCCBSSBBBBSCSCBCBBCBBCBBCCSSCCSSBBCSCSSCCCBBCSCCSSSCSBBCBCSSBCBCCSSBCCCCSCCSBBBBBSBCSCSBCCCBBBBBCBBSBCSSBSBBCSCSSSBSBCCSBSSCSBBSSSBSCCSBSCSSSBBCCCCSBSBBSSSCCBBSCCBBSSBSCBBCSCSCSCCSBSCSCCBCBBSSCCCCBCBSBBSBCSCCBSSCSSCBBCCCCBCCBSCSSBSBSCSBCSBBCSCSSBBSCCCCCCBCCBCBBBBSCSSSSCCCSCBCBCSSSSBBSSBBCCBCBBSBSCBBBBCBBBSCSSCSBSCSCBBCBBBBCBCBBSBBCBBBSCCSCBBSCCSSSSSCCSBBBSSCBBCSBBBBCCSBBBSBCSBBCCCCCCBCCBBBBSSBSBSSCSSBCSCCCBSCSSCCCBBSCSBSCCSBBBCCSBCBCSBCBCCBCCBBSSCSCSBSCBCSSSSSSCSSSBSCBSBBSBCBBBBBBCSBCBBSCCBCSBSSSSCSBSSBSSBBBBSBSBBSSBBSBSCBSCSCCSSBBSCBBCSBBBSCCSSBCCSSCBCSBBSBCBCCCSCSBBBSBBSCCCCSCBCBSCCCSSBCBCBSBSBSCSSBBSBBBCSSBSCSCSBCSBCSCCCSSBBSCBCSCSSCSCBBBSBSSSBBBBSCCCSSCSSCSBCBBCCCBBBCCCCCBBCBBSCBBBBCBSCSBCCSCCBSCSCCBBCCCCBCCCCBSCCCBBSBBBBBSSBBCCSCCSCCCCSCBCCSSBSSBCBSCSSBBBCBSBBCBSCBCSBCBBSBSSCCBBCCBSCBSBSCCSBSBCSCBSBCBSCSSCSBSCBBBCCCCBSBSBBSCBCSCCCBBSBCBSSCCCCBBCCSSBCCSBSSCCCBCCCCSSSBSBSCCBCCCSSCCBCSCBCSSBCBCBBCBSSCCBCSSSBSCBSBCSSSCCBCSCBSCBSBCSBBSBSSBBCSSSSCSBSBBBBCCCBCCBCSBBSSSCSCBCCCSBSBCSBCCCCSCCBCCSSBBSCBCCCSBSCCSSSBSBSBSBBCBSCBSCCCSCCCCBSCSSCBBBBBCBSBSCSBCCCSCCSCSSSBBCSCSSSCSCSBSSBCSSBCSBCCCSSCBCBBCSCBBCSBCCSCBSCCCSCBSSBCBSCSCCSCBSSCSCCBSCCCSSBCBSCSSSSCBCCCCCSBSBSSSCCCSSBCCSSBSBBCCCBBSBCBBBSSBSCCBSSBCBSCSSBCCSCCCCCCBCCSCCCBCCBSBCCCBSBCSCCCBSCCBBBSCCCBCCCSSBBBSCBSSCBSSBSSBCSCSCBBCSBCBBBBCCCCBCSCSCSBCSSSCCSBSBCCCCBSCBCSCSCCCCBCCCSBSCBBCBSSCSBCBBCBSCCCSBCCBCCBBBCCSSSSSCCSSBSSCCCCBBSSSBBSCSBBCBBBCCCBSSSCSBCBCSCCSBCSCBSCSCBSCCSSBBSBCCBSCSSCSBSBCSSBSSSCCCSBCBSSSCBSSBBSSBBBBSSCBSBCSBBBBBCCCBCBSBSCSSBSBSCBCBCCCBCBCCSCBBSSBSCBSSBSBCCSCSCSCCSSSSSBCBCCSCSBBCCBCBSCBCSSSSBBSBCCBCBBBSSBBSCSCCCBSSSSSCCSSSBCBBCSSCCSSBCSSBSBBBBBBSCCSCSSSBBBCSBCCSCBBCCCBCCSCCBSBSSBBSSBCBCBSBBBSCSCSCCSCSSCBSBSBSCBBCSBSBBSBSCBBBBBCCBSCBSSSSBSCSBCBSBBSBBSCSCCCCCSCBBSCSSCSBBBBSSBCSCBCBBBBBSBCCCBSBCCBSSSCBBCCBBBBBBSBBCSBSBCBCSBSCSBSCBBCCCSSCSSSBSBSSCSSCBCCSCCBSBCCSCCBBBBSSSBBSSBSSCSCCSBBBBSBSCCBBSCBBCSSSSCCCBBSSSBBSBCSCSBBCBSSCBCSCSBBCCBCCBBSBCSBSSSSSSCCCBSSSCSBCBCCBSSCBSSBBSBCSBBSSBCBCBCBCCSSCSSCCSCSSSSSBBCBCSSSSCSBSCSSBSSBSSSBBCSSCCCBBSBSBSBBBSSCCSCBCCSSSCBBCSCSSCSSBBBSCBBCCSCBSSCCSCCBSBSCCCBCCBCBSBSSBCBSSSCCBSBSSCSBBCCCCSCBBBBSSSBSCCBBSBBCCCSCSCBBCSSCBSSBCSSCBCBCCSSBSBSBSSCBCCBSBSSCSSBSBBCBCCSSSCBBBBBBCSBBSCCBCSCBSCBSCSCCSSBSCBCBCBCSCCCSSCCSBCSBCSCCCBSSBSSBBCSSCBCSCSBBBSCSSCCBSBSCSSSCBSBCSCBCBBSCBBBBCSCSBCBSSBCCSBSSBCCCBBCSCSSSCCBBSSCCBCSCSBSBSCSSBSBCSSSBBCSCBCSBCSBSBSBBCSCCSSBCSCSSBSCCCCSBCCBBCBCBCCCSCBBCBBBBCSBSBBSCCBSCBSSBSBCSSBBBCCCSCBCBSCBSSSCSCCSCCCBSBBSBCBCBCSSCBSCCBCCBCBCSCSCBCSSSBBBBBCSCCSSSCBSSSSCCSBSSBSCSSBSCCCBSBBCSCCSBBBCSCCCSBCSSCBSSSBBSSSBSSBCBBCSCBSCBSBCBBBBCCBSCCSBSBBCBBBBCCBBBSCBCSSCBBSSCCCBCSCSCSCCBBBCSCBSBCBBBCCBSSBCSBBCBSSCBSCSBCBSCCCCSSSBSBSSBCCCCBCSBCBSSSBBSSBSSSSCBBCSBCSCCSCSSBSCSCSCCCBSCCBCSBBSBCCSSCCBCBSSCCBBCBCCBBCBCCCCCSBSBCCSCBCCBCCBBCSBBSSBBSSCSSCBSSSBBCCSSSBBCCSSCCBCSCCCBBBBCBCCBSCBSSBSSSBBCCCSCBSSSCSSCBSSCSSSCCSCSBSCBSBCSBBSCSSBSSSSSBSSBBBBCBCCSBCSCBBCBSBSSBBBBSBCSCSSBSSBSCBCSBCSBSBCBSCBCSSSCBBBSSBCBSSSSCSSBBSSBCCCSBSCSSCCSSSSSBCCCBSCCCBBBBSCBSBBBCSCSSBCBSSCSSBCCCSCBCSBBSBSBBCSSBCCBSBCBCBSSSCCCSSSCCCSBBCSBBBCCSBSCCCCCSSCSBSSSCCCCCCBBBBBSSCSBSSCSCSSSSCSCBCCSSCSBCSCSCSBCSSBCCCSCCCSCBBCCBBSBCCSBCCCSCBSCBCCSBSSBSSBBSCSBSSCSBCSBBBCBSSSSSBCCBSBCSCSSBBCCBBBSCBBSCBBBSCCCSCCCSCSSSCCCBBBSSSCBBCSCSBCCBCCCSSBBBCCSCSBCBSBSBSSCCCSCSCBBCBCBSBBBBSCBSBBCSSCBSSSBSSCCSBSBCCBBSSSBBBSBCBSCBSBBSCSSCSSCSSBCSCCCBSBBCSCBSSBBSCBSSSSBBBBSSBSCCCCSCBBBSCBCCBCBCSBBSSBBCSBBBBBBCSSBSBSSCBBSBCBCBBBSBCBBSSCCCSBCSCCBCSBBCBBBBSBBCSCBCCCCSCCSCBCCBSBSCSBBCBBCCBSSCCSBSSSBSSCCSSCBCBCCSBSCBSBSSSBBBSBCSCBSBCSSBSCSCBSBCBSCCSSSSSCSSCSCCSSCSSCBBSBCBSSBSSSSSBBBCBCBSBBBCCBBSSSBCSCCSBBCSCCSCBSBBBSBBSBBBCCSCSSBBSBSCBSSCBSCBCBCSSCSCSBSSCSCSCBCSBSCSBBBBSSSBSBSBSBSBCCBSBSCSCBSBCCCSCBCBSBCCBCSBCSCSSCBCCBBSCCCBCSCBBCBBBSCSCCSCBCCCBBCCBBCSCBBCCCSBBSBSCCSSSCBCCCSBCCBBSCCSCBCSSBCBBCSSCCBBSSSBCSBCSBSSSSCSSCBBSSBCCCCCSBBSSCBCCCBBCBBBBBCBCCCCCCSSBCBCBSBBBSBCCSCBBBBBBCCSCSSCBCBSCCSSBBSSSBSBCSSBSBBBCBBBBCSSSBSSCCCSSSSBCCBCCCSBCSSBCSBBBCCBCBBCSCSBBBSCBCSCCCBBBBSBCCBCSSSCCSCCBCCSBSSBSCCSSCSSSSBBCCBSCCBCCCCCSBCBSBBSBSBBSSSSBCSCSSCSSCCBCCSCCCBCSCSBCSBBCCCBBBSCBSSSBBSCBSBBSSSSSBSSCSBCCBBSCCCBCSSCBSSSSBSSCBBSCSCCSSCSSSBSBBCBCBSSCSSSBBCSCCSCCSSSSSCBSBSCCBCCSBCSBCBBBBBSBCCBBSCSCBBBBCBSSSBBBCBSSCSCBCCCCSBCCSSBBCSCBSSBBBBBCBSCSBBBSCSBCSCSBBSBCBCCBSSBSBCBCBSBBBCBSBCCBCBSBCSSSBCSBSBBSSSCBCCBCCCCBCSSCCSCBBBBCCBCBSCSBBCBBCBCSSCCBSBCSCBSCBSBSCSBSBCSCSCSSSSSBCSSSBSCBBCBSCSCSBCSBCCBCCCSSCSCBBSCSSCCSCSSCCSBCBSBBCBSCBBBSCBCSCSBCBBBCCSBBBBCBSBSSCBCBBBCCCBBSBCBCSCBBSCSCBCBBSCBBBCSBSSCSCSSSCCCBCCBSSBCSBCSSCSSBBSBSBCSCSBSSSSCBBBBSSSCCSSSBCBCBBCSSSSSSCCSCSBSSCBCCBSCCCCBSBSBBSSSSBCBCCCSSSBCSBCBSBCCSBBCCSSBBCSBBSBCBCSBSBSBSCSCSBBBSCSSCCCSBSBCBSBBBBCCBBCSBBSSSSBBSSBCCSBBSCSBBSBBCCCBSCCBSCSSCSSBCSBSCBSBCCSCCBSSCBCSSCSSCSSBCBCBSCCCCSCBBCBCSBCBCCSCSCSSCCBBBBSSBSCSSCBSCSCCBBCBSCCCSSSBBCBBBSSSBCCSSCCSCCSCSCCCCCCSBBCCSBBCSCCCCBCSBCSCSCCSCSSSSSBSCCBSBSBCSSSCBBCCCCBCCBSBBSCCSCBCBCCBBBSBCBSBCCBCBCBBCSBBCBCBBBCCBCCBBCBCBCCCCCBCBSSSBBBBCCCBCSCCCSSSBBSBBSBBSSSBBCSCBSSCCCSCCSCBCCBSBSCBSBBSSBSCBBCCBCCBBSCBSCSCCBBCBSSBCCBCCCCSCCCSSBSBBCBBCSSSCBBCBSCCSCCCBCBSBSSBCSCBSBSSSSSSBCSSSCBSBSSBSSCSSBCCSSBBSSBBBCBSBSBCSBCBBSCSSCSBCBCBCCCCSBSCBCCBSBCBSBCCCSCCSBSSBCCSCCSCBBBCCCBSCCCBSCSBSSBSCCSSSBCBCCBSBBCBCSSCSSBSCSBSCBCSBSBBSBCCSCBCSCSBSBBSBCSBCCSSSSBCSCBCCBBSBSCBSCBSBSCBBSBCCCBCSCCCBCCCSSCSBSBBBSBSCCBCBCSSBSCBCBBSCCSSCSBCSCCSSSBCSBBSSBSSBBBCBBCCBSSSCSSBCCCSSBBSCBCSSBSCCCBSCCBBBBSCCSBBCBCSCSBBSCCSCSBBSSBCSSBBBBBBCBSBSSCCCSBSBCBBBSBCBCCBSCBCCSSBBSBBSCSCBBBCCBCSBSCSSBBCBCCCCBBCBCSSCCCSBCBSCCBSSBSBSCCCCBCSSCBBBBSSSSBCBCCCBCSCCSBBSCBBSBBCCSBCSCBCCCSBCBCCBSSCCSCCBSSSSSCCBBBCBBBSSCSCCSSBCCBBBCBBBCBBSSBSCBCBCBBBSBCSBSBCCCSSSBSSSSSSSBSBCCSCCBBCSBSSSSSCBBSCBCCSCSBBCCCCBBBCBCCCBSBSSBBBSSSBSBCSCBSCCSSBSBBBBBBSCBBBBCBBCCSBSBBSSBBCCBBSBCSBBBBCCSBBSBBBBSCSBCSCBSCSCCSBBCBCCBCBCCSCBSBSCBSBSCBBCCSSSBBSCCBBCBSCSBCSSSSCCBCBBCCBBCSCSCBBBBSBCCCSCBCBSBCSBCCBCSBCCCSCCBBBCCBCBBBCBBCCCBBCCSBCSCCSSCCCBCBSBSSSCCCCCSBBCCBSBSSCBSCSBSBBCCBCCCBBCSSSBBCBBCBSCSBCSCCSBSCSCCSSBBBBBCSCCBSSSBCBSCSBSCCCCCSSBBBSCBCSBSBSSBSCBCSCSSSBSBCBCCSBBSBSSBBCCSCCSBBSCBBCCBSBSCCCSBBSBSBCCSBSCBBBCSSBSSBBCBSBBSCBCBSBSBBCSBCBCSCCSBCCBCBCBSSBBCSCSCCSCCCSSCSCSBCSCSBCBCBBSCBSCSBCBCBCCBSCCBCSBBSSSBSCSBBSBSSSCSBBBCCBSSSSBCCCCCCSCCBCCBSBSCBSCCBCCCCBSSSBBSCCBBSSBSCSBSCSSBCBCCBSSSSCCBCSSSBBSCCSSBBBSSCSBCBSSBSSSBBCCBSCSBSCBSCSCCCCSSBCSCCSSCBSCBBCBCCSCSSBSSSBSCSSBCBSCBBBSSCBSBCCSBSSBBBCSSSCCCBSSSCCBBBCSCSSSSSBCCBBCCCBCBBSCBBSBBSCCSBCSBCCBBSCSSBCSCCBBCSBSCSCCBCCBSSBBSCCBSBCSSBCCSCCCCBBSBBSBBSSCCBCSBSCSBCSSCSCCSSSSCCSSBBBSBSCSBBCSSSCBCCCCSSBCBBBCCCCSBSSBCSSCSCBCSSBCBBCCBBBCSBBSBCBCBBCSCCSCBBBBSSCCBSCSBCBBSSSCCBSBBSBBSSSBCCSCBSSCSSSBSSSCBCBBBSBCSBSCSSBCCSCCCBBCSSSBCCSSCCSCCCSSBCBSCCCCCSBBCBBCBSSBSCSSCSBCSCCSBCSCSCSCBCCCCBSSCCBBBBBBSCSBBSSSSBCSSCSBCSBCBCBBBSSSCSBBSSBSSBBCBBCSCSSBBCBBBSBBSSSBSBBCCCSBSCSSSBBSSSBBSBBBCSSBBSSCSCSSBCSBCBBCBBSSBCCSBSSCBBSCSBBSSSCCSCBCBCCBBCBSBCCCCSSCSCCCCBCSBSCCCCBCSSCSSCCSSSCBCBSBBBSSSCSSSCBSCSCCBCCSBBBCSBCCSSCBCBCCSBBBSBCBCSSCBCBBSSCCBBSSSSCBSBBCCCSCBCBBSCSCSBSCSBCSSSBBSCBCCCCCSSSSCCCBBSCSBCSCBBSSCCCBSSBBBSSCCSBBCBCCCSCCSCCBCBBSSSSSSSBBBSSBCSBBBCBCBBSBCSSBBBBSSBBBSBSCSCBSCSBSBCSCBCBBBCBSBCCBCBCCBCSBCCBSCBBBBCBBCCSSCBBCCSCCSSBBCBBBCCCBCBSCBCCSSBCSSBSBBSBCBSBSBCBSSBCSBCBBSCBSSCBBBBCCCSBBCSBCSCCBBSSSCCBBCCSBCBSBSCCBSCSBSBBBSCSSSBSCBBCBBCSSCBCBSSSBBSBSCSBSSCBCBCBBCBSBCCBCCSCCSCBSCSSBCBCSSBSSCCBCCSBSSBBCBBCCBBSCCCBCSBCSCBBCCCBBBSCBBCBBBSSCBBSBSSBSCSBBBBSBBBSBSBSCSCBSCSSSBCSSBSCCCSCCSBSCCBCCSSSBBBBBBCCCSCBBSBSBSSBBSSCBCBCCBSCBSCSBCCBBBBCSCSBCCCCSSCSCSSBSCBSSBCCSSBCCBSSCCBCSSSCCCCSBCBBBSSSCBBSBBBSCBBBSCCSSCSSSSCSBBCCCCCCCCCCBBCSCSSCSSSSSCCCCSSCBCSCSCSCCCCBCSSCBCCSBCSCCSBSBCCCBCBBSCSCSBBCSBSCBCSCSSSSSCBCBBCSCSCBBCBBCSCCBBSSSSSSSCCCCBSBCCBCSSCBBSSSSSSCSCBSBCBBCSBBBBBSBSBSCCBBCBSSBSCCBSBBSBCCSBSCBSSCBBBBBBBCBSBBCBBBCCSSBSSSBCSBSBCSCCBCBSBCSCSSCBBCBSSCSCBCCCCBBSBBSCBSCSSCCBBBCBSBBSCCCCCBSSSSBSCSCSSSSBCBCBBSSSBBSBBCSBSSSSCBBSBSSBCSBCCSCSCBSSBBSSBBBCCCSSCBCCBSCCSCSCBBBSCCBBSBBBBBSBBCCCBCBBBSSSSSCSCBBCBCCSCSCCSBBSCCBSCCSBBSBCSSCBBBCCBSCBBCCCCCSBCCSSSBBSSBCCCCCSBSSBSCCCBCSBBBBBBBSBCCCBCCBCSCCSSBBCCSCSCBBBBSSSBSSBSCBCCSSBSSBBCSSSCCSSCCBBSSCSCSCCSBSSCSBSBSBSBSSBBBCCCSBCCBCBBBBCBSSBBBSSCBCSSSCCBCBCCCSCCBCSBSBCSSSSCSCCCBCBCBSCSSSBCSBSBSCBBBSBBSSSSCSCSSBCSSCBCCCSSSSBSSBCCCBCSCBBBCBSSBCBBCCCSSSSSBSCSBCCCCBBCBBSBBBCBBBSBCBBSSBBSSBSBCSCBCCSBCSCBSBSSSBSSSBCCCCSSCBBSSBSCCBSBCSCCSCCSSBSSCCCSCSSCCSCCCCCBBCSSCSSBCCSBSSSCCCCBCSCSCCCBBBBBSSBBCCBBBCCCBBCSSBCSSBCSBCSCCBBBCBBCCCBCBCCSBCBSSCBBCCCSSSCCCCBSSCCSSCCSCSCBSBCCBSCSCSSSCCSSCSCCBSBSBBBSSSBCSCSCSBBCSSBSBCSCCBCCBSBBBCCCSSBCBBBCCCBBSSCCCSSSCBBBBBSCBBCBCSCBBBCCCBBSBBCSBSBCBBCSCCBSBBBSCSSSBBBCBSSCBBSCBCSBCSBBSSBBCBBBCSCSSCCCCCBCSSBSSCCCCSSCBBSCBCCCBBCSBBSSSBCSCSSSCCCSSBCSCSSBBCSSBCCCCCCCCCCCSSCBCSBCSSCCBBSBSBCBBCSCBSBCCBSCBSSCBCSCBCSBBBSBBBBCSSSSBBBBBBSSSSSBSSBBBBBBBBBSCCBCSBCCCSCSSCBCBSBBSBCBCBBSSCCCSCSCCCCBSBBSSBBSBSSSCCSBBBSSSSBBBSBBBSCCCBBCCCBBSSSSBSSCBBBSCCCBBCBBSCBCSCCBSCBBSCSBCSSSSCSSCCCCBCBSCBSSBBCCSCCBBCCSBSSSBCCCBCSBBBBBSSSBBCBCCCSSCBCSCSSCCBCCSBCSSCBCSSBSSSBCCCBSCCBSBBBBCCBBBSCCSCBBCCBCSSSSSCCSBCSSSBSSBSSSSCSBCBCCSSBCSCCCBBSBSBCSSSBBCSBCBBBCCBBSSBSSCSSBSBBSSCSSSSBBBCCSBSBBCBBSBSSCBSCSCBCCCBBBSCBCCBSCSBBSSSCSBSSCCBCBCSBCSSSBBSBBBSSSSBBCCBBSSBSSBBSBCCSSCBCSBBCSCSBBCSCBCSCCSSSSSCSSCBSBBSSBCCSSSBSSSBSCBBCSBBBSBCCCSCCSSCCBCSCBCBSCBCBBCBSSBCCCSBSSCBBBCCBSSSSBSCSCBCCCSCBSCSCCSBSSBBBBCCCBCBSSBBBCBCSBCSCCSSBSCSCBBBBBSBBSCSSSSBCCBCSSCCBBBBBBSBBCSCCBBCSBCCBCSCBCCCCBBSBCBBSCBSBSCBBBBBBCBSSCBBBCSBSBBCSSSBSBBCBCCCCCBSSSBSBCCSCSBCCCCSCCBCSSSBSBCBCSCBCBSBBCCSCSSCCSSBBSCSBSCCCCSSSBBCSBSBSSBCBSSCCSSBSCSBSSCCSSCCCBBCSCSBBBSCSBBBCCCBCSCCCCCCCBCSBBSBBSSBCSSCSBBCSSSSSSSCCSCSCSBBSBSSCSCBCSBBBBSBSSSSCSBBSBSBSCBBBCSBCBSSCBBSSBBCCCCBSBBCCCSBSBBSBBCCSSCSCCSBBCBSSSCCCSCBCBSSCSCBBSSBSCBBSSSBSBCCSBBSBSCSSCSBSSSSSBSSCCBBBSCCSBSSBBCSBCCSBSCSCBBBCBSCSBBSBBCBBBSSSCBCBBSCSCSCSSSSCCBCSCBSSBCCCSCSCSCCBBSCCCSSCCBCBBCSCBBBBCBBCCCCSCSBBSCSSBSCBBCCSBSSSCBCSSCCBBSBCSCCBCSCBSCCCSCBBBCCBSSCSSCBSSBSSSCBSCCSSBBCCSCBSSSCCCCCBSSCSCCCSBBBBCCCCSSSCSCCSSBSBBBCSSBBBCSSCSCSCCCCSCBBBBBCBBBSCSSSSSCBBBSCBBBCCSSSSBCCSBCBBBBBBSBSSCSBBBBBCCCBCSCBBBSBBSBCCSCCCCCBBCSSCBBBBSCBCSSSSCBSBBBCBCSCCBCCCBBBBSCBCCCSCSBBBBCSCBBSSSSSSSBSCBSSSSCSSCCSCCSBBBCBSCBCBBBSBCBSSSSBBBCBBSSSBSCSCSBCCBCBBSBSSSBSSSBSBCCSCBCCCCSBSBBSSSCBCBCCCBBBSSBSSSSSSSSBBSCBBSSCSCBBSCSCBBSSBCCCSSCSCCCBBBCBBCBSCCSSBBCSCBSSCBCSBSBBSBBBBBSSBCBCBBBCCBCBCSBBCSCSBBCCSBCSCCBSBCSBSCBSCBCBBSCBSSBSBCCCBSSCCSCSSSSSCSBBSCBSBSBCBCSBSCSCBCBSBBCCCCSBBCSCBBCSCSBBCSSBSCCBSSBSCSBCSBSSCSSCCSCCCBBBSCBBBCSCSSCBCBCBBSBBCBBCCBCSSCBCSSCSSCBSSSSSSBCBSCSBCBBBBSCCBBCBBBCSSCSSSBCSSSSSCSCSCCCSCBCCSBBSBCBCCCCSSCCBCSCBBSBBSSSCBSSBBSSSCBCCSCCCSCCCCCBBBCBCCBSCCCSBBCBSBSCCSSBSSBBSBBCBSBSSBBCCCSCCCBCBCSCBBBCSSBCSSBSCBCSSBBBCCBCBBSSSBSCSBSCSCCSBBSSCSSSBSBSCSBSSCBBCBBSSSBCSCSCCBSSCSCSSBCSSBSBSBBSSCBSCSCBCCSBBBCCSBCBBBBBBCCBSBCCCBBCCSCCSCBCCCCSSBCBCCBBBCBSSBBBSBBBBSSCSBSSCSBBBSSBSBSSSSSCBSCCCCSBBSBCBCSBSBCBCCBSBBSSSBCCCBBSCBBSSCSSSCCSBBCSSCBSSSSSSSSSCBBBSCSSBBSBSCSBBBBSCSBCBSBBCCBCBBSCBSSSBCBBCBCCSSSCSCSCBBBBSBCSBBCCBSSCCBSBBBBCSSCCCCSCSBBBSCBBSCBSBBCCSSBBSCSCCCBBBCBSBCSSSSBBSCSSBBCBBCCCCBSCBSCSCBCCSSBBBBBCBSCBSSBCBSBCSBCSBBBBBSBCBCCCBCCSSBBSCBBSSSCCBCCBSBCSSBSBCBSCBCBSBSCCCSBCBBCSBSCCSCBCSCCCCCCSBCBCSCSSCCSSSCSCSBSCCBCCBBCCSSSBCBBBSSSSBCBCCSBSSBSSBCBSSSSCBSSBSSSSCBCSCBSCSSBCSCBCCBSCCSSSBSSSCSSSSBCCBCCCBSBSCBSBSCSSSCSBBBBSBSCSBSSBSBCBSBCCBSBCBBBCSSCSCCSSBCSBCCSSSBCCSSCSBCBBSBCSBCCCSBSBCBCSSBCSBSCSCSCCSBCSCSSBCCSSSCCCSCSSBBSCSSSSCSBCBCSCBCSSSCCCCSCCSBCCSCCCCBCCBBBSBCSSSSSSSSCCBSSSCSCSSCBBBCBCCCBBCSSBBBBCBCBBBCCCCBBCCBCBBCCCSBCSSBBBCBBCSSCSSBSSBSCSBCBBBBSBSBBBBBCSBCSSBSSBBBCBCSSCBCCSBBBBSSBSCBBCCBCSSCBBBSCSCCCSCSCSCCSCCSBSCSSSSSCCBBBCSCSCBSBCSCCSCSSBCCBBBCSSSBSCBSSSCCSBBCBCCBSSCCSCCCBBCBCCBCSBBSBSSCCBCCCCBBSCCSBSBSSCCCSBBBSCCBBBCSCSBSSCCBBCCCCBBBSBCBBBBCCBSCCCCSBBCBBCSSCCBBSBSSSBBCCSBSSSCSSSSCCSSSBBBCBBBBCBSCCBBBCSSBBCCCBBSSSBCBCCBCSSCSCBSSBBBCCCCCSSCSBCBCCBSBSSBSCCBBSCBCSSSBCBBBSCSCCSSSBBBSSCBCBCSCSSCBSCSCSBBSCSCBBBSBCCSBSCSCCBBCSCCCCSCCSSBBBSBSCCSSCBSBBBCSSBSCSSSCCCSSCCBCCSSSBBSCCBBSCSCSCSCBBBCSBSSSBCCBCSBSSBSBCCBBBSSBCBSCCSSCBCSCBSSBCSSSCBBBSBBBBCCSCBSSCCCCSBSSSSCSSSCSCSCBCSSBBBBCCBSBCBBBSCSBBSSBSCBCSCBBCSSBSSBCSCCBBBSCSCBBCSSCSBCCBBSCBSBBCBSSBBSBCBSCSBSSSBSCBSSBBBSCSSCSCBCSCCBBCSSCSSBBSSSBCSCCBCCSSBSSBCBSSBSCSSSCSSCCCSBSSCSSSCSBCBCCBBBSCBBSCCBSCSCCBSCCBCSCCBSSBCBBSCCBCBSBBCCSSSCSCBBBSCBSBCSBSBBBCBSCCSBCSBBSCSSCSSCSBBCBBSSCCCBCBSCCBBBCSSCBBBCBBSBBSSSCSCCBSSCBSCBBBCBCCCBSBSSBBBCCBSSCCBCCBCBSCCBBSBSSSBBCBSCCBBSCCBBCBCCCSSBSCCBBBCCCCSCSBBSBCCSBBBSCBCCCSCSSCBCBBBSBBSSSSCBSBBSSSCBSCSSCSSSSSSSSSCBBCCSCSBBCBCBBBBBSBBBCCBSSBBSBCCSCSBSBCBCBBSCBCSCBCSSCBCCBBCSCSSBBSBBSBSBBCBSSSSSCCBBCCSBSSBCSBSBCSCCSBBSBBSSCBBBSBBSBBSCSSBBSBBCSSBBSBSBSSBCBBBSBBBSCBCSCSCBCBSCCCBSBBCCCCCBBCCSBSSCSCSSBBCSSBCBBSSBSBBCBCSCSSSSBCBCSBBSSSSSSBSCBSCCCSCBCSCCCCSBSCSCSCBSBSCBSCCCBSSCSSBCBBBCBSSBCCSCCCSSSSSCBSCCBCBBCSBSCCSSCBBBSBCCBBBCBBSSBCBSBCSBSSBCCSSBSBCSSSBCCSBCSBBCBBBSCSSSSSCCSBSBSSSCCSBBBCBCBCCSBCSSCSBBCCSCBSBCSSBBCBSCSBSSSBBCCSCCSBSCBCSSCBBCBCSBBBSCBSBBSCSCCSBCBCCSCBBBSBSSCCSCCSCBCCCCBBBCBBSBCBBSBSSSBSBCSSSCSCCCCCBCSSSBBBBSBSSSSSSBCSBSSBCBCSBBSCCSBCBBBBBSSBCSCBBSBSSSSSSCBSCSBCBBCCBCBBCBBBBCSBBBSSSCCBBSCBSSCBBSCCBSBCSBSBBBBSCSBCBCSCBCCCSBSCBSCSSCSBSCSBSCBBBCCSSBCCBSBBSBBBCCCCCCBCCCBBBCSSBCSSBSSBBSCCCCSBSCCSBCCCSBBBBSBSBSSSSBBSBSCBBSSBBBBSSBCCSCBSBCCCCBBCCBCSSBCBBBSBSBSSSBCBBBBBBBCBSSSBBSCCBCBSBBBSCBSSBBCBCSBSBBSSBCSBCCCBBSCSCSSBBSSBBBSCCCCBBCBBCBCSSSBSCCCSBSSCCBCBBSSBSSCSSBBSCCSBBSSCCSBCCCCSBBBCSBBCSCCSCCCCBSSBBCSCCCCCCBCBSCBCSBBCCSBBSSCCCCBSBBBSBBCCCCCBBBBSCSCSCCCSSSBSBCSCCCSBSBSSCBCSCSBSCBSCBSSBSBSBCCSCCBCSCBBBSSBSCBSSCSCCSCCCBSBSBCCBCCBCCBBCSBCSSCCBSSCCCBSCCCCSSBBBSBSCCSCBSCSBBCSBBSBBBBCCBSCCBSCBCSBBCSCSCCSBSBCBCSCCCBBSBCCBSBCBBBSBSCSBBBBSBCSSBCCBBSSBBBCSCSBBBSBCSCSSSBCSSBSBCBSBBBBBBCCSSSBBSBSCBCCSCSBSCSCBBBCBSBCSSBSBBCCSCBSSSBBSSCBBCBSCSCBSSSBSSSSSBBBBSSCCCSSBSSCBSBBCCBBBBCBBSSBCSSSBCSCBBCCSBSBCBSCBBCSCCSCCCSBCCCSBBCSBSSBSCCCCCSSCCSBBCCSCCSCBCCBBBCCBSSSCSSCCBBSBCSBCCBCCCCBBSCCBCCCBBBBSSSCSCSBBBCSSSBSBCSSBSCBCCSSBCSSCCBSSSCBCSSBSCSSBSCCBSSBBSBSCBSSSCCSSSCBBSSSSCBSCSBBCSBSCCCCSBBSCSBSSSCCBCCBBBCCSCCBCBBBCSBCCSSSSBSCCBBSBSBCCBBSCCSCBSSCCBSCBBCBCBSBBBBSBCBSBSBCCBSBSCCSSBBCSSSSSCBBCBBCSBCSCCSBCSCSSSBSCCSCBSBSSSBCSBCCBSSSCBSBBBCSCSCBCBCCSCSBCCSBSSSBSCBSBCCSBCBSCCBBCSCBSBCCCCBBBBSCCCCCBBBSCBCSBBBSSBBBBSBBBCSSBCSCSSCCCSBCBSCSCSBCSSSBCCSCBSSSCBSBBCCBCSBCBBCSSSSSSSBSCCCCBSBSSCBBBCBCCSSBCBCSBCSCCCSBBSCBSSBBCCSBCBSSCBSSCSCCCCCBSBCBBSSBCCSCSSSCBBSBBSBSBSBSSSCBCSSSBBSCBCCSSSSSSCCSSCBBSCCSBSCSBSBBCBCSSBSCCSBCCBSCSSBCBSSBSSCSBCSCBBSCCCBCCSCSCCCBSSBBBCCSSSCSCSSCCCSBBSSSSSCSSSSBBSCBSSBBBSCSCSCBCCBCCCSSBBSCCCBBBCSCBCCBBBCBBBCSSSCCCSSSCBBBCBSCBCBCSBCBBBBBSSCSBBSCCBCBSCBBSSBBCCSBBSBCCBCSBSBBSSBSCSBCSCSBCCSBCSSBCBSCSCBSCBBCSCCSCSSBBSSCSSSBBSSCBBBBBBCSBCSCBCCSBBSBBSCBBCBCCBBCSSSBBCCBSSSBSBBBSSSBBSSSSBSSBSSSSSCBSBSSCBCBBSCBSBCBCCSSSSSBBCBBCCBBBSCBCBSBSBBSCCSSCCCCCBSSBBSCSCSBBCSSCSSCSBCBCBSCBSSCBCBCSCCSCCCCCBCBBCSSCCBSSSBSBCBCSBBBBSCBBCBSCCCSSCCBBCSSSBBCBCSCBBBSCSCBBBCSBBBCSSCSCCCSBBSCSBCSBBCCSCBSSCSBBSSSCSBCBSSCCBBBBCCCSSBSSSSBCBCSBBBCCBCCSSBCCSBCCCSSSSBCSBCBBBCBSBSCSBBCSSCCBBSSCSSBCSSSBBSBCSBCSSBBSBCSBCCBSSCBSBSBBCBCSCSSBSSBSSSBBSCCSSBCCCCCCSCSSCCSCBBSCCCCCCBSCBBBSSBCCSCBSSBCSCBSBSSSBCSCBSCBCCSBCBBCSBSBBCCBBSBBCCSCCSSSSCCBSCSSSSBBBSCBCBSCCSSBBSCBSBSCSSBCSBBBSCCBBCCCBSBSCCBBBBSSCBBCBCSBBSSBCBBSSCSBBSSCSBSSSSSSBSBCBBSBCCSCCSBBBCCCCSBSCBBSSCCSCBSBBBCCBSCSBSCSCBBBSSCBBCCCCBSSBCSBCSSSCBCCSCSBSCBCBSCCBSSBSCCBBBCCBSSBBBBSCCSBCBBBSBBBBCCBSCCBSCSSCCCCCBCBBBBBCCSBBSCCSSCSBBCSBBCSBCSSBCSCCBCBSSSBSCCCSCBCSSSCBCCSBSCCBBCBBBCCBBBBCBSSSBCCBBCCBBCCCSSSCBBCSSBSSSCBCSSBSBCBSSSBBBSCBSBSCCBBBSBCCBSSSBSSCBCCCSBCCSCCCCCCCCSSBCSCCSCCCSSCBBSCCSCBSCSSBCSBBSCSBBCBBCCBSSCBSSSSSSSCSSSCSBCSCCCSBCCCBBCSCCBSCBSSSCCBBSSBCCSBBSBSSBCSCCSSBCBCBBCBCBCCBSSSBCCSBSSSSCBBCBSBSSCCCSCBCCCSBSCBSSSSBSBCBBCBSSSSSCCSBCSSBSCBCSSBCCBCSBBBBSBBSCCSCBSCSSCCBBSBBCBCCCCBSCSSBSSSBCBSCBBSSBBSSCBCCCSCBBCBSBBBCCSSSCSSBCSSBCCCBBBSSBSCBSBBBSBCCCBSCCCCCSCBSCCBSCSSBCBSSSSBBCCBSCCSBSCSBSCSCSCCSCBSBCCCSCBSCCSBCSBCSSBBSSSCSCSCSCBCBCSCBSCBCBSBCBSBBSBBCBBBSBBCSSSBCBCBSSSCCBBSCSBSBSBCBSBCCCSCBBBBSSSCSSBBBBBCBCBSCCBBBCBBBSCBCSBBBSBSCSCCBBCCSBBBSCCBCCCBCSSBSSCBSCSBCSSBBCSCBSCBBBBCBBSSBBSSBCSCSCSCSBBBSSCBCBSCCSSCBBBCSSCSCCSSSCBCSCCBCSCBCCSBCSSSBSBBBBBBBSSBBBBBSCSSSSBSSBBCSSSCBBCSBSBSCBBSSSSCBBSSBSCBSBBBBBBBSSSCCCSBBBSBSBSSSBCCCCCSCCSCBBBCSBSBSCBBSBBBCCBSSCBCBBCCBCCCBCBSBCCCSCSSCCSSBBCSSCSCSSSCCBCBCSSSCCCSBCCSBCCBCSCCSBSSBCSBCSBCCSSBSSBBSSBCSCSSBBSBCSBBCSSSCBCCBBBSBSSSBSCBCCCSSSBCSBSBCSBSBBSCBCSCCCBCSCSBCCCBCCCBSBSSSSSSCSSBCCSSCSBSBCSCSSSCSSCCBCSSBSSBCCCBBCSSSCCBBBCCSCBSCBBBSCBCCSSBCSSSCSBSSBSSSBBBBSCCBBSSCSSCBCBCSBSSSSSCSBCCCSBSCCCSCSCCBCSSCBSSCCSSBSBBCBSBSSCSSBSSSSCCBCSBCSSCCSCCBBCBSCSCSBCBCSSCSSSSCCSSBBCBCBSBCSCCCCBBBSBCBCSSBCCSSCBBBBCBCBSBBCCCBCSCBSSBCSBCCBCSSSBCCCBCCCCCCCCSBCBBCCCBCBCSCCSCSCCBCBBCBSSBSCSBCBBBSSBCSBBBBBCBCSSCSCSCBBSBBSCSSSBSSSBBSSSCBBSSBBSSCBSCBSSBCBCSCCCSBSBCCCSBCBCSSBCCSCBSCSCCCBBSBCSCCCSCSCSCBBBSCCSCSBSCCBCSBSCCSCSBBCCBCSSSSSCSBSBSBBCSSBBBCCCBBBCSSCCSCCBBSSSBBBCCSCCCBBBCSCBCCBBSSBCCBBBBSCBSCBBBCCSBSBSBBBBSBSCCSSBSSCSBCSCBCSSSSCCSCSCBBCBSCCBCBSBBCSCCBBCSBCSSSSCCCSBCBSCSBCBSSBCCSCBCBCBCSCCBCSCSCCCCBBSSSCCSCCSBBBBCBBSCBBSBBSCSCCCSSCBBBSCSBCBBSBSCSSBCCBSBBBBBBCBBCBBBSBSCSSSBBCSCCSSSBSCBSCSCBSBBCBBCCSCSBBSSCSBBBCCBBSSSBCSCSBCSBCSSSCBSBBSBCSSBBBBCSBCCBBBBSSBBBSSSBBCBBCSBBSSBCBCCBCSCBBBSCBCBCCSCCSBBBBCCBSBSSBCCCBCCSBCCSSCSSCBSCCCBBCCSBCCSCSSSBSCCBBBSBCBSSBSSCBCSSCBCCBSSBCCBBCSBSSSSSSCBBSCSSSCBBSSCBSCSSBSCCBBBSSCCCSCCSSSCSSCCBBBCCCCBSCSCBCSBSCCBCBBCBBBCBBBSSCBCBCSCBBCCSCCSSBBCBCCSSCSCBBSCCBSSBCSCSSCBCCCCCCSSBBBBBCSCSCCCBCCCCBBSSCBCSCSCBSSCBBCSSSSCSBSBCCCBBSBBBSBSBSBCSSBCSSCCSCCSSBCCCSCBBSSSCBBBCBCSBSSCSSSBBSBSCBSCSSSBSBBSSBBSBBCBCSBCBSCBSBSBCCCCSBCCSCCBCCSBSSCBBSSCCCCBBSCCCSCCBCSCCBSSSSSBSCSBBBCSBSBCSSCBCBBSCCBBSSSCCCBSSBSBCSCSCBSBBBBBSCSCSCBCBBSSSCBBSBBBCSSBCCCBCCCBBCBSCBSCSBSSCBBSBBBSSCSSBSSSCSSSSSCBCSBBSBSBCBSSCBSSBSSCCSCBBSBCBCSCSSSBBBSBCCCCBCBSCBSBCCBSCSSBSBSSBBBCSBSSCBBCBBCBSSBBSSSSCCSSBCCSBBBCBSBSCSCCCBSCCSCSCCBBSSBBBCCCCCCCSBSSSSSCBBSCSCCSSBSSCCBBCSSSSSBCCCCCBBCCBSSSCCBCBBSCBCCSCBBBCSSCBSCBBSBSBCSCSBSSBCSBSBCSCCBBBBBSCBCSSSCBCCBCSSBCBSSCBCCBSBSBCSSCSSSCBCCCCSSCBBSSBCCCSSBCBSBSBBSSCBBSBCCCBBBSBSSBSCBSSCSSBSCCCCSBCBBSBCSBCBSCCBBSCBSSCCSSCSSSSCBBBCCCSCSBCCCSSCBCCBBCCSBSBCBCSBSSCSBCSSBSSCCSCBSCSCSBCCSSCCCBCSBBCSCCBCSSCCCBBBBCSCSSSCSCBBCBSCCCSCBBSBCSCCCCSBBCSCBSSCCBCSCSBCBCSSBSSBBBCSBCBSBBBSCBSSCCCSCSBSSSBBCBBCCBCCCSSBCCCBCSCSSBCBBBCCCSBCSBCCBBBBCCBSSBBBSBSCCSSBCCCCSSCCCCSCSBCSSBBBCCBSBBSCCCCBCCCBBSCBBBSCSBBBSCBBSSSSCBBBBSSBSCBSCSBBSSCSBBCCSBBCBSCSCCCBSCBCSSSCCSSCSBSBBCCSBCBBSSBCSSBBBSBBSBSCBCCBCSBBSSBCCBCCSSSCCCCSCSCCBSBSBSBCCBCCSSBBCBCSSSCSBBSBBSBBBCBCCSBCSBCCCSCBBBBBCCBSBSSSSSBBBBBSCBBBBSSCCCSBBSCCBSBCCCCCBSBCCSCCBCBSCSBBBCBBSCSBCCCCBBCCCSSCCBCSSBCSSSCSBCBCCSSSSSBSBCBSCBBCCSBSSBSBBCSSCCCBCBSCSBCCBCSBBSSSBCBBBBSSBBCBBSBCCSBBSBCBSCSCSBSSSCCBBBCCCCSSSSBBSSSSBCSSCBBSSCBSSBSBCBCBBSCCSBSSBBBSBSCSSBSCBCBBCSCCCSCCCCBCBBSBCBCSBBSBCBBCCBBBCBCBCBBSBCBCCCSSSSSBCSSCCCCBCSCSCCBCBBSCCBCSCCCSBSBCSSSSCSSBSCBSBCCSBBBBSSBBBBCCSCBBSCBSBSSSBCCSSSBBCBCCCBCBBBBCCSCBCCCBSBSSSCCSBBSBSSSCBBSBBBBBSCSCBBBCCCBBCSSCSCBSSCBCSBSBSSSCCBSCBBBSSSCCBCCSCCCCCCSBCCSSCBSSCBBBSSBCCSSSBCCCBBSSSCSCCBBSSSCCSCSSSBBBBSBCSSBCBBSCCSSCSCCCCSBCBBCBCCSCBSBBCBBCBCBBBCCSBCBBBBSSBCBBCBCCBBCSCCCSBCCSBSSBCSSBCSBBSSSCCSCSBBBCBBSSBCBSSCSBSSBCSCBBCCBBBCCCCSBBCCBBSBSCBSBCCSCSCCSBSSSSSCBCCCSBCSSCCCCCBBSSCCBSBSBCBBBBBSBBSCCCCSCCSBCBSBBSCBCSCBBBBSCBCBCCCCSCBSSSBSBBSBCCSSBBBSBBSBSSSCSCCBCSCBBSCBCSSBBCSBBCSCSSCSSSCCSCCBBSBBBCBCCBBSCSCBCBSBBSCSBCCCBCCCBBSSBCSCCCSCSCSSSSBBCCSCBCSBCSSBSCCSCCBCBSSBCCCCSCBSSBBSCBCBSCCCSSBCSCBBSSSBBSBSSBBBBCCSCSBBBCCBBBSCCSBCCBBBSCBBSCSSCSBBSBCCCCCBSBBSCSSCSBSCBBBCBCCCSBSBSCSBSCCSCSCCSBBCCSBCBSBBSBCCBCBBSSBSCCCCCSBBSCCSCCCSCCSSSSCCBCCSBSSCCBSBSBCBBBSSBBBBCSSBSSCSCSCCSBSSCBBCSSBCSSCSSCSSBBSCBBSCSCBBBCBBSBBCCBCBSBBCCSBBSCSBBBCCCBSSBSCCCCCSSCCBSCCBCBSBSCCCSCSCCSSSCBCBSCCBBBSBBBCSBBBCCBBCBSSSBSCCCCCCSCCBCBCCCBSBSCSBSSBBSCBSBBSCSCBSCBBCCSSSSCCSSBBSBSSSSSBCBSBSCBBSCCBBCCCSCSCCBCBSSCSBCCSSCSBSCSCCSSBSSSSBSSSBSCBCBSCSSSBSCSSBBBSCSCCBCBSSCBBSSCBCCCBSCCCBBBBCSBSCSSCCCSCBCSBCBSBBBBSSSBSCCSSBBSBCCCCCCSSCCBBSCBBCCBCCBBSBSBBBBCBBCSBBBBSSCSSSBSBBSBBBCSBCBBCCBSBCCSSCCSBSSBSBCSBSCSCSCSCCSCBSSBCSSSCBBSSCSBCSSSBSCBCCSBCBSBSCCBCSCCSSBCBSSSCBBBCSBBSSSBSSCSCSBBBSSCCCBSBCBSSCSSCBSCBCBBBCCSSBSCBCBSSSCBSBBSSBBSSCCSSCBBCBCSBSBSSCCBBSCBBCSCCBCCSBCSCBSCCCBCSBBCBSCBBCSBBCBCBCBCSBBBBBCSBBSBSSBCSCBCCSSSSBBBCCSSCBCBSCSBBBSBBBCSSSCSBBSBSBBCBBSCBBSSCCCBSCSCCBSBBBCSCSBCCBBSSSSBSBCCBBBCSSCCCCCSCBSCBSCCCSCBSCBBCBSSBCSBBBBBCCCBCSBSBSBCBSBCCBCSSCCSBSBBBBSCBSSSBCBBCSBBSCBSSSCBCSCSBCBSSSCBCBCCSCBSSSSSBBBCBCBBCSCBSBSBBBBCBSSBSBCBSBSBCBBBSSCSCSSSSCBCBBBBSSSBCSCBCSSBBBBSCBBBBBCBCCCSBCBSSSBCBBCCSCCBBCCBSSBCCCBSBBBBBSSBCCBCCCBBSSSCBSSSBCSBSSSBCCCBBCBCCBCBCBCCBCSCSBSCSSBBCBSBBCBCCCCBSCCBSSSSSSBCSCBCBCBCSBSSCCSBBSCBBCCCBSSBSSBSSBCSBSCSSSSBSSSSBCCBBSSSCCBCBCBBSBSBSBBSBBCSCSCBSSBBBSCBCSSSBCBCBBCBCBBSCBSCCBBCBCSCCBCSBBCBBCCBSCCSSSCCCBBCCSBSCBBBCSSCSCSSSBSBSBSBSSBSSCCSCBCCCBSCBSBSSBCBCCCSBBBCBSSCSCBSBSSCCCSBBCCSCBSSCSCCBBBBCBCCSCCBSCBBSBCBSCBBCBBCBBBSBBCSBCCBBSSCCSSBBCCSCSSCCSCBSSCCBSBSBCCBCCCSSCBCCCSCBSCCBSCBBBBSBCBBSBBSCCSCCCSBBSSSSSBBCSSSSBCBSCBBCCBSCBSCSBBCCSSBSSCSSBSBCCBSCSCCSCSCSSSCSCSBCSSSCCCSSSSCCSBBCBCBSCBCSCCCSSBSBCSCSBSSBCCBCSSBSBCSCSSSSCCCCBBBSBSCBBBSCCBBBCBBBCSCCCBSCSBCSCCCSCSBCSSSCBSSBCSBCCCCSSCBBBSBSSCSBSBSSBBCCCCBBSBCSSBBBBSCCBBSCCBCCCSCCCBSBBCCBBSCSSCSCBCSSSSSBBBSSSBCCSBBCBCSCBCBSBBBBSSCCCCBSCCBSCSCCCBSBSSBSBCBBCCBBCBCBCSSCBCSBSCSBBSSBSCSBSSBSBCCBCBSBBCCSSSSBBBSBBSBSSCBSCSBBBBSCSSBSBCBCCSSCBBCBCSBBBCSBCSBBCCSCSCCCSCSSBSBCBCCSSSCSCSCSBSBCCSBSCBCSSBSBSCBSSSCSSBBCSBCBBBCBSCSBCCSSSBCBSSCSCCCCSCBBSBSBCSBCSBBSCBSBBSCCSSSBSCBCBSCSSSBSBSSBCSSSSSCCSCBSSSSBCCBSCBSBCBBBBBBCCCBSBBCCCCCSCBSBSSCSBSCCBSSCBCCBBCCSCBSBSBSBBBCBBCSCSSBSCBCBBCBSSBSCBSSSBBBSSSSBSCCCBBCSCCCSBSSCCCSCSBSSSSCCSBBCCSCCSSBCCSBCBSCSCSBCCSBSCSSBSCBBBBBBBSCSCBBSSBBCBSBBCSBBSCBSSBBSBSSCSCBSBCCSBCCSCCCBBSSCCSBSSCBBSBBBBBSCBBSBCSBBSBSBCCBCCBCCSSSBCCBSSSSSCCBCCSCBCCCCSBSBSCBCCSBBBCBCBBSSCSSSSCCCBSSCBSBBSCBCCBBCSCBBCSSBBSBBCSCBSBBSBSBBCCSCBCCBCSCBBBCSCBBSSBSCBSCSSSCBCSSSBSBBCCCBBBCCBSCSCSSCSCSSBBCSBCCCSSBBBBBSCBCBCCSSBCCCCCSCCSCCBSBBBSCSSCCCSCSCCSBCSBCBSSCCBCCCCBSCSBSBBSSCSCSCBBSBCCBBCCCCCBSCSSSBBCCSBBSBSBBBSCSSBBCSCCBCBSBSCCBBSBCSSCBCCCBCCSCSCSCCCBBCBCBSBBSBSSBSSBBSSSSBSBBBBCSSBCSSCSSBCBBCBSSCBSBCBCCBSSSBBBBSCBBBBSCBBSBBBSBSBBSBCSCCSSBCBBBSCCCSSSBBSCCSBSCSBBCBBSBBCSSBCSSBSCCSCBBBBCSCBCBCSBBBSBSBBBCCCBBBBCBCSSSCCSBSCCBSCCCSBSCBCSBSCSCBBCSCBSBCSSCCCBBSBCCBBCSBSBBSBBSBBCCSSBBBSBBBBBBCCCBCSBBCBCSBSSSBCBSSBBBCCSBSCBCSBCCCCSSBCBBSCSSCBSBBSBSBSBSCSSBSSSSSSBBCSCSBSBSBCSBSSSCSBSCCBCBSSSCSBCCBBBCBBBBCCSBCBSCBBCBSBSBCCSCBBSSBCCCSBSSSCCSCBBCSSBBCBCBCCBBBCSBCSCCSBSCCCCSSCCBBBBBBBBBSSCSSBSBCSBBBSBSBBCBBCSSSSBSCCBSCBBCBSCSSCBCBSSBSCBBCSBCBBBSSBCSBCCCSCCCBSBCSSCCBSSSBBSSBSCCCSCSCCBCCSCSSSSBBCSSBSBBBBBBCBBSSSSBSBCBCBCBBCCBCSBSSSSSBSSSBSSSSCCBBBCSBBBBCCSSSBBCCBBSSSSBBCCSBBCBCBBBSCCBSSBSSSBCSSBBBCSBBSCSBSCSCBBBBCSCSBCCSSCCCCSBBCBSSBBBBSSSBSCBBSCCSSBBCCSSSBBCSBCCCBCSSSCCCBSCSSCBSSSSBBSBCCCSSCBCBBCCBSSBSSCSCCCCCCSCSSSBCSBCSCCCBBBSSSSSBBSCCCSBCBBBBBSSSSSBSSCSBBSSBSBSBSBCSBBCSSCSBCBCBCSCSCSSBCCBCBCCCCCSBBCCBBCBBSCBSSSBBSCCCSSBSCBBSCBBBSSSCSBBBCSCSCSCSSCCSCSCBSSCSBSSBBSCSSBBBBBSSBCBBSBBBSCCSBCSBBCSSCCCSCBCCBBSBCCBBSBCCBBCBCCCSBCCBBSCCCBBSSCBSCCSSBBBBBCCCCSSBCCSSBSBBSCBBBCCSCSCSCSSBBCSCCSSSSSCSBBBBSSCSBCBCCCBBCCBCBBBCBCSBSBCCSCCBBCCCSBBSBCCSBBBBCCCSSBBCBSCBBCBBCCSCCSCBCBCSCCCCSCCBSSCBBBSCCBBCSCCBSBBBCBBBCSSBCBBBSBBBBSCBBCSSBCBSBSBSBCSCSBSCBSCBBCCBSBCCSSSBCSBBCCSSCBBBSCSCBCSSSBCBSCCCCCSSCBSSBCCBBSCBSCBCCCBSBCBSCSSSBCBCCCCSBBBCSBCSSCSBCBBCSCBCBBSCCSBCCSSSSCSBCCCSBCBSSSSBBBSCBBBCCBBSBSBBBSCBSCCCBCCBSCCBCSBBSSSCBSSSBCCBSCBSBBCCBCSSBSCBCBBBSBBBCBCSBCSBSBSBCBCCBCSBCCBSBSSCSSSCSSBCCCSBBBCBBSSSCBSSBSSSCSSSBCSSSSCCSSCCSSCBBCSBCSSBBCSSCBBBBBBCSCSBSSCCBSBCSBCCCBBBBSCBCBCBCSBBBCSBBBBCSBBBSSSCSBBSSCCSBCBCCCBSCSBSSCSSBSBBCBCCBCBSCBSBBBBCSCSCBSSBCBBSBCSBSCCSSSBCCBBCCSBBBCCSBCCBSBBBCCSBCSCBCSSCCSSBCSBSSBSCBSCBBBSBCCCCBCSBSCBSSSBSBCCSBBBCSSCBSCBSBCCSCCCSSBBSBSCCSCBCBCBCSBCSCBBCSBBBCBBBBBBCCCSCSBSBCBCSCSCBCCCSBSSSSBSBSSCBBCBSSCCCSSBCBCSCBBBBSCSBBBCCSBSBBCSSCCSCCCCSBSSCCCCCSCCCCBCBBSCSSBSSBCBSCBCSCSCSSSBSSCSSBBCSSCCCCSCSBCCCBSSBSSBSCSCBCBCSCBSSCBCSSBSCBCBSBBSCBSCSCSCBCBCCBSCSSSBSBBSCBBCSBSBCCBCCBCCBCBBSSCBSCSCCBBSCBCCBBCSCBBSBBBBCCBCBSSSBCBCBSSCBCBSSCCCSBSBBBCCSSCCBSBCSCSCBBSSCBBSCBCBCSCCSBBCCBBCBBSBSSSBBSCSSBBSCSBSCCBCBSCSSCSBSCSCSBCSSSSBBSSCBSBBBCCBSCCBCSCSSSSCSCSSSBBSCBCBBBBBSBCBBBSBBSCCBBSBSCBBBCCSCCSSCSCCCSSCBBSCBCSSBCSSBCCBCCBCCCBCSSBSSBSSCBSSCSSBBSBCSCCSCSSBBBSCBCSBCBBBSCCSSCSSBCBBBCSSSSCBSCSSSCSSBCCBBSCBSCSBSSBCCBSSBBSBSBSBCBBBSSBBBBCBSBSSCSBCSSSBBCBCBSSCSBBBCCSBSCCCSBCSCCCBSSSBBSCCCSSSBCSBBBSSBBBCBBSBCBSCCSBSSCBCSSSBSBSBBSSCSBCSBBBSSSCSBSCBCSCCCCSSSBBBCSBCCSCCCSSSSSCCBSCBCCBBCCBCCCSBSCCBSBSCBBCSSBCSSBSBCBCSSSSSCCBBBBCSSBBBSBBBCCBCSCCBSCBBBCSSBCCSBBSBCCSBBCSSSCBSBSCCCSSBCSCBCSSCSBBSCBSCCSBBCCSSBBCSSSCSSBBSCCSBCBBCBCCCBCSBCSBSCSBBCBBSBSSBCBBSCSCSBCCBSSSBSCCSSSCBSBCBCSSCCCBBCSCSBSSBCSCCCSSBBBCSCCBBBCSCBCBSSBBBSSCCCCBCBSBCBBSCSSSSBSCBSBCSCBBBCBCSBSSCCCSCBCCCSSSCSBBSSSSBCBCCSCCBSBCBBBCSSCCSBBCSSSCSCCCSCBCSSBSSSBCBCCCSBSCBCCBBBSCCCSSBCCCSCBBCBCBSCSSSSBBCSBSSCSSBCCCCSCSSBCCSBBSBSSSSBCBCCBBCSSCSBBSBCCSSBCSSBSSBBBBCCCCSBBBCSSCCCBBBSSSCBBBCCSBBBSCBBBBBSSSBSSBBBCBCBCBCCSBSSCSCCBBBBCSSSSSSBBSSSCSBBBSCCCBBBCSCSBCCSBCBBSSCBCBSCCSCSBCCCBCCSSBSBCCCSCBSSSCBBSSSBBSBBSSCCBBSSSSBSBBSBCBCCCSBSSSBBSSCBBBBCSCCBBCSCBBBSCSBBCCSSCSSCCBSCBSSBBBSBCCSSBBBSBBBSBCSCSCCSCCSBSSCSSBSSCSBCCBCCCCCBBSBBBSCBCBCBCBSSBSBCCBSCSBBSCCCSBBSSSBCBBSSBBBBBCCBCSSBCBCBSBCBBCCSBSBSBCCCBBSBSCCSCSBCSSCSSCCCSBCSSCCCCBCSSBBSSBCCBCBSBSSSBCBBCSBCBCBCCSSSCBSSSBCBCBBCBSCBSBSSBCCCSSSCBSSCSSBSSBCCCSBBCSSBSBSSBBSBCCCSSSSCCSBSSCSCBSCSSBBBSCSBBBCCBSBSCSCCSBCCCBBSBCSCCSCCSSSSBSSCCCSSSSCCSCCCBSCCCCBCBBBCBBBSCCSSSBCCCCCCBCBBBSBBSCBBBCSSSCBCBSCCSBBSBSBCBSSBCCSSBSBCSCBBCBBSBBBBBSBCCCSCBBCCSBSCSSCCCCCSCCCSBCBBBSBCBSSCCCSSBBSSSBBSBBCCSBCBCBCSCSBBCCSCBSCCSBBCBBCSCBSCCCSBCBBBCSCSBBBSCBSSSCSBSCBCSSSBBCSBBSSCSCSBBBSSSSBBBBBBBSBBBSCBBBCCCBSSSSCCCCCBSSCSSSBBBSSSSCBCSCSSCBSBBCSBCBSCCBBSBSCSSBSBCSCBSCCCCBSSSBCSSBBCBBSSCSSBSCSBCBBBCSCBSCCCCSBCCBBCBSBBCCCSSSSBSCCCBCCBSBCBSCBSBCSSSBSBSSCSCSSSCSBBCBBCSSBSBBCCCBCSSBBCBCSCBSBCBCSBSBBBSCCSCBSBSBSSCBCCCBBSCSSCCCSCSBSSSCBSSSSSBBBBBCSCSBSCBCCCBCCSCSSBCBBBBBSCBBBBSBCCCBSCCSBSBSSCCCBBCBBSSBBCCCSBSCBSBBCBSSCBSCBSBBCBSSCSBCCCSSSBBSBCCCCSBBCBCCCCCCBBBSBCBSCSCCBBBSCSBBSSSBCCSCCBBBSBCCSBCSCBSSCCCSSSBCBBCBCSSCBSSCSCSBBCBCSBSSBCSCSBSSCSSCCCSCBBBCSBSCSSSBCCSBBSSCCSCCCBSCCSSSBCBSSBSBBBBBCBCBBCCBSSBBBBSCBBSSBSCBBBBBBSCSBSCBSBCCSCSSBBSSCBBCSSSCBCCBSSSBCCBSSBCSBCBCSCSCBBBSCBBSBSCSBCSBBCCBBBSBSBSCBBBCCBSCBBCCBBBSSSSBSCBCSSSSBCCCCBSCSBSCBSSBBBBBBSSCSBBSBBCBBCSBBBCBSSCCSBBSBSSCSBBSCBCSSSBBBCCCSCSBBBBCCSCSSCSCBSBSSSSBCCBSBSCBBBSSSBSSCCSBCBSSBCCBSSCBCCCSSSBSSSBSCCBCSCSCSCCSBCSCBCCBCBCCCCBSSSSSBSSCCBSBSBBSBCSBBCSCBCCCBBCSCCCCCCBSSSBSBBSBCCSCCCBBBCCCBCBCBSSBCCSBSBBSSCBBCBCBCSSBCSCCCBBCSSCSCBBBSSSSCSCCSSCSSBBSSSCSCCBBCBCBCCCCCCCBBBCSCCCSCBBBCSCBSBBSCSSBSBCCBCCBBBBCCCSBSBBSSSBBSSCCCCSSSBBCSCBCCSCBSSBCBBSSSSCSBBCSSCBCCCSSBSSSSBBCCSCSCBCBSBSCCBBSSBCCSCCSSCSCBBSSBCCSCSBSCSBSBCSBCCSBCSBSSCSBCBCCCSSCCBCSSCBBBBCBBSBBSBCBCBCCBSBSSBCBBCSBCSSBSCSSSSBSBSSSCSBCBBSBBSSBSCCBSSBBCSBSCBCCBSCBCBSCSCCBCBCBBCCCSCSBBBCBBSCCBBBBSBBSBBSBCSCBCCSSSSCSSCSCSSSSCSBSCSBCSSSSBCCCSBSCBBBSSBSCBSSBSBSSBSSCBCSSSSBCBSBBCCBBBSCCCBCBBBCBBCBBBCSSCBCCSBCBCBSBBBBCBSSCSCBCCSBBBSSSSCBSBBSSBSBCBCCSBCSCSBCBSCCSCCBBBSBBCBSSSSCBSSBBCCSCCSBCCBCSCBSSCCBCCCBSSCCCCCCSSCBCCBSBSBCBCBCSSSSCCCSBBCCBSBSCSBBSBSBBBSBCBSBBSSCCBSCBCBSSSCSSSSBCSBCCSCBCSSBSSSBSSBBCCSBSSBSSCSBSCCBCBSBCSCSCBSCBCBCCBCCSSCSSBBBCSCCBSBBBSSCSCCSBSCCSCCCSCSSBSCCCSBCSCSBCSCSCSCBCCCBBSSBBBBSBCBSCCCBBSCSCBCBBCSSSCSCCCSCBCCSSCSBCBBBBSSSCBCSBSSCBCCCSCCSCSCBBCSBCBCSSBCBSSBSBBBSSCSSCSBCCSBBSSBSBCSSBCBCSBBBCSSCCCCCBCBSBCBBCBCBSBSSCCSBBBCSCBCCBBCCCSBBCBBCSSCCBBCSCCCBCSBBSCCSSSCBSBBCCBCSCCSSCCBCSBBSSCBSBCCSBBCCCSCSCBCCSCBBBSBBBBSSCCSBBCSCBCBCCBCBBCBBCCSSSBCBCSCSSSCSSCSSCCSSSBBCCBCCCBCBBSBSCSCBSBBSSCCSSSCBBCSBSSBSBSBSSSBSCCBCSCCCSSBBBCSCSCCBSCSCSSCCCCBCBCBBBBCBCBBBCBSCCSBSSBSBBSBSCBSSCBSCBCCBSBBCSCSBBCBSBBBSSCBSCSCCSBBSCCSBCBSCBCBCCSCCSBCSCSBSCSCCCBSBCBBSCBSSSSSBCBCBCBSBCCSCSCCBSBBSBCSCCBSCSBCSBSSSBCBCCCBSCSBBSCCBCBCCBBCCCBSBBCCSBCBBCSBBCCSCBSCCBCBBSCCCBBSSCSCSCCCCSCBCBSSSSSCBCCCSCCCCSSSCCSBBCSCCBBCCSCCBCSSBSSCSSSSBBCCCSBBBCSSSSSSSCBSBSSSCSBSCSCCBSSBCSBBCBBBSBBSSSSCCBCCBSCCBSCCSCBSCBBBSCCBBCCCSBBCBBSCBCBCCSBBCCSCSBCCBSCBSSCBSBSCCBCCBBBSSBBBBSCBSCBBSSCCCCCSCCCBBSSBSCCCSSBSSSSCSSSBSBCBCCBSSBBCBBBCBCCCSBSSBBCSBBBCBBCBSBCSBSBBSSBBBSBBBCBCBBBSSBBCSCBCBCBSSBCSSSCSCCSBBSSSBSSBCCCCCCCCBCBCCBBCSSSSCCSBBCSSBCBCCCCBBCCCBCCBCCBCSSCSBSCSSCCBBSSBBBSBCCCBBSBSCCBCBCCBBSBCBSSSCCBSSCCSCSCBBBBCCBSBCCBSBSBSBBCBBCBCBSSSBCCCSSBSBBBBBBBCCBBCSBBCCBBCBSBCSSCBSSBBCSSCSCBSCCBBBBBSSBBBCSSCBBCCSBSCCCBBBSBBBBSSSCSSBBCCBSBCSBSCBCCCCCSCCBBCSBSBCSCBBBCSBBCBBBBCCBCBSSBBSCCCBSCBCCSCBSCBSBCBCSBCCSBSBSSCSCBBCCCCCCBSCBBSBBCBBCCCSBBBCSCCSBSBBSBBCBBCBSBBCSSCCSCCBCBBBCCSSSSSCBSCCBCBCBSCCSCBCSCCSCSSSCSBBSBCSSCBCCBBBSCCSBCSSBBSCCCBBBBSBBBBCSCCSSSBBBSBCCCCCCBCSSCSSSCSSCBCSBSCBBCCBBBSCCCCBCCCBCSSCBBBSCCCBCCBCBBBCCBBCSBCSBBBCBCSCSCBBBSCSBBBCBCSCCCBSSSSSBCSCBSBBCBBCBSSCSCCCSBBSSBSBSSCCSSSBBBBSBSSCBBBCCBSCBCBSCCCSBCCCBCSBSSSBBCSBCBSCCBBCCCSCCCBCCCSBBBBSBSCSBCSSCBBSCCCBBCSCCBCCSSSBCBBBBSCBSSCBBCSSSSSSSCBSCCBSBBSBBBBCSBSSSBBCBCBSBBSBBBSSBBCBCCCBSSBCSBCCSBSCSCBCSCSCBBBBCBCCSSCBBBCBCCBBCCBBBCBSCCBBCCCBCSCCSBSSBSSCCCSBCCSSSCSCBSBCBCCSBCBBCSSCSSBBCBCBCSSCBCSCSCSBCSCSCBBCCCCBSCBBSSCCCSBSBSSCBSCSSBBBBBCCCSBBCCCSSCBSSCBBSSBSBCSCBSBCBBBBSSSCCBBCBSSCBBSSSSSBBSCSSCCSBSBBSCBBCBBSBBBBBBSBBSSCBBSCCSSCSSBSBCSBSBBBSSSSSCBBBBCCSCCBSCCCSCSSBSSBCSSBBBBBBCCSSCBBBSSSCCCBCSCBCBBCCSBSBBSBSBBSCBCBCSCBBBBCBBSSSCBCCBSCCCSCSSBCBSCCCBSBCSSCSCSCCBCSSCBSSCCSCSCCCCSSSBCBBCBCBSBSCBCSBCBCBCBSCSSCSBCSSSSCBCSCSBSSCCBCBBSBBBBCBSBBCBSSBCBBBBCCBSCSBSBBCSCCBCBCBBSSSCCSBSSBBSBCBSCBBCBBCSSSBCSCCCSSBCSSBSCCSCCCSSCSSCBCCSCSBBBSBSSCCSBBBCCBBCBBCBSSCCBSCCBBBSSCCBSSBCBCBSCBSBSCBCCBCBCCCSBSBSSBSBCBSBCSBSBBCCCBSCSBSCBBBSSBSCBSBBCBBBBCBSCSSBCCCSSBCSSSBCSCCBBCSCBSSCSSCSBBCBSCCSCBCCBSBBSBCBSBBCCSCBSSBBBSSBSSSBBCSCCSCCCBCCCCSBCSCCBBSCBBBCCBBCBCBSBCBSCSBSBBCBSSBBBSSBBCCSBCSBCSBBCCBBCCSBBSBBCSBCSCSBBCCSBSBBSBSCBCBCBBBCBCBBSSCBBSSCCCCSCSCBSCCSCSCBSSCSBCSSBCBSCCSBCCBCBSCBBBSBBCSCBCBCSBCCBSBBSCSSBBCCBBBBCCSSSBSCBCSSSSBBCSBSCBSCCCCSCBSBCBBSBBSSCBBCSSCCCBSBCCSSSBSCCCBBBBSCCBSCCBSSCCBBCBCBCCBBSSSCCSBBSBSBCSBBCCCCBCBCSSBBSBBCSSBSSBBSCBSBCSSCCBSCBSCSBBBBSBSCCSCBCSSCBSCBSBBBCSBSBBBCBCSCCSCCCCCBSSSCBCCBBSBSSBBCBCBBSSBSSCBBSSCSCCSSBSCCSSCCSSCBBCBCBCCSCSCSSSCSSSSSSSSSSSBBBSSCBSCBBBBSSBCSCCBCBSSSSCSSCCBSCBCBSBBSBCCSBBSBCBBCSSCCBCCBCCBCCCBSBBBCCCSCSCBCSSSCBBBSBCBSBCBBSCSBCSBCBSCBSBSCCCCCBBSCCCBCBCCBCCBSBCCBCCCSBCSSSSCSSCSBBCBCCCCBBCCSCCCCBCBSSCBCCBCBSBSSSBCBCSCSSSCCBSSBBSSBBSBCSSSBCBBCBCCBBCBBCBBSBBBSCSCBCBBSBCBSCCSBBCCSSSSSBCSSBBCCSSSSSSSBSCSSCBBCSCBSSCSSBSSCSBSBCSSCCCBCBCCSBSBBBBSBBBSSSCSCSSCCSCCBSBBCCCBBCCBCCBBSSBSBCSSBSSCSSBCSCBCBSSSCSCSSCSBBSBBSCSSSBBBCBCBBBSBSBSSBBBCBBSCBBCBSCCBBSCCSBSCSSSSSBCBBSSBSSBCBCCSSCCCBCCSCCCCBBSBBBSCCSBBSBBCBCSSSCSSCBSCSSSSSCCBCCSBCCCBSBBCCBCBCBCBCSSCBSBBSCBBBCCSBBSBCSCBCSCCBBSSCBCBCCSSBCSBBSSCBBCBCSSBCSCCCBCSSBSBCCCCSCCBSSBBBBCBBCSSBSSSSSCCBSBBBSSSBBSSBSSBSSCSCCCBBCSCCBCBSBBCBBSCSSSBBBCCCSSCSBSBCCSSCSBSCSCCBBCBCCCCSBBBCSSCBSSSCCBCSSSBCBCBCCCSCBBCSBBCCCCBBSBBSBSCCSBSCCSBCSCCSCSBCCSBBCBCSBBCBBSSCCCBBSSCBBSBCCBCBSSCSBSCBCBCSSBBBBBBCBBSCSCBSCCSSCCBCSSSSSCBCSSCBCSSCBCBCSBSSSBCCBCSSBBCCBCCSBCCCBSSBCBSCCSCSSBCCSBBBBSBBCSSCCCSSSBBBBCBCBBCSBBBSCBCCCSSBSSSCCCCSSSCCBSCCSSSSCCCCSSSBCBBBBCBCBCCBBSBSCSCSSSSSCCSBCCBCCCSBSSSSBCCBSCSSBBCCSSBSCSCSCBBCBSBSSBCBCSSSCCSCSCBCBCCCBBBSBCSCSBBSBBSBBBSBBSSBCCBBSBCSBBBCBBSBSCCBCSCCCCBSSBCCBCSBBSSCBBSSBBSCCSSCBSSCCCCSBSCSSCBCBCBBCBSCSSBSBBSBCSCBBCCSSBCSCCBBBCSSSCBCBBBCSCSSCCBBCCSBSBCCCBSCSBSBCCCSCSCCSCBCBBSBCSCSBCSBSSSBBSBBSSBCSSSSCSBCSSSCBCBBBCCCSSSBBBCCSSBCCBBSBBCBBSCSBBCSCBBSCCSCCCCSCSCSCSCSBCCBCBSSSCBSBSSSSBBBBCBSSCBBSBBBSSBBSSSBSSSBBCBSBCCCCBBCBSCBCCSSBBBBBCBBBCCCBBBSCSCCBCSCBSSSSCSCBCCCCSCCCSSCBBCSCSCBCSCBBBCSCCCSBSSCSBBSCBCSSSBCCBBSCCCSSSSBBSBSCSCCBBSBBSSBBSCCBBSBSCBCSBCCBSCCCSCCCSSBSCSSBBCSBCBCSCCBSSCBCCBCSCBSSCCCCBBCBCCCSBBCCSCBBBSSBBCBCCBSSSSCBCSSBCCBBSBSSBSCBSSBSBBCBSSBBSBCSCBSCBSCSBSBSBBCSBSCCSCCSBSSBBCSBCCBBCSBBSBBBSCCSCCBBSBCBBBBCCBCBBCSSBBCSBSCSCBCSSBSBCSBBBBSSCCBSBCCSCBSCBBBSCBSCSSCCBBBBBCSCBBCSSSCBBBBBSCCSSSBSSCBCSCCCBBSBBSBBBBSBBSSBCCSBSCCSSCCBCBBBCCBCCCSSSSCCSCBCCSCBSCBBBCBCSCCBBBCBCBSCCSSCSBSCBSSBCSCCSCCBBSBCBBBCBCCSSSBCBSSSSBBBCBBCSBSCCBBBBBCBSSSBSBSSBSCBSCSCCCBCBSBSCCSSCCSBCSBBBSCCCBCSSCCCSCCBBBCCCBBBCBCSCBBSSCBCBSBCBCCSCBCBSBBBSSCCBCCBCBSCCSCSBBCCCBBCBCCSBCBCBSSBSSSBCSSCCCSBCBSCCCBBBCSCCBCCCSBSBBSBSSCSSSSSCBSSBSCSBCCSSSBSBSSSCBSCSCCSSCBBSBBBSBCSSCBSBCCCSCBSSBCSBSCSBSCCSCSSBSBCBBBSSSCCBCCBBSSBBBSCCBCBCBSSSBBSSSBBCSSCSSBBBBBCSBBBBBBCSBSBCSSCCBCCCSBCCBBCBBSSCCSSCSBBCSCSSSSBSSBCSSBBBSCBBCCCCBCCSBBCBBBBBCSCCSSSCSCCSSSSSCSSCBCCSSBBSSBSBCBCCBCCCCBSSBBSCBBCSCBCSSBBBBCBBSCCCSSCCBCCSSCBSSBCCCCSSSCCSSBBCSCBCSBSBSSCBBBSSBBCSSBSBCCSCBCSSSBBCBBBSSBBSSBCCCSBCSSSCSCSCCCBCBBSSBCCBSSCBBSSSCSBCSBCBCSBBBSBCCSSSSBSBBCBBSSSSBSBSSCBCBSCSBBBBSCBCCSCBBBBCCSSCCCSSBCSSBBCCSCBCSCBSCSCSBBCCCSBBBCBSCSBSCCCBSBSCSSSBSBCCSSCCBBCSBBSCCSBBCCBBSSSSCSSCSSBBSBSCBSBCCSCSBBSBSBBCCBSBSBSBCSSCCSBCCSSCSBSCCBSCBBBBSBSCCSCBBBCSSBCBBBSBCBSBSCCBBSSCBBBCSCCBBSBCBBBSSBSCCSBBBSSBCBCBCBSCSCSBBBBSBCBCBCCCSCBBBSSSBCSCBSBSBBBCCSBBBSSSSCBSBBCBCCSCBSSSSBBSBBCCCSCSBSSCCBSBCBCBCBCBCBCSCBBSSBCSCSSCSCSBCCCCCBSCSBSCCCBSCCBCCCCBBSSSSSBSSSSBSSBSSCSCSCBBSBBSBBSSSSSCCBBCBSCSSBCBCCSBSSSCBCBSBCCSSCSCSBBSCSSSBSSCSBBCSCCSBSCCSCSBCBBSCCSSBBBBCSBSSCBSCCCCSBBBBSBCSBBSBCSCBCBSCCSSBBCSCCSSBCBCBCCSBCSBSCSCSBCCBCSBBBCCSCSSSCCBBCCCCBSSSBSBBSBSCCBBCCSBBSCSCSCSCCSSCSBCBCBSCBSSSBBCCBSCCSCBCBBCCSSBSBCBBSBBSSCSCBCSBCCSSSCCCSBSCBSCCBSBSSBCSBSSCSCSBBBBBSSCSCCSSCSBCSBBCCSSBSSCSBCCSCSCSCCSBBCCCSBBSCBBBSSCBSCCBSSSSCBCCSCBCCCSBBCBCCSSBSBBBSCSCBSCSSSCSBSSBSSBBSCBBBBBCCSBCCCBSSSCBSSCSCBBCSBCSCSSSBBSBSCCSSBBCSSCCSCBSBBSCCCSBCBSBSBSBCCBCBCBCCBCCSBSSSCCCCBCBSCBCSSSCBBSCSCSCBCCCSCCSSSCCCCBSCBBSCBCBBCBSSSBBBSBSCSCCCCBCCCBSBBBCBSBCCBCCSCSSSBBBCSCCCSBBBCBSCBSSCBSBBSCCSBSBSSBCBCCCBCSSBSBBSBSCSBSBCSCSBSCSBCBSSSSCSSBSCSCSSCBCBBBCBCCCCSBSBBBCBBBBSSSCSBCSSBBBSBCSSCSBSCBSBCCCBBCSCCSBCSBSCSBSBCBCCBCSCSCBBCSCSSBBBCBCCBBBCSBBBCSSSBCBSSBCCCCCSBSBSSSSBBSBBCSSSBCBBSSCSCBCSSBCBCSCBCBSBBCSCSSSCSCBSCCSCCCSBCBBCBSBSBBSCSCSCBBBSSBCSSCCSBSBCBBBSSSBCCBCCSCBBCSBSSCBBBBBCBCCCCBBSCSCBBCBCSCCSCBBBSCBBBSSBCCCCBBCCCCCSCSSCSCBSBSCBCSSBBBCBCCSSBSCSSBCBSCBBSCBBBSCSBBSSBCBSCCBCCSBCBBSBSSSCSCCSCCCCSBCCSSSBSSCCBBSBSBSCSBBCSBCCSSCBCBCCCCBCCCSSCCCSCBSCSSSSBBCCCCSCCBBCBCBCBBSSCBBBBBSBCCSBSSBCCCCSBCSSCSBBBSCSBCSCSCBCBBBCCSBBBCBBCSBCSBCSCCBSCBBCSBSSBCSCBSBCBCCBCCBBBSBSCCSBCBCSSSSBBSBCSBSSCBSBSBBBBSSSSBCBSCBCSSCSCBCCCCCBSSBBBCSCBCSBBSCBSBCSSCBBBCSSBSSSSCBCSSSSCCBBSCSSCCCCCCSCCSBBBBBBCSSCBSBBCCBCCBBCBSCBCCSBCSBBSCSCBBSBSSCSCCBCBCSBBSBBBBCSSSBBCCSSBCCCCBBBSSSCSCCSBSSSBBBCSSSCCBCBSSCBBSBBSCSSCSBBBSCBSSCSCSBSSBSCSBBCCBBCCCBBCSSSSSSCBCBCSSCBBBSCSSBBBBCBSCCSSCSBSSSCSCCSCCSCBSCSCSSSBBCBBCCBBBBBCBBBCBBBCCBSBBBBSBCSCCBBCCCBCSCSSBSCBBBSSCSBBCSCBSSSBCBCSCCBSCCSCCBSBBBBBSSBCSCCCSBCBCSCBCCBBBBBBBSSBSCBCSCCSCCCBBBCBSSSCCCBBSSCBSBSCCCSBCBBCSCBBBSSBSBCCCCBCSBCCBBSCSSSSSCSCCSCCSCCCCSBCBBBCCCSCBCSSCCSBSBSSBCCSBBBCCBCCSCCSCBBSCBCSSCBSBSCBCSBSBCCBSSSBBCSBBSCSBCBSBSSSBCCBCSCBBSSBCBBCCBSSSCBBBBSSCBSBBSSSSSCBBCSCSBCBSSBSSBSBBBCCCCCCSBSSSSBSBSBCCSBBCSSSSCCSCSSBCCCCBCCCBBSCCBBBCBBSBCCBCSBCBSSBCBCSSSSBBCSCCSBBCCBSCSCBSCBBCBBSCSSCBCCCSSBCSCSSBBCCCCCSBBCCBBSCSSCBBBCBCBCCCSBCBBSSBBSBCSSCSCCSSSBCSCBCCSSBBCBCBSCBSBCSCBCSCSBSCCBCBSSCSBBBBSBSSCBBSBBBCSBCBBCSBCSBSCBCCSBBBSBCSBBBCBBCSCBSBCCBCSCBSBBBCBCCBSSSBSSCSBCCCCBSCSSCCSSSCCSBBCSSSCBSBSSBSBBCBCBBSCCBCBBSCSBCSCCCSSBSCBCBSSCSBBSBCCBSBBCCBBSCCSCBSSSCBSSBCBBCCBBBBCBCCCBCSCBCBSBBSBSBSCCSBCSCCSCBSCBBBSSBCBSSCBSBCCBSCBCCCBBSSSSSCCCSCBBSCSCCCSBCBBCCCSBCBCBBCCBSBCBBCSCCBSBCBBCBCBCSCCSSBCCCBCCCSCBSCSCBSSSBSSBBCCBCCBCBBBCSBCSSBCCCCBSCSCBCCCCBBBSSBBBCSSSSBBSBSSCBBCSCBCSBCBBSCSBCSCBCCBCBSSCBCBCCCBSSCCBBSCCBSCCCCCCSSCBCBCSBBSBSSSSBSBSCSBBCCBBSSSCCCBSBSCCSCCBBSSBBCSBCCCCBSCBSCCBCBSCCCSCBCSBBBCSBCCCSBSBSBBSCCSCBCSSCCBSCSBSCCSCCSCBCSCBCCBBBCCCSBCCBSBCCCCBBCCCCSSCSCCSCCBBCCCSCSSBBSCCSBSCSCBCCBSBBSBSBSCBCBBSCCBBBSCSBCCBSSSSSBCBCSCCSBBCSBSBSCSBBCSSCSCBBBBCCSBBBCCSBCCCCSCCSCBBSSSBSSBSCBCBSSBBBCBCSBBCSCBBCBBCSSCCCCCBSCBSSSCCSSSSBSCCBSBCCBBCCCCCSBSCBBCCSSSSSBCCBBCSSSBBSBBCBCBCSSBBBCSCBSCCSSCSBCCSSCCBBBCBBBSCBSSSCBBCCBBBCSSSSSSBCSSSCBCSBCSSBSSSCSSBCSSCSCCBCSSCBCBCBSCCBBSCCBBBBCCBSBCSCCBBSCBCBBCBCSCSCSBCBSSBBBBCSBCSBCSBBBSSSCSBBCCBBCSCSBBBSCCBSCBSCCCSCCSBCCCCBSSBBSSCCCCBBCBBSSSBCBSBSCCCSCBCBBBBSBCSBBCSSCCBBSSCSSBSSBCCSSSBBCBCCSSBSBSCSBSSSCCBBBBCBCCSBSSSCSSCBBSCSBCCBBSCBCCCBCCCBSBBCSCBSCBSBCBCBSSBBSSBBBSSSSBBBBCBSCSBCBBCBSSSSBCCBBCCBSCBSCBCBBSCSSCCSCCCBCBSCSBBSCSBBSCCCSCBBCSSCSSBSSCBBCCSBCCBSSCBCSCBSBBSCSCBCBCCCSCSCBCSBCBCBSBCBSBCCSCCSSSSSCCBSBCCSBCSBCSSBBCCCBCCBSCSCBBBSCSBBBBBBBSSCBCCSBBSSCBSCCBCCCBSBSBBSSBBCCSCCSSSBSCBCSBCCCSCSCBCSSSBSSCBCBCBCSCBSCBCBCCBSCBBCSSCSBCSSBBSBCCSCBSSSSCCSCSBBBBCBBBBBSCSCCCSCSSBBSBBSSCCBBBSCCCCBCBCCCSCSSSCBBSBBBBSSSCSBSCSBBBBBSCBBCCBSSBSSBCBBSCCSSSCBCBBBCSSCSBBSBCSCSCBCBSSBSCBBBSCSSSSSSCBBSSBBBBSCSCCSBBBCBBBCSSSSBSBSSSCBSCBBSCCSCSSSBCSSCSSBBSBCSSSCBSBSSSCSSCSBBBBBCSCSSBCBSCSSSCBBBCSSCBBBBBCBSSCBCSCCBSBCBSSSBBBSBCBCCSSBSSCCSCCBSSSCCSCCBSSCBCSCBBSCCBSBSCSCCSCBCBCCSBSCCBBCSSSSSSBCSCCBBSSBCBBBSSSBBSSBCCCBCBCCCSBCSCSBBSCSBSBCCSSCBBSCCBCBSBCSCSSCCSSBCCCCBSSBSSBSCSBBBCSBBSSBBCSBCCSSCBBBSBBSSSBSBCSBBBSCSSCSSCBSBCCCSSSCCSBCCBSBSBCSCBSBBCCBSCSBSSCBBSCCSSBSSCCBBSSSBSSCBCSBCSBBBSBCSBBSBCSSSCSSCBSBCCCBCCSSBSSBBCSCSBCBSSSSCCBSSCBBBCCBSBCBCCSCSCBBBBSBBSBSSBSSSBSBBBSSBSBSBSSBSCBCSBSCSBCSCSBBSBSSSSCSBBCSCBSBBCSBCCBBSSCCBSSCSSSBBBBBBBCCSSCCBBCBSBCSCBCCCCCSCSSBSBCBBSBBCSSSSCSSSCSCBBCCSSSSCCSCBBCCBSSBSCSSCCSBBBBSSSBCBSCSCCSSSCSBBSCSCCCBCSCCBBSBCBBBSSCSCSSSCCCBSSSSBSBSCCCSCCCBSSBBSCSSCBCCSSSCCCCCSSSCCCCSCSCBSSBSSCBCCCCBSCSSCBSBCSCBCBBCBBSSCCSBSSCCCCCBBCSBSBSBSSSCCSSSCBBCSCCSBCCCCSCCCSSSSSCCBSCSCBCSBSSSSCCSCCBBCCCSBSSBSSSBCCBCCBSSBCBSSBBSCBCSBBCBBSSBSSCBCBSSSSBCBCBSSSSSBCCSSCSSSCBBBSCCSBSCSSBSSCCSCSSCCCCBSBSCSBBSCCCCSCSBCSSCSCSCCSSCSSSSCBSBBBSCBSBSCBCSSSSBBSCCSCBSCCSBBCBSSSSBCCSSSBSSCCCBCCBCCBSCBSSBCSBSSBCSSCCBBSCBBBSBBBSCSSBSCCCCSBBSSCBSBSBSSBBSBBSSSSCSBSCSCSBSCCCCSBSCSSSCBCBBCSBCBBSBSCBBBBCSSSSBBBCBSCSSCCSCSBCSCSBSCBSBSSBSCCBCSBCBBSSSBSCBSBCSBBSSSSSSSSBBSCSBSBSSCBBCBSSBSCBSBSSCCSCBBCCCCCCBCCSCCBBSBSCSBSCBSSBCSBBSCCSBCBBSBBSCBSBBSBSSCSCCBSSCSCSBSBSCBSBBBSSCSSBSBSBSBCCCCCSBSBCCCBBSCBBSSBSCSSCCCSCBBSBBBSSBBCCSSBBBCBSSBSBBSBBCSSCCBSSCCBBSCCBBBBSCSBCCBSCSCSBBSBBCCBSBCBCCBSSCBBBBCSCBBCSSCBBCBSCSCSSSSSSCCSBBCSCSCSCCBSCBCCBBSBBBBCSBSBSBSCBSCBBBCCBBCCBBCSCCCSSSSSSSCCSBBBSCBSSBBBBSBBBSBSCSBSBCSCSSBSCCCBSSSBBBCSBBBCBSCBCBSBSCCCCSCBSBCCCBSCSCBBBBSCSBSSBBSBSBBBSSCCSBBCBSSBCBBBSBBSSCBCBCSSSBCCBCCBSBCCSCCSCSBSBSCCSCSBBCSSBBCSBSSSSCBSBSSSBSSCBCCBBBCSBSBSSCCCCCCSSSBBCSSBSBCSCSCCSBCCSCCCSBCSCBCSCCSBBSCSSCBSSCSSBCBCSSSCBSSSBCSBBSBCSBCBSCCCBBCSCCBSSCCSSCSBSBSCCBCSBBSCCBBBCBBSSCCCSCCBSCSBCCBCBSBCSCBSBBSCCBCBBCCBSBCSCBSCSBCCBBBSCSBSSSSSCBCSSSBBSSCCBBSCSCBCSSCSSBBSSBCCCBBSBSSCBBBSSSBCCCSSBBCCSCCBSCSCSSBCCSSSSCBBSSCSSSSCBCSBCBCBBCBBBSBCBCCSCCSSBSCSBBSCSCBSSBSCBSSBSSBCBCBSSBCBCCBBBSSCSBBCCSBCSBCBSBBSCBBBSBBSBCCSBCCCCCBCCSSSSBSBCBSCSSSSSCBBCBSCBSSSCCSCCBCSSBBBSSCSSSSCCSSBCCSSBSCSCBSSSBSSSSCBCSSSCBBCSCSCCCBBCCCCSBSBBBCBCBBCSBCBCSBSSCSCCCCCCBSBCBBSSCSSSCSBCBBBBCSSCCSCCSCCSCBCBCBSCBSCCCBBSCSBCBCSCSBCSBBSCSBSCSBBCCBSBCCBSSBCBCBCSBSBBCCSSBSBCBSSCCCSBBCBSSSCBSCBBBCBBSSCCBCCCBCCBSSBSSSSBSBBCCCCBBCBSCSBCBBCBSSCSBBCCBCBCCSCSSCBSCSCCBCCSSSCCSBBBBCSCCBCSSCBCBBCCCBCSBSSCSSSCSSCSSBBBSSSSSCCCBCSBSSSSCBBCCBSCBBBSCCBSCSSCSSSBSSSCCSCSSCBCSSBCSSCCCSCSCCSSCSBSBBCBBBCBSCBCBBBBCCCBSSSSCBCCSSCBSCSCBSSSCCBCSCBBBBSCCSBBSCSBCBSBBBSBBCSSSBCSSSBCSSCCBCCSCSCSBBCBCSSBBSCSSSSCCCCSBBCBBCSSCCCCCCBCSBBSCSBBCCBCCSBCCSCSBSSCCCCSSBCCCSSSCCSBBSSCBSBSSSCSSCSCSBBBSSSSCSBSCCBCBBCSSCCSBBCSBCCBBCBBBCSCBCBSCSSBSBBBBBBBBSCSSCSBSCCBBBSCCSCSSCSBCCBSCCBBSSCBBBCCSCSCSCSCCCBBSBCBBBSCSSSSCSCBBBCSBBBCSSBCCCBSSCBCBSBCCCBBBSBCBSCBCBCSBBCCCSCBBBBCCBCSSBBSSSBCCSBSSCBBBSCCCCSBCBSSSBBCCCBCSCCSBSCSCSBBSBBCBBSBBSCCCCSSSCCSCBCSBCCCCCBCCSCSSSSBBSCBSSBBBBBCSBCCCBBBCSBCBBBSCSSBBCSCCCSCCCBBBCCSBCBBBCBBCBCSSSSSSSSSSBBSCCBCCCCBBBSCSCCCBBCCSBBSCSCBCSCSCBCSCCBSCSCBBCBSSBBSBSBBBCCSSBCCBSBSBSBBCCCCCBSBCSCCSCSCBSBCSCBBSBSBBBBCCBSSBBSCBCBSBSBCSCCBSCSCSSSBSSSSBCCCCSCBCCSCSSCCBBSCCBCSCSCBBBSCBCSSSBBSSSSCSSCSCBBBBBCSCSSBCSSBBCBSCSCSSBCBSCSCCCBBCCBSCBCSSSCSCCSSSCBCBSSCBCBSCBBCCBSBSSCBCSBBCBBCCBSSSBCCSBCCBBCSCCBCCBBBCCCBCBCBSSBBCCCCBBSSBSBBBCSBSBCBBSSSSBBCBCCCCSCBCBBCCCBSCBBCBCSCBSSBSSBBSSCSCCCSSBBSBCBBCSBCSCCBSSBCBBSBSBBBSCBSCCBBBBBSSSCBBBCSSBCCBSCBCSCBBCBCCCSBBBBCCBSBSSSBCCCBSCCSCCSSBBBSBCBCCCSBSSBCBSBBCBSBBSCSCSCBSBCSSBCSSCBBSBBCBBCBCBBCCSBBCBCCCSBBSBCCCBCBBSBBSSSSBBSBSBCBBBCBCBBCSBCSCBCCBCSBSCCCSSSCBSSBSBCBCCCBCBSSBBCCCCCCSSSCCCCBSSSBCSCBBSSBBSSCCSCSSSSSCBSCCSSCCSSBSSBCBBBBCSBCCCSBSCCSCCSCCBBBSSSSSBBBCBSSCSSCBCSSCCBSSBSSSSBSBCBBSBCSBBBSBBCCBCCBSBBSBBSBCCBCSBSBSSCBCCCSSBCSBCSBBSBBSCSSSCBBCBCSSBBBBBCBBSCSBBCSSSSSSSCCCCSSSBSBBCBSBCBBBBCSBCBCCSBBCSSCSCBCSCBSBBCCSCCSBSCBCSSCSCSBBCCCSSCCSSCCCSCCSCCCBCSBSSCSCBCSSCSBSCSCCCCSCSCCBCSBCSSBCSSSBBCSBBSCSBBSBBCBCSCSBSSCSCSSBSSSBSBSCSCSBBSCBSBCBBCBBBCCSCCCCBSCSBCBSBSBCSCCBBSBCBCBBBCSCBCBSCCBSCBBBBCBCCBSCSBSCBCSBCBSCSBCBCBSCCCBSSCSBCCCBCSSCBCCCCCCBSBBCCBSBCSCCSSSBBCSSBSSCBCCBCCSBSSCBCSSBSBBBCBSSCCBBBSCSCBCBBBBCBSBBCSCSSCBSSCBBBSBSSBBCBBCCCBSBBSSBBSBSCBBBSCSSSBCSBCCCSBCSSSSCBSBCBCSSBSSSSBSSSBSSSCSSSCCSBBCSBCSSCSSCBBSBCCSCCSCCCCBSCBBBCCBBBCSBSBBSBBBBCCSBBSSSSBBSCBSCSCBSBBSBCSBSBSCCCCBCSSBCSSSBSBSCCSBSCCSCBSBCBBSCSBSBSCSSSSCBBBSSCSSCCCSCCCSBSSSCSBSBBBSSCSBCBBSCSCCBCCSSCCBBBSCSCSSSCBCBCBSCSSBBCBSBBSBCBSBBBCBCBBBSCSBCSBBBBBCBCBSBCSCSCCSSCBSBSCCCSSCCSSCCSCBCBCCSCBBCBSSCBBSBBSCBBSCSCBCSSSSBCBBBSCBCSBCBSSBBCCBBSBBSCSBSSCSCCCBCBBSBBSCBBCSCBCBCCSBCBSBCBBSCCCCSCBCSCCSCCCBBBSSCCBCSSBSSCBCSCBBSSCBSSSSBCBCCBSCBCSCSCCSSBCSBBCBCSBSSSCCBSSSCSCCSBSSSBBSBBSBSBBCCCCSBCSSBSBCSBBBSBCSCBBBBCCBCCSBBCCCCCBSBCCCCCCBCBSCSCCSBBSCCSSSSBBSBBCSCSBSCSCBCSSCCCCSSBBBCCSBBBCBCBBCBSCCSCCBSCCBSCCBBSCCBBSCSBCBSBCCCCSBBBBBCSBSCBBCBCBSSBCSSSCSSCSSCCSBSSBSCBSBCCCCBBSSBBBSCCBSCBSBBSSSSSCSSCSBBCCBSCBCBBSCSBSBCSCBSSBBBBCSBCCSBCBBCCSSBBSCCBCBCCBSCSCBBSSCBBBCSCCCBSCSCSBSBCSBCCCCBCSSBSCCSBCCCSCSCBSSSCBSCCBBCCCBBCSSCCSSBBSBCCBCCSBSSBBSSSSBSSBBCBCSSCBCBBCBCCSBBBCBBSSBSSCBSCCBCBCSSCBBSCSCSCCCBCCBBCSBBCBBSCCBCBSCSCSBCCCCCBCCBBSCBCSBCCBCBBBCSCCCSBSBCBSSBCBSSSCSCSBSSBCSSCSSCSCSBBCCCSSCBBCSBCSSCSBCSBSCSBSCCSBSSSSSCSSSBBBBBBBSSSCBBSSSCCCCBBCSBBCCSCSBSSSBSCCCSBBCBBSCCSSCBCBSSSBSCCCBSBBCSBSSSSBSSCSSBBCBBBSSBBSSCCBCSCSSCSSSSSCCSCSSCSBSSCBSCSBBCBCCBCBSSSCSCSSBSBSSCCCBSBSBSSSCBCCCSSBSSBSCBBCSCSSBBSBBSCBCBSSCSBBBBBBCBCCSBBBSBBCSSSBSCSCCBSCBSBBCBSSSCSCCBCCBSBCSBCSBCCSCCCBCCSCSSSBBBBBSSCBSSBBCBBBBBSBBCSCCCSCBCCCBBBBCBBCCSBCCBSCBCSBBBCSBBSSBCBBBSCCCBBSBBCSCCCBSSBSCBSSCCSBSBCSSSBBCBBBSSCCBSCBSBSSBSBSSBCBBBBCBCCSCSBCBSSCBCBSSSBBSSBBCSBBBBCSSSCCBCCBBSBCBBCBSCSBCBCCCCCBCSCCSBSCBSBBCBSSBCBBSBCSCSBCCSCCCCCCBSSCCBSCBCBSCSSSSCCBCBBSCCBBSCBBBBCBBSBBSSCCBSBCSBSBCCBCSCSSCCCSSCSCBBSBBBCBCCBBBBSCCBSSSBCSBCCBBCSSCBCBSBSCBCBBSSSBBSBBCSSBBBSCCSSBCCSSCBBCCCSBCBBSCBCCBSSSSCSSBSCCBSCSBSBSBSBBBCBCBSCBSSCCBSBBSSCCSSBBCBSSSCCSBSCCSBSBCSCCCSSCSCBSBSBCCBSBBCBBSSSBCBSCSCBSSSSCSSCCSSBBBSCBBSSCCCBSSCSSBBCSBCBCSSBBBBCCSCCCBBCSSCBSCCBSCCBCSBBCSCSBBSCCBCBSSCSCCSCCSSBSBSSSSSCBBBCSSSSBCCBSBCBSBBCSCCBSBBBBSCSSBBBSSCCBSCBSCSBBBCBCBSSBSCSBSCSSBSCSBCBBBSSCBCBBSSSSCCSBSCCCBBBSCCCBCCSSBCBSSCBCSBCBCSCBCSBBCSBBBBSBSCSSSCBSSSBBSBSSBCCCSBBSCCSCBSCBBCSSBCSBSSSBSSSSBCCBBSCCSCBSCCCBBBSSSSSCSSBSCBCBCBSBSBCSBCBSCSSSSCBSSCBCSBCBCCCSCCSSBSSCCSSCCSBSSCSCBBSBSSSSBCSBCCCSCBSCSBBSCBCBCCSSSCSCSBSCSBSCSSSBCCCCSCBBBCSBBSCBBCBCBSCCSBCSCSCCSBBBCSCBBSCCSCSSSSSCSSSBCCCSCBBBBSCBBSSBSSBSBSSSBSBCBSCSBCCCBCSBCSSCSBBBBSBBSSCBBCBBSSSCSSBCBBCSBSBBBCBSCSCBSBBCBBBCSBBSBCSBSCBSCBCBBBSBBSBBSSBSSSSSCCBSCCCCSBCCBCSBBCCSSSBCCCCCBBBBCCBSCSCSBCSCCCSCBCCBSCCBCBCSCSSBSSBSSBSSBSCBCCCCSBSCBCBSSBBSSBBCCBCBCBCSCSBCSCSBSCCBSCCBBBSSCCSCCCBCBBSSBBBSBSSSBBSBSSBSBBBBBBSBBCSSCBSBCBBSBBSSSCSCCCBCSSBCBBSSCCCBCBCBCCBBSCSCBBCCSBBSBSCCBSBSSBSCCSCBCBSCSSSCBCCSCSSSCBSBCCSSCBCCSCCCCBCCSCCBSSCSSSSCCCBBSBCSBSBSBCCBSBBCBCSSBBBSBSCBCSSBCBSBSBCBSCBCCCSCBCBCCSBSBCCBSSBSBCBCSSCCBBBCSSBCSCSSBBCCSCSBSBSBBBBCBCSSBSCBCSSCSCBSSCCCCBSBBSCSCBCSCSSCCCBSBCCSCSBCCBSBCSSCCCSBCBCCSSSCCCBSBSSCCBBCCCSSBBSCCCBCSSSBCCBSSBSBCSCBBCBCCCSBBBCSSBBSBSSCSCSCCCCBSBBBCCBBBBBCCSBBSCBCSCSCCBSCCCCBSSSCSSBSSSBSSSSBBSBCBCSBBSCCCSBSCCBBCSSCBBSCSSSCBSCCSSCSCCSSCBSSSSCSSCCSSSSSSCCBBBCSBSBSCSBBCCSCBBCCSCCSCCSCSBBSSBSSCBBCCBCSSSSBSSBCSCBBCSCCCCBCCSCSSBBSSBSSSCBCCSCSCBBSCCSSSSSBCCCCBBBCCSCCSSSBBBBCCCCBCBCSCSCBCCCCSCBSBCCSSSCBSBCSCCBCCCBSSBSCBCSCBCSCSBBCSCSCBBSBBSSSCCBCSBSSBCBBSBSSCBSBSSSBBSSSCCSSBBCBBBCBCBBSSSSCCCSBBSCSSSSCSSBCSCBCSSCCSBSCSSCBCSSCBCCBBSBBBCSSSBCBBCSCSSBSBCCBSBBCSCSSCCSBCBSBBCCSSCBSCCSBSCBCBSSCBBBSCSBBBBCSCBCBSCBBCBSBBSSCSCCSSCBCBSSCBCCSSCBSSBCCCCBBSBCBSSSCBBCSCBSCCCSBBCSBBCCBCBBSCCBBSSSBSCBSCBBSCBCCSSCCBSSSBCSCBBSCCCBSBSCBCBBBBBBCSCCCCCSBBSSSBCBBSSBSSBBBCCSSCSBSBSBSCCCCBSBSSBBCCSBCBBCBBCSSSSCSBCBSSSCCSBCCSSBCCSSSBBBBSBBCBCCCCSCCBSCCBCBCBBSCCBBBSCCCCCSBCBCBSCBSCCSCSCCCBSSBSCCSSSCBBSSSCCCBCSSCBCBSCBBCBCBBBCSSCSSSBCSSBCCCSCCSCCBSSSCCCSSCSCBCSSSBSBBSCCBBCCCSCCSBSSBSBCCCSCBBCSBSSBBSCBSSBSBCCCBSCBSBBBCSCBCSCBSCSBCSSBCCCCBCBSBSCSSCCCCCBCSSSSCCCSBCCCBSSBSSBBCCCCCBSCBSBSBBSBSCSSBSBSSBCBSCBBSSBSCBBCBSBSSSSCSBSBCSBBBCBCSBBSSBBCSBCSCCCBBCSCBCCBSSCCSCSCSCSSBBBSBCCSSBSSCSBSBSBBBSBSSCCSSCCCSBSCBBBCSBSSBBCSCBSBCBCSBCSBCBCBCBCBBSCBSBSBCSBCBSBSCBSCCCSBBCBSSBSBSCCCSBBCSBCSSCSBBBBSSCCBCCSSBSBSSCCCCCCSCBSCBSBBBCSSBCBSCCCSBCSBCSSSCCSCCBBBSSCSBCCSBBBSCBSCCCCSBBCCCCCCCBBCBBCCCCCSBSCSSCSSSSSCSSBSCBSCBCCBCCCBBSSSSCBSCBSCCBCSCSBBCBBSSBSBCBCCBSBBSCCCCCSBBBBSSSSBSCBCCBSSBSBSBBSSSSSSSCBSCSCCCSBSSBSSSCBBSSSCCSSCSSSCBSSBCCSBBBBCCSBBBCBBSCSCCCCCSCCBCCCCSCBBSCCSCCSSSCCCBCCSBBCBBBCCSCCSCBSBCCSSCBCSBBSCSSBBBBSBSBSBSCSSBCBSCSCBBBBSSSBCBCBCCCSCCBSCCBSCCBCCSSSSBBBSBCCSBBSSCCCBBBCSBBSCSBBBSCBCBBCCSSSCBSCCBBSCBSSCSSSBCSSSCBBSBSBCBBSSCCBSBBSBBBCCBBSCSCSSSSBBSBCSCSCSCSBCBSBSCBCBSSBBSBCBCSBCSCCCCSCCCSCCBSBCCCBSSSSCCCCSSBBSBCCBCSSBBCSCSBCBSCSSBCCCCBSSCSBCCSSSCCBSCBSCSBSCSCCCCBCCCBSCCSBBBSCCSCBBBCCCBSBSCBSCCCCCBBBCCBCSCBSSBCSSCSSCSBBSBBBCCCSCCSCBBCCSCSBBBSCSBCSSBCSBSBBCSSBCBCCCBCCSCCCSBSBSSSCBCSCSSBBBCSBCSBSBCSCBCSSSCSSSSSSSSCCCSBSBBCCSSSSSBCSBSBBSSSBCSCCCSBCSBSBBCSBCBSCCCCBCBCSBSBBCBBCBSCBSSCCSBBCSBSCCCSBCBBBBCCSBCSCBBCCSSCCBCCCBBBSCBBBCCCBBSCCSBBCCBCBCCSBSCBCSBBCBCBCSSBCCBCBSCCCCSSSSCBCCBSBBCSSSBSCCSBSCCCBBSBBCCBBSSBCBBCCCBCBBSCBCCSBCSBSBBSBSBSBBBCSSBBSSCBCSSSSSCBSBCSSSCSSSCCSBCSBCBBSBBSBCBBCCCBSBSCCBSCSSSSSSCCBCBBCSCBCCBSSBSCBCSBBCBCSSBSCBCSCBSBCCCCSBBBSBSSSSBSSSBSCCBBCCCSBBCSCSBCCSBCSBSSBSBBCSSBBBBSSCSCSCCBCBSBSCSCCCSCSCSSBSCSSBCCSSBBSBSBBBSBSBSSBCSSSSCCSCBCSBSBBBSCSSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBCSBC
