#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include"mpi.h"

int brojcifara(long long n){
	int broj=0;
	long long k=n;
	while(k>0){
		k=k/10;
		broj++;
	}
	
	return broj;

}

int provera(long long n,int d){
	long long p=n*n;
	long long i=10;
	long long prvi;
	long long drugi;
	while(brojcifara(i-1)<=d){
		prvi=p/i;
		drugi=p%i;
		if(prvi+drugi==n){ return 1;}
		i*=10;
	}
	
	return 0;

}

int main(int argc,char* argv[]){
	int rank,size;
	MPI_Init(&argc,&argv);
	MPI_Comm_rank(MPI_COMM_WORLD,&rank);
	MPI_Comm_size(MPI_COMM_WORLD,&size);
	
	
	for(long long i=rank;i<100000000;i+=size){
		if(provera(i,brojcifara(i))==1){
			printf("%lld\n",i);
		}
	}
	
	MPI_Finalize();

}
