#include <iostream>
#include <string>
#include <vector>
#include <numeric>  
using namespace std;

#include<algorithm>
int gcd(int a,int b){
   int c=a%b;
while(c){
a=b;
b=c;
c=a%b;
}
return b;
}
int main(){
int n,m;
cin>>n>>m;
string a,b;
cin>>a>>b;
int c=gcd(n,m);
int k=n*m/c;
string an,bn;
for(int i=1;i<=k/n;i++){
an+=a;
}
for(int i=1;i<=k/m;i++){
bn+=b;
}
vector<int>aa(k);
vector<int>bb(k);
for(int i=k-1,j=0;i>=0;i--,j++){
    aa[j]=an[i];
}
for(int i=k-1,j=0;i>=0;i--,j++){
    bb[j]=bn[i];
}
vector<int>cc(k);
for(int i=0;i<k-1;i++){
if(aa[i]>=bb[i]){
    cc[i]=aa[i]-bb[i];
}
else{
    cc[i]=aa[i]+10-bb[i];
    aa[i+1]-=1;
}

}
if(aa[k-1]>=bb[k-1]){
    cc[k-1]=aa[k-1]-bb[k-1];
}
else{
    cc[k-1]=aa[k-1]+10-bb[k-1];
    cc[0]-=1;
    for(int i=0;i<k-1;i++){
        if(cc[i]>=0){
            continue;
        }
        else{
            cc[i]+=10;
            cc[i+1]--;
        }
    }
}
int nn=cc.size();
cout<<nn<<endl;
for(int i=k-1;i>=0;i--){
    cout<<cc[i];
}

    return 0;
}