Assuming that your are restricted from using outside functions such as zip or any itertool how can you alternately iterate though a parameter containing multiple iterator/generators so that the first index of each is printed then second, third respectively etc.. 

```
def function(*arguments):
    for a in arguments:   
        iterator = iter(a)
        yield next(a)

```

I have been stuck trying to figure out a way of going to the next index of each value on each iterable. As of now i am able to print the first indexes of each but I am confused as to how to implement to the next step after trying Try and except statements with while loops. I am also confused as to how the `StopIteration` exception could work in this case. 

so for example using this function in the following way:

```
for i in function('123', '4567', '89XY'):
    print(i,end='')

```

would print:

```
1,4,8,2,5,9,3,6,X,7,Y

```