case-analysis
greedy
math
while
