fix assign with input iterators