Save-Ums

ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums ums