#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <cstring>
using namespace std;
struct data
{
int index;
int num;
};
bool cmp(data A,data B)
{
return A.num>B.num;
}
int ***(int a,int b)
{
if(a<b) swap(a,b);
if(a%b==0) return b;
else return ***(b,a%b);
}
int LCM(int a,int b)
{
return (a*b)/***(a,b);
}
bool isprime(int n)
{ if(n==1||n==0) return false;
else
{
for(int i=2;i<=sqrt(n);i++)
if(n%i==0) return false;
}
return true;
}
int main(){
int a,b;
while(cin>>a>>b&&(a+b))
{
cout<<***(a,b)<<" "<<LCM(a,b)<<endl;
}
for(int i=0;i<100;i++)
if(isprime(i))
cout<<i<<" "; cout<<endl;
data stu[10];
for(int i=0;i<10;i++)
{
cin>>stu[i].num;
stu[i].index=i;
}
sort(stu,stu+10,cmp);
for(int i=0;i<10;i++)
{
cout<<stu[i].index<<" "<<stu[i].num<<endl;
}
system("pause");
return 0;
}
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <cstring>
using namespace std;
struct data
{
int index;
int num;
};
bool cmp(data A,data B)
{
return A.num>B.num;
}
int ***(int a,int b)
{
if(a<b) swap(a,b);
if(a%b==0) return b;
else return ***(b,a%b);
}
int LCM(int a,int b)
{
return (a*b)/***(a,b);
}
bool isprime(int n)
{ if(n==1||n==0) return false;
else
{
for(int i=2;i<=sqrt(n);i++)
if(n%i==0) return false;
}
return true;
}
int main(){
int a,b;
while(cin>>a>>b&&(a+b))
{
cout<<***(a,b)<<" "<<LCM(a,b)<<endl;
}
for(int i=0;i<100;i++)
if(isprime(i))
cout<<i<<" "; cout<<endl;
data stu[10];
for(int i=0;i<10;i++)
{
cin>>stu[i].num;
stu[i].index=i;
}
sort(stu,stu+10,cmp);
for(int i=0;i<10;i++)
{
cout<<stu[i].index<<" "<<stu[i].num<<endl;
}
system("pause");
return 0;
}