#include<mpi.h>
#include<stdio.h>
int main(int argc, char** argv) {
// Initialize the MPI environment
MPI_Init(NULL, NULL);
// Get the number of processes
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
// Get the rank of the process
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
// Get the name of the processor
char processor_name[MPI_MAX_PROCESSOR_NAME];
int name_len;
MPI_Get_processor_name(processor_name, &name_len);
// Print off a hello world message
printf("Hello world from processor %s, rank %d out of %d processors\n", processor_name, world_rank, world_size);
// Finalize the MPI environment.
MPI_Finalize();
I2luY2x1ZGU8bXBpLmg+CiNpbmNsdWRlPHN0ZGlvLmg+CgppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpIHsKICAgIC8vIEluaXRpYWxpemUgdGhlIE1QSSBlbnZpcm9ubWVudAogICAgTVBJX0luaXQoTlVMTCwgTlVMTCk7CgogICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzCiAgICBpbnQgd29ybGRfc2l6ZTsKICAgIE1QSV9Db21tX3NpemUoTVBJX0NPTU1fV09STEQsICZ3b3JsZF9zaXplKTsKCiAgICAvLyBHZXQgdGhlIHJhbmsgb2YgdGhlIHByb2Nlc3MKICAgIGludCB3b3JsZF9yYW5rOwogICAgTVBJX0NvbW1fcmFuayhNUElfQ09NTV9XT1JMRCwgJndvcmxkX3JhbmspOwoKICAgIC8vIEdldCB0aGUgbmFtZSBvZiB0aGUgcHJvY2Vzc29yCiAgICBjaGFyIHByb2Nlc3Nvcl9uYW1lW01QSV9NQVhfUFJPQ0VTU09SX05BTUVdOwogICAgaW50IG5hbWVfbGVuOwogICAgTVBJX0dldF9wcm9jZXNzb3JfbmFtZShwcm9jZXNzb3JfbmFtZSwgJm5hbWVfbGVuKTsKCiAgICAvLyBQcmludCBvZmYgYSBoZWxsbyB3b3JsZCBtZXNzYWdlCiAgICBwcmludGYoIkhlbGxvIHdvcmxkIGZyb20gcHJvY2Vzc29yICVzLCByYW5rICVkIG91dCBvZiAlZCBwcm9jZXNzb3JzXG4iLAogICAgICAgICAgIHByb2Nlc3Nvcl9uYW1lLCB3b3JsZF9yYW5rLCB3b3JsZF9zaXplKTsKCiAgICAvLyBGaW5hbGl6ZSB0aGUgTVBJIGVudmlyb25tZW50LgogICAgTVBJX0ZpbmFsaXplKCk7CgoK