#include <iostream>
#include <unordered_map>
#include <queue>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
#define int long long
#define x first
#define y second
#define pb push_back
#define endl "\n"
#define rep(i, j, k) for (int i = (int)j; i <= (int)k; i ++ )
#define per(i, j, k) for (int i = (int)j; i >= (int)k; i -- )
#define fixed(x) cout << fixed << setprecision(x);
typedef pair<int, int> PII;
typedef long long LL;
const int N = 200010, M = 1000010, INF = 2147483647;
const double eps = 1e-6;
void solve(){
int n, n_a, n_b;
cin >> n >> n_a >> n_b;
vector<int> A(n_a), B(n_b);
for(int i = 0; i < n_a; i ++) cin >> A[i];
for(int i = 0; i < n_b; i ++) cin >> B[i];
int rules[5][5] = {
{0,-1,1,1,-1},
{1,0,-1,1,-1},
{-1,1,0,-1,1},
{-1,-1,1,0,1},
{1,1,-1,-1,0}
};
int score_a = 0, score_b = 0;
for(int i = 0; i < n; i ++) {
int a = A[i % n_a];
int b = B[i % n_b];
int result = rules[a][b];
if(result == 1) score_a ++;
else if(result == -1) score_b ++;
}
cout << score_a << " " << score_b << endl;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int _(1);
while (_ -- )
{
solve();
}
return 0;
}