Construction Management IDIQ

Award Notice Posted

Solicitation number
AOCACB25D0007
Agency
Awarded
Set-aside
Partial Small Business

Opportunity facts

Contract number
AOCACB25D0007
Place of performance
Washington, District of Columbia 20003, United States

Notice details come from SAM.gov. Updated .

About this opportunity

The Effective they or it of the it the 50 that the of the of the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the 50 the

Notice text

Awarded contract AOCACB25D0007 to JACOBS PROJECT MANAGEMENT CO for 200000000.00 on 2025-07-01.

Notice history

Notice Type Posted
Construction Management IDIQ Latest Award Notice
Construction Management IDIQ Award Notice
Construction Management IDIQ Award Notice
This notice Award Notice
Construction Management IDIQ Latest solicitation Solicitation
Construction Management IDIQ Original Pre-Solicitation

On GovTribe

Work this opportunity

  • Track it in your pipeline
  • Find teaming partners
  • Similar opportunities
  • Ask GovTribe AI about this opportunity