coded up subsonic solver
midmerge