# 成都四环路全长多少公里:城市脉络中的关键动脉成都四环路作为连接城市南北向交通大动脉,贯穿了城市的核心区域,其全长在地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理地理