#include <bits/stdc++.h>
using namespace std;
int p;
void fun(int &x,int &y);
void func(int &x,int &y) {
if(y>x)return;
x--;y/=2;
fun(x,y);
}
void fun(int &x,int &y) {
if(x==1)return;
x/=2;y+=p;
func(x,y);
}
int main() {
int x,y;
cin>>x>>y>>p;
fun(x,y);
cout<<x<<' '<<y;
return 0;
}
#include <iostream>
using namespace std;
const int maxn= 105;
int n,a[maxn],b[maxn];
int main()
{
cin >> n;
int x;
for (int i=1; i<=n; i++){
cin>>x;
a[i]=b[i]=x;
}
for (int i=1; i<=n; i++)
for (int j=i+1; j<=n; j++){
if (a[i]>a[j]) swap(a[i],a[j]);
if (b[i]<b[j]) swap(b[i],b[j]);
}
for (int i=1; i<=n; i++) cout<<a[i]<<" ";
cout<<"\n";
for (int i=1; i<=n; i++) cout<<b[i]<<" ";
cout<<"\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
int num=0;
cin>> num;
//保证num>= 100,且在int范围内
int max_primedivisor=0;
int cnt=1;
for (int i= 2; i*i<= num; i++) {
if (num%i==0) {
int tmp= 1;
while (num%i==0) num/= i,tmp++;
max_primedivisor = max(max_primedivisor,i);
num*=tmp;
}
}
max_primedivisor = max(max_primedivisor ,num);
if (num>1) cnt *= 2;
cout<< max_primedivisor<<" "<<cnt <<"\n" ;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=5100;
int a___(1)___;
int main() {
int n,ans1=0,ans2=0;
scanf("%d",&n);
for (int i= 1; i<= n; i++)
for (int j=1; j<= n; j++)
scanf("%d",&a[i][j]);
for (int i=1; i<=n; i++) {
int odd=0,even=0;
for (int j=1; j<=n; j++) {
int x=___(2)___;
if(j&1) odd += x; else even += x;
}
ans1 + = max(odd, even);
}
for (int i=1; i <= n; i++) {
int odd = 0, even = 0;
for(int j=1; j<=n; j++) {
int x=___(3)___;
if(___(4)___) even+=x; else odd += x;
}
ans2 += max(odd, even);
}
printf("%d\n",___(5)___);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int A[1000010];int B[1000010];int C[1000010];
int main() {
int n;scanf("%d" ,&n);
for(int i=1; i<= n; i++ )scanf("%d" ,&A[i]);
if(___(1)___) {
int p1=0;int p2=___(2)___;
for(int i=1; i<=n; i++) {
if(A[i]>n/2) {
B[i]=++p1;
} else {
B[i]= ++p2;
}
}
} else {
int p1=0;int p2= n/2;
for(int i=1; i<=n; i++) {
if(A[i]>___(3)___) {
B[i]=++p1;
} else {
B[i]=++p2;
}
}
p1=0;p2=n/2+1;
for(int i=1; i<=n; i++){
if(A[i]>___(4)___) {
C[i]=++p1;
} else {
C[i]= ++p2;
}
}
int flag=0;
for(int i=1; i<=n; i++) {
if(B[i]<C[i]) { flag=1;break;}
if(B[i]>C[i]) { flag=2;break;}
}
if(flag!=___(5)___)swap(B,C);
}
for(int i=1; i<n; i++) printf("%d ",B[i]);
printf("%d\n" ,B[n]);
return 0;
}