exp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp ex epi ovzgfvakcvpexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp expexp exp