#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;
}