I am writing a parallel program in Fortran77. I have the following problem:

```
``````
1) I have N number of processors.
2) Each processor contains an array A of size S.
3) Using some function, on every processor (say rank X), I calculate the value of two integers Y and Z, where Z<S. (the values of Y and Z are different on every processor)
4) I want to get the value of A(Z) on processor Y to processor X.
```

I thought of first sending the numerical value X to processor Y from processor X and then sending A(Z) from processor Y to processor X. But it is not possible as processor Y does not know the numerical value X and so it won't know from which processor to receive the numerical value X from.

I tried but I haven't been able to come up with any code which can implement this action. So I am not posting any codes.

Any suggestions?