익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
누리위키
검색
선풍기 사망설
편집하기
누리위키, 온 누리의 백과사전
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
역사
211.182.230.7
(
토론
)
님의 2023년 2월 6일 (월) 11:59 판
(
→매스컴 보도
)
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
[[파일:선풍기.jpg|300픽셀|섬네일|<del>힘을 봉인 당한 선풍기</del>세계에서 유일하게, 한국에서 판매되는 선풍기에는 선풍기 사망에 대한 우려 때문에 타이머가 장착되어 있다.]] [[파일:선풍기사망설.jpg|300픽셀|섬네일|선풍기 사망을 경고하고 있는 선풍기 사용설명서]] '''선풍기 사망설'''({{llang|en|fan death}}), 또는 '''선풍기 괴담'''은 밀실에서 선풍기를 틀어놓은 채 자면 죽는다는 내용의 [[도시전설]]이다. 실제로 이로 인한 사망사건이 발생하였다는 확실한 증거는 없지만, [[대한민국]]에서는 널리 받아들여지는 도시괴담으로 남아 있다. 시발,병신,또라이 == 가설 == 선풍기로 인한 사망을 설명하는 가설들로는 다음과 같은 것들이 있다. === 저체온증 === 저체온증은 인간의 체온조절능력이 상실되어 [[체온]]이 비정상적으로 낮아지는 것을 의미한다. 밤에는 [[신진대사]]가 느려지므로 온도에 더 민감해지고, 결과적으로 저체온증에 노출되기 더 쉬운 상태가 된다. 이 가설을 지지하는 사람들은 밀실에서 선풍기를 밤새도록 켜놓으면 저체온증이 유발될 정도로 기온이 감소할 것이라고 생각한다. 하지만 실제로 측정을 해 보면(또는 간단한 열역학적 지식을 동원해보면), 선풍기는 방 안의 기온을 낮추지 않는다. 오히려, 선풍기의 모터에서 발생하는 열과 [[마찰]]열 때문에 방 안의 온도는 약간 상승해야 한다. 이 효과도 사실상 무시할 만한 수준이지만 말이다. 사실 선풍기는 신체 주위의 [[대류]]를 더 활발하게 만들어 신체에서 발생한 열이 잘 퍼지도록 만들고 [[땀]]이 더 잘 증발되도록 만들어 체온을 감소시킨다. 하지만 기온이 아주 낮지 않은 조건에서 이 효과가 저체온증을 유발할 수 있는 것으로 나타나는 과학적인 연구 결과는 없다. 덧붙여서, 선풍기 바람이 시원하게 느껴지는 것은 실제로 온도가 낮아지기 때문이 아니라 단순히 피부에 불어오는 바람 때문에 [[체감온도]]가 낮아진 것이라는 점을 염두에 두도록 하자. === 질식 === 무조건 죽으므로 선풍기절대로 쓰면 안돼요 == 자살법 == 선풍기를 틀고자면 자살할 수 있다. 당신도 자살하기를 권장한다. == 매스컴 보도 == 이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 빙신ㅋㅋ이런 이런 빙신ㅋㅋ 빙신ㅋㅋ == 외국의 반응 == 시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시발시 == 주석 == <references/> {{번역된 문서|en|Fan_death}} {{도시전설}} {{유사과학}} [[분류:도시전설]] [[분류:의사과학]]
요약:
누리위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
누리위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:Lang
(
편집
)
틀:Llang
(
편집
)
틀:·
(
편집
)
틀:대사
(
편집
)
틀:도시전설
(
편집
)
틀:둘러보기
(
편집
)
틀:둘러보기/핵심
(
편집
)
틀:번역된 문서
(
편집
)
틀:안내
(
편집
)
틀:알림 상자
(
편집
)
틀:언어 문서
(
편집
)
틀:언어 이름
(
편집
)
틀:유사과학
(
편집
)
둘러보기
둘러보기
대문
최근 바뀜
위키방
임의의 문서로
도움말
연습장
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록