"use strict";

function Main(input) {
  let lines = input.split('\n');
  // 青カードの切り出し
  let bluesNum = lines.shift();
  let blues = lines.splice(0,bluesNum);
  // 赤カードの切り出し
  let redsNum = lines.shift();
  let reds = lines.splice(0,redsNum);
  
  //それぞれをオブジェクトにして数を調べる
  let bluesObj = {};
  let redsObj = {};
  // 赤と青それぞれをオブジェクト化
  for(let i = 0; i < blues.length; i++){
  	bluesObj[blues[i]] == undefined ? bluesObj[blues[i]] = 1 : bluesObj[blues[i]]++;
  }
  
  for(let j = 0; j < reds.length; j++){
  	redsObj[reds[j]] == undefined ? redsObj[reds[j]] = -1 : redsObj[reds[j]]--;
  }
  // blueObjの値にredObjの値を重ねる
  for(let s in redsObj){
  	bluesObj[s] != undefined ? bluesObj[s] += redsObj[s]: "";
  }
  
  // Object.valuesはサポートしてないので、各値を抽出する式
  let bluesNums = Object.keys(bluesObj).map((key) => {
    return bluesObj[key];
  });
  
  // 最大値を出す、それらの値がマイナスだったら0になるように三項演算子
  let ans = Math.max(...bluesNums) < 0 ? 0 : Math.max(...bluesNums);
  console.log(ans);
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));