#include <mpc.h> nettype TrivialNet(int n, int m) { coord I=n; parent [m]; }; int [*]main() { [host]MPC_Printf("I'm host. I'll be a parent of net1.\n\n"); { net TrivialNet(3,0) net1; int [net1]mycoordinnet1; mycoordinnet1 = I coordof net1; [net1]: if(mycoordinnet1) MPC_Printf("I'm a regular member of net1. " "My coordinate in net1 is %d.\n" " I'll be a parent of net%d.\n\n", mycoordinnet1, mycoordinnet1+1); else MPC_Printf("I'm a parent of net1. " "My coordinate in net1 is %d.\n\n", mycoordinnet1); { net TrivialNet(3,1) [net1:I==1]net2; net TrivialNet(3,2) [net1:I==2]net3; [net2]: { int mycoordinnet2; mycoordinnet2 = I coordof net2; if(mycoordinnet2!=1) MPC_Printf("I'm a regular member of net2. " "My coordinate in net2 is %d.\n\n", mycoordinnet2); else MPC_Printf("I'm a parent of net2. " "My coordinate in net2 is %d.\n\n", mycoordinnet2); } [net3]: { int mycoordinnet3; mycoordinnet3 = I coordof net3; if(mycoordinnet3!=2) MPC_Printf("I'm a regular member of net3. " "My coordinate in net3 is %d.\n\n", mycoordinnet3); else MPC_Printf("I'm a parent of net3. " "My coordinate in net3 is %d.\n\n", mycoordinnet3); } } [net1]: if(mycoordinnet1) MPC_Printf("I'm a regular member of net1. " "My coordinate in net1 is %d.\n" " I was a parent of net%d.\n\n", mycoordinnet1, mycoordinnet1+1); } [host]MPC_Printf("I'm host. I was a parent of net1.\n\n"); }