// / Universal Online Judge
//#15. 【NOIP2014】生活大爆炸版石头剪刀布
#include <iostream>
#include <vector>
void once(int& aPoint,int& bPoint,int a,int b){
if(a==b){
return;
}
if(a==0 && (b==2||b==3)){
aPoint++;
return;
}
if(a==1 && (b==3||b==0)){
aPoint++;
return;
}
if(a==2 && (b==1||b==4)){
aPoint++;
return;
}
if(a==3 &&(b==2||b==4)){
aPoint++;
return;
}
if(a==4 && (b==0||b==1)){
aPoint++;
return;
}
bPoint++;
}
int main(){
int n;std::cin>>n;
int a,b;std::cin>>a>>b;
int aPoint=0,bPoint=0;
std::vector<int> aRolls(a);
std::vector<int> bRolls(b);
for(int i = 0;i<a;++i)std::cin>>aRolls[i];
for(int i = 0;i<b;++i)std::cin>>bRolls[i];
for(int i = 0;i<n;++i){
once(aPoint,bPoint,aRolls[i%a],bRolls[i%b]);
}
std::cout<<aPoint<<" "<<bPoint<<std::endl;
}