Routes running out of order

I cannot for the life of me figure out why this is happening. If I unlink #3, #1 and #2 will run as usual. With #3 linked, the first two won’t run. These variables need to be set for #3.

Does anyone have any insight? Thank you!

Edit: I see now using the “Explain Flow” feature that this is being caused by the link between the iterator and the two numerical aggregators; the scenario triggers route #3 instead of waiting for #1 and #2 to finish…

I guess my question then becomes more, “why does it work like this?” I’ve used the aggregator modules in several other scenarios, so this is a little confounding to me.

Edit 2: This was solved by putting individual iterators AFTER the router rather than having a single one before it!