iterator3 begin3 = a.begin() + lowerBounds[3], end3 =
a.begin() + upperBounds[3];
for ( iterator3 i3 = begin3; i3 != end3; ++i3 ){
iterator2 begin2 =
i3->begin() + lowerBounds[2], end2 = i3->begin() + upperBounds[2];
for ( iterator2 i2 = begin2; i2
!= end2; ++i2 ){
iterator1 begin1 = i2->begin() + lowerBounds[1], end1 = i2->begin() +
upperBounds[1];
for (
iterator1 i1 = begin1; i1 != end1; ++i1 ){
iterator0 begin0 = i1->begin() + lowerBounds[0], end0 = i1->begin() +
upperBounds[0];
for ( iterator0 i0 = begin0; i0 != end0; ++i0 ){
cout << *i0 << endl;
}
}
}
}