#include<iostream>
#include<cstdio>
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define FOF(i,a,b) for(int i=a;i< b;i++)
using namespace std;
const int N=2002000;
int n,m,K,l,r,T,x,L;
int q[N],p[N],c[N],d[N],a[N],b[N];
char s[N],t[N];
void psp(int x,int y){p[++l]=x,d[l]=y;}
void psh(){
	//FOR(i,1,r) cout<<q[i]<<','<<c[i]<<' ';cout<<'\n';
	for(l=0,x=K;x>0;){
		int w=q[r],u;
		if(w==0){
			int v=min(c[r],x);
			psp(w,v);x-=v;
			c[r]>v?c[r]-=v:r--;
		}
		else{
			psp(0,1);psp(w^3,1);
			if(c[r]>1) psp(0,c[r]-1);
			u=q[--r];c[r]>1?c[r]--:r--;
			!u?psp(w,1),x=-1:x--;
		}
		//cout<<"x="<<x<<':';FOR(i,1,r) cout<<q[i]<<','<<c[i]<<' ';cout<<'\n';
	}
	if(~x) psp(3,1);
	while(l) q[r]!=p[l]?q[++r]=p[l],c[r]=d[l--]:c[r]+=d[l--];
	//FOR(i,1,r) cout<<q[i]<<','<<c[i]<<' ';cout<<'\n';
}
void opt(int*A){
	int ok=0;
	FOR(i,1,T)if(ok||A[i]) ok=1,cout<<A[i];cout<<'\n';
}
int main(){
	//freopen("1.in","r",stdin);
	scanf("%d%d%d",&n,&m,&K);
	scanf("%s%s",s+1,t+1);L=max(n,m)+K+1;
	FOF(i,0,n) a[L-i]=s[n-i]^48;
	FOF(i,0,m) b[L-i]=t[m-i]^48;
	FOR(i,1,L){
		int w=a[i]|b[i]<<1;
		if(w<3) !r||q[r]!=w?q[++r]=w,c[r]=1:++c[r];
		else psh();
	}
	FOR(i,1,r)while(c[i]--) a[++T]=q[i]&1,b[T]=q[i]>>1;
	opt(a);opt(b);
}