#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b,c;
bool bit[70];
int popcnt(int l,int r){
int cnt=0;
for (int i = l; i <= r; i ++ ){
if(bit[i]) cnt++;
}
return cnt;
}
int put(int l,int r){
int num=0;
for(int i=l;i<=r;i++){
if(bit[i]) num|=1ll<<i;
}
return num;
}
signed main(){
cin>>a>>b>>c;
for (int i = 0; i < 64; i ++ ){
bit[i]=c>>i&1ll;
}
int pc=popcnt(0,63);
if(a+b<popcnt(0,63)){
cout<<-1;
return 0;
}
if(a+b==popcnt(0,63)){
for(int i=0;i<=63;i++){
if(popcnt(0,i)==a&&popcnt(i+1,63)==b){
cout<<put(0,i)<<" "<<put(i+1,63);
return 0;
}
}
}
if((a+b-popcnt(0,63))%2==1){
cout<<-1;
return 0;
}
int xiao=(a+b-pc)/2,na=a-(a+b-pc)/2,nb=b-(a+b-pc)/2;
if(na<0||nb<0){
cout<<-1;
return 0;
}
for(int i=0;i<=63;i++){
if(popcnt(0,i)==na&&popcnt(i+1,63)==nb){
int addbit=0,xx=xiao;
for(int j=59;j>=0;j--){
if(!bit[j]&&xx){
addbit|=1ll<<j;
xx--;
}
}
if(!xx){
cout<<(put(0,i)|addbit)<<" "<<(put(i+1,63)|addbit);
return 0;
}
}
}
cout<<-1;
}