初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原初原