don't use operator+ with InputIterator
here must be ForwardIterator
here must be ForwardIterator
here must be InputIterator