#include <iostream>

using namespace std;

int main()
{
   //Feladat:
   //Euklideszi algoritmussal meghatározni két természetes szám legnagyobb
   //közös osztóját.
   //Használjuk az ellenőrzött beolvasást a számok bekérésekor.
   //A megoldó algoritmus kívánságra újra és újra futtatható.
  

   int a,b, maradek;
   char t;
   bool hiba;


   cout<<"Euklideszi algoritmus"<<endl;

   do{
      //Előfeltételek ellenőrzése
      do{
         cout<<"Elso szam="; cin>>a;
         hiba=a<=0;
         if (hiba) cerr<<"Nem nagyobb, mint nulla: "<<a<<endl;
      }while (hiba);
      do{
         cout<<"Masodik szam="; cin>>b;
         hiba=b<=0;
         if (hiba) cerr<<"Nem nagyobb, mint nulla: "<<b<<endl;
      }while (hiba);

      cout<<"LNKO("<<a<<","<<b<<")=";

      //Euklideszi algoritmus
      maradek=a%b;
      while(maradek>0){
         a=b;
         b=maradek;
         maradek=a%b;
      }
      cout<<b<<endl;

      do{
         cout<<"Ujra (i/n):"; cin>>t;
         hiba=t!='i' && t!='n';
      }while (hiba);
      cout<<endl;
   }while (t=='i');
   return 0;
}