门牙少了一颗怎么办-少一颗门牙怎么办
门牙少了一颗,看着就像脸上挂了一道疤,心里肯定也堵得慌。
这可不是啥小打小闹,它不只是是缺了个牙,更是牙排列不齐的导火索,就连能直接拖慢你的换牙速度。 咱们先掰扯掰扯人牙的命门。人牙是长在骨缝里的,本来就能长又长又密,那是牙釉质和牙本质,一层一层砌好的。
可是,有些牙住在“骨缝”里,那是牙槽骨。
要是牙槽骨里住着牙,可就不好使了。 为啥如此说呢?你想想,牙槽骨是有厚度的。
要是牙没掉,牙根还在里面,那么牙槽骨的高度就会被“撑”得高高的。
这时候再长一颗新牙,它就会被长得高得离谱,害得牙缝越来越大,最终人就变成一副“唐老鸭”的嘴,看着气派,实际上丑得要命。 那如何解决呢?别急,咱们分两步走。 第一步,是找机会把“牙槽骨”空出来。 最理想的情况是,在换牙期(也就是乳牙还没掉完的时候),趁着乳牙还没长全,赶紧用缺牙的力去把已经长出来的牙给顶开。
这时候乳牙是软绵绵的,像竹筒底一样,贼好办动。
只要硬撑,把那颗牙往前顶,旁边的牙就会被迫往后缩。等到乳牙被顶到牙槽骨里,原来的牙槽骨就被挤空了,这时候再种牙,原来的牙槽骨就能恢复原状,新牙就能长回正常高度。 这就好比装修,你先把原来的墙拆了,要么把墙里的钢筋凿出来,再敲新的墙体,墙才会不塌。 不过,有些情况比较棘手。
比如乳牙已经到了换牙期,但牙根已经长得贼粗壮了,硬顶没用。
这时候咱们得换一种策略,利用种植体。 种牙的原理实际上挺好办,就是一个小小的金属桩,一头是金属,一头是陶瓷要么钛合金。
这个金属桩直接插进牙槽骨里。牙槽骨长得快,金属桩撑住,旁边的骨头就会重新长上去,把空缺填平。等骨头长够了,再把陶瓷要么钛合金的冠套上去,这就相当于给牙补上了新的脖子。 这种种植牙,优势是立竿见影。种完牙,它的高度立马就回到了标准的 70% 到 80%。你不用等别人家那可能还得长半年的工夫。并且,种牙后牙槽骨反而会加速愈合,骨密度还会好起来,赶明儿补牙要么做其他牙修复,都是“事半功倍”。 可是,种牙也不是适合所有人。
要是你还没有启动换牙,骨缝里没有牙,那就只能等乳牙掉完,牙槽骨自然空了才能种。
要是你已经换牙了,可是乳牙掉得晚,要么乳牙掉得忒早,骨缝里又没牙了,那就只能寻思种牙了。 实际上,大量人种牙还有大量误区。
有人认定种牙后牙槽骨会被“耗光”,赶明儿老了牙松了如何办?实际上不然,种植牙是利用人体自身愈合本事,把骨头填实,反而比自然牙更稳固。牙槽骨在种牙后,实际上会长得更快、更密。 再说说不能种牙的情况。
要是你的乳牙旁边已经有恒牙长出来了,并且恒牙位置对、发育良好,这时候就直接种在恒牙旁边,恒牙会自己把旁边的骨头顶出来填满空缺,这样反而省去了种牙的钱和工夫,还保留了自然的牙根。但这需求医生去判断,是不是有的牙要保留呢?有的牙能够留着,有的牙务必拔掉,这得看具体情况。 还有一种特殊情况,就是缺牙位置忒靠后了,拔了旁边的牙,旁边的牙就会往前倒,最终害得你笑起来时,牙歪得出奇,笑都成麻了。
这时候可能就得寻思正畸了。 说到正畸,这实际上是个大工程。它不只是是把牙往中间推,而是要把整个牙的排列重新规划。
比如你的门牙少了一颗,旁边的牙可能会往里偏,要么向两边倒,害得咬合不齐。
这时候}}}~{在正畸过程中}}}~{,}}}~{}}}~{}}}}~{}}}}~{}}}}~{}}}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}~{}}}}
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
