Controlling multiple textures when doing instancing

So Im doing instancing on a Geo Node.
In the position Tab, I refer to a TOP that controls the positions of hundreds of particles.
Then, in the Texture Tab, I put “tex*”, and below “index”, and below “r”,
so that I use different textures for the particles, and I pick which to use with an index top that has resolution 4x1 because I want to use 4 different textures. But then of course I get the typical error that Position and Texture tabs dont have the same dimensions

so mmm, if I have say 2000 particles, I want 4 different textures to be scattered around those 2000 particles.

So what do I have to do to actually prepare a resolution of 2000 as well for the index TOP, and find a way to scatter the 4 index values of the textures (0,1,2,3) in that TOP?
whats the best way to do that? distributing 0,1,2,3 randomly for example across 2000 pixels of a top, across the red channel for example


ok yes, if I have 2000 particles,
I have to make the index TOP also 2000x1,
and then it works,
so now, if I have 4 textures, what happens is that automatically the first 500 get index 0, the next 500 get index 1, and so on, so I get a quarter of the 2000 with each of the 4 indexes

how could I randomly mix the 4 within the 2000, so that I get 0,2,3,1,2,1,0,3,2, etc, etc till the 2000?