yes i understood guys... but calling something "inefficient" is the same as saying that it wont work correctly
not at all. that would be 'incorrect' or 'dysfunctional'. in fact, saying something is 'inefficient' implies it DOES work correctly since we would just call it broken otherwise ;)
by the way, the FASTEST method would be 189 lines of code resembling 'did -a chr 1 33 | did -a chr 2 !', but that's obviously ridiculous. we need to find a healthy balance between the sensible, the efficient, and the maintainable - and i feel that, in this case, a method involving wasteful iterations tips that balance unfavourably.