Peso climbs to three-week high