@fengjingchao here the sender will send Accept if it receives N/2+1 preaccept (including the sender itself), otherwise it send PreAccept

Actually, if the sender receives N/2 preaccepts, it can still send Accept, giving that all N/2 preaccepts are equal to the original leader's preaccept. But I just ignore this case, to make the logic simpler. We shall discuss about this next time.