UPS reaches contract with 340,000 unionized workers