lab4v2: add base for lab4v2
lab4v2: add more functions
lab4v2: add more functions. it's scaredgit push!
lab4v2: few bugs, but algorithm correct
lab4v2: another bunch of bugs, but NOW algorithm is correct
lab4v2: basic functionality is done, now need implement OPTIMAL way