try to add middle value cache
ac online 2nd, using middle value cache, but slower...