list<int>::iterator mid(list<int>::iterator beg, list<int>::iterator end){ while(beg!=end){ end--; if(beg==end) return beg; beg++; } if(beg==end) return beg; }