Almost complete solution