source_code: import java.util.*;
  import java.io.*;
  public class CodehorsesTshirts {
      
      
      
      /************************ SOLUTION STARTS HERE ************************/
      
      
      private static void solve() {
          
          
          int n = nextInt();
          
          HashMap<String, Integer> a = new HashMap<>();
          HashMap<String, Integer> b = new HashMap<>();
          
          for(int i = 0; i < n; i++)
              a.merge(nextLine(), 1, Integer::sum);
          
          for(int i = 0; i < n; i++)
              b.merge(nextLine(), 1, Integer::sum);
          
          b.forEach((k , v) -> {
              if(a.containsKey(k))
                  a.put(k, a.get(k) - Math.min(v , a.get(k)));
          });
          
          int cost = a.values().stream().reduce(0, Integer::sum);
          
          println(cost);  
          
      }
      
      
      
      /************************ SOLUTION ENDS HERE ************************/
      
      
      
      
      
      /************************ TEMPLATE STARTS HERE **********************/
      
      public static void main(String[] args) throws IOException {
          reader = new BufferedReader(new InputStreamReader(System.in));
          writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)), false);
          st     = null;
          solve();
          reader.close();
          writer.close();
      }
      
      static BufferedReader reader;
      static PrintWriter    writer;
      static StringTokenizer st;
      
      static String next()
      {while(st == null || !st.hasMoreTokens()){try{String line = reader.readLine();if(line == null){return null;}            
      st = new StringTokenizer(line);}catch (Exception e){throw new RuntimeException();}}return st.nextToken();}
      static String nextLine()  {String s=null;try{s=reader.readLine();}catch(IOException e){e.printStackTrace();}return s;}             
      static int    nextInt()   {return Integer.parseInt(next());}
      static long   nextLong()  {return Long.parseLong(next());}     
      static double nextDouble(){return Double.parseDouble(next());}
      static char   nextChar()  {return next().charAt(0);}
      static int[]  nextIntArray(int n)         {int[] a= new int[n];   int i=0;while(i<n){a[i++]=nextInt();}  return a;}
      static long[] nextLongArray(int n)        {long[]a= new long[n];  int i=0;while(i<n){a[i++]=nextLong();} return a;}    
      static int[]  nextIntArrayOneBased(int n) {int[] a= new int[n+1]; int i=1;while(i<=n){a[i++]=nextInt();} return a;}            
      static long[] nextLongArrayOneBased(int n){long[]a= new long[n+1];int i=1;while(i<=n){a[i++]=nextLong();}return a;}            
      static void   print(Object o)  { writer.print(o);  }
      static void   println(Object o){ writer.println(o);}
      
      /************************ TEMPLATE ENDS HERE ************************/
      
  }