[ 2017年12月24日 - 00:24 ]
【セルタ・デ・ビーゴ で】
■ ファン・ペルシーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴーィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイィィィィィィィィイイィイィィィィィィィィイィィイィィィィィィィイイイイイイイイイイイイイイイイィィィィィィィッィィィイィィィィィィイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイワッチャゴー
(12/24 - 00:59) おつかれい
(12/24 - 00:29) 努力を認めざるを得ない!