>>514671486
divide and conquer