A solution for 4-3 with a non-fix bug.

Signed-off-by: acgtyrant <acgtyrant@gmail.com>