codeparrot/codecomplex huggingface dataset:
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		String[] s = {"XXXS", "XXS", "XS", "S", "M", "L", "XL", "XXL", "XXXL"};
		int[] size = new int[9];
		for(int i=0; i<N; i++){
			String c = br.readLine();
			for(int j=0; j<9; j++){
				if(s[j].equals(c)){
					size[j]++;
				}
			}
		}
		for(int i=0; i<N; i++){
			String c = br.readLine();
			for(int j=0; j<9; j++){
				if(s[j].equals(c)){
					size[j]--;
				}
			}
		}
		int sum = 0;
		for(int i=0; i<9; i++){
			if(size[i]>0)
				sum += size[i];
		}
		System.out.println(sum);
	}
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.util.*;
import java.lang.*;
import java.io.*;

public class CodehorsesTShirt {

    public static void main(String args[]) throws IOException {
        FastReader in = new FastReader();
        OutputStream outputStream = System.out;
        PrintWriter out = new PrintWriter(outputStream);
        Task.solve(in, out);
        out.close();
    }

    static class Task {

        public static void solve(FastReader in, PrintWriter out) {
            int n = in.nextInt();
            HashMap<String , Integer> hm1 = new HashMap<>();
            HashMap<String , Integer> hm2 = new HashMap<>();

            for(int i=0;i<n;i++){
                String val = in.next();
                if(hm1.containsKey(val)){
                    hm1.put(val, hm1.get(val)+1);
                }else{
                    hm1.put(val,1);
                }
            }

            for(int i=0;i<n;i++){
                String val = in.next();
                if(hm1.containsKey(val)){
                    int x = hm1.get(val);
                    if(x==1){
                        hm1.remove(val);
                    }else{
                        hm1.put(val,hm1.get(val)-1);
                    }
                }else{
                    if(hm2.containsKey(val)){
                        hm2.put(val, hm2.get(val)+1);
                    }else{
                        hm2.put(val,1);
                    }
                }
            }
            int ans = 0;
            for(Map.Entry<String , Integer> row: hm1.entrySet()){
                ans += row.getValue();
            }
            System.out.println(ans);

        }
    }

    static class FastReader {
        BufferedReader br;
        StringTokenizer st;

        public FastReader() {
            br = new BufferedReader(new
                    InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.util.Map;
import java.util.HashMap;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author programajor
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskA solver = new TaskA();
        solver.solve(1, in, out);
        out.close();
    }

    static class TaskA {
        public void solve(int testNumber, InputReader in, PrintWriter out) {
            int n = in.nextInt();
            Map<String, Integer> map = new HashMap<>();
            for (int i = 0; i < n; i++) {
                String x = in.next();
                map.put(x, map.getOrDefault(x, 0) + 1);
            }
            int ans = 0;
            for (int i = 0; i < n; i++) {
                String x = in.next();
                if (map.containsKey(x)) {
                    map.put(x, map.get(x) - 1);
                    if (map.get(x) == 0) {
                        map.remove(x);
                    }
                } else {
                    ans++;
                }
            }
            out.print(ans);
        }

    }

    static class InputReader {
        private BufferedReader reader;
        private StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.util.*;
public class q1
{
	public static void main(String[] args) 
	{
		Scanner s=new Scanner(System.in);
		int n=s.nextInt();
		int[] arr1=new int[9];
		int[] arr2=new int[9];
		String ss;
		s.nextLine();
		for(int i=0;i<n;i++)
		{
			ss=s.nextLine();
			if(ss.equals("M"))
				arr1[0]++;
			else if(ss.equals("S"))
				arr1[1]++;
			else if(ss.equals("L"))
				arr1[2]++;
			else if(ss.equals("XS"))
				arr1[3]++;
			else if(ss.equals("XL"))
				arr1[4]++;
			else if(ss.equals("XXS"))
				arr1[5]++;
			else if(ss.equals("XXL"))
				arr1[6]++;
			else if(ss.equals("XXXS"))
				arr1[7]++;
			else if(ss.equals("XXXL"))
				arr1[8]++;
		}	
		for(int i=0;i<n;i++)
		{
			ss=s.nextLine();
			if(ss.equals("M"))
				arr2[0]++;
			else if(ss.equals("S"))
				arr2[1]++;
			else if(ss.equals("L"))
				arr2[2]++;
			else if(ss.equals("XS"))
				arr2[3]++;
			else if(ss.equals("XL"))
				arr2[4]++;
			else if(ss.equals("XXS"))
				arr2[5]++;
			else if(ss.equals("XXL"))
				arr2[6]++;
			else if(ss.equals("XXXS"))
				arr2[7]++;
			else if(ss.equals("XXXL"))
				arr2[8]++;
		}	
		int min;
		for(int i=0;i<9;i++)
		{
			if(arr1[i]<arr2[i])
				min=arr1[i];
			else
				min=arr2[i];
			arr1[i]-=min;
			arr2[i]-=min;
		}
		int sum=0;
		for(int i=0;i<9;i++)
		{
			sum+=arr1[i];
		}
		System.out.println(sum);
		//System.out.println(Arrays.toString(arr2));
	}
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear

import java.util.*;
import java.io.*;

public class A{
    
    static int N, M, K;
    static String s;
    static StringTokenizer st;
    static int[] d;
    
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        
        PrintWriter out = new PrintWriter(System.out);
        
        int[][] d = new int[5][3];
        int[][] d2 = new int[5][3];
        
        int N = Integer.parseInt(br.readLine());
        for (int i = 0; i < N; i++) {
            String r = br.readLine();
            int len = r.length();
            int fin = 0;
            if(r.charAt(r.length()-1) == 'S')
                fin = 0;
            if(r.charAt(r.length()-1) == 'M')
                fin = 1;
            if(r.charAt(r.length()-1) == 'L')
                fin = 2;
            d[len][fin]++;
        }
        
        for (int i = 0; i < N; i++) {
            String r = br.readLine();
            int len = r.length();
            int fin = 0;
            if(r.charAt(r.length()-1) == 'S')
                fin = 0;
            if(r.charAt(r.length()-1) == 'M')
                fin = 1;
            if(r.charAt(r.length()-1) == 'L')
                fin = 2;
            d2[len][fin]++;
        }
        
        int ans = 0;
        for (int i = 0; i < d.length; i++) {
            int sum = 0;
            int sum2 = 0;
            for (int j = 0; j < d[0].length; j++) {
                sum += d[i][j];
                sum2 += d2[i][j];
                ans += Math.max(0, d2[i][j] - d[i][j]);
            }
            
        }
        System.out.println(ans);
        out.close();
    }    
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.*;
import java.util.*;
public class A {
    public static void main(String[] args)throws Throwable {
        MyScanner sc=new MyScanner();
        PrintWriter pw=new PrintWriter(System.out);

        int n=sc.nextInt();

        String [] s={"M","L","S","XL","XS","XXL","XXS","XXXL","XXXS"};
        int [] cnt=new int [9];
        for(int i=0;i<n;i++){
            String t=sc.next();
            for(int j=0;j<9;j++)
                if(t.equals(s[j]))
                    cnt[j]++;
        }
        for(int i=0;i<n;i++){
            String t=sc.next();
            for(int j=0;j<9;j++)
                if(t.equals(s[j]))
                    cnt[j]--;
        }
        for(int i=0;i<9;i++)
            cnt[i]=Math.abs(cnt[i]);
        int ans=0;
        for(int i=0;i<9;i++)
            ans+=cnt[i];
        pw.println(ans/2);
        pw.flush();
        pw.close();
    }

    static class MyScanner {
        BufferedReader br;
        StringTokenizer st;
        public MyScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }
        String next() {while (st == null || !st.hasMoreElements()) {
            try {st = new StringTokenizer(br.readLine());}
            catch (IOException e) {e.printStackTrace();}}
            return st.nextToken();}
        int nextInt() {return Integer.parseInt(next());}
        long nextLong() {return Long.parseLong(next());}
        double nextDouble() {return Double.parseDouble(next());}
        String nextLine(){String str = "";
            try {str = br.readLine();}
            catch (IOException e) {e.printStackTrace();}
            return str;}
    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;


public class JavaApplication2 {

    
    public static void main(String[] args) throws IOException {
     
        BufferedReader sc= new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(sc.readLine().split(" ")[0]);
        ArrayList<String> tshr = new ArrayList<>(n);
        for (int i = 0; i < n; i++) {
            tshr.add(sc.readLine());
        }
        for (int i = 0; i < n; i++) {
            tshr.remove(sc.readLine());
        }
        System.out.println(tshr.size());
        
        
        
        
        
        
    }
    
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.util.*;
import java.io.*;

public class _1000_A {

	public static void main(String[] args) throws IOException {
		HashMap<String, Integer> map1 = new HashMap<>(), map2 = new HashMap<>(); int N = readInt();
		for(int i = 1; i<=N; i++) {
			String s = read(); if(!map1.containsKey(s)) map1.put(s, 1); else map1.put(s, map1.get(s)+1);
		}
		int tot = 0; for(int i = 1; i<=N; i++) {
			String s = read(); if(!map2.containsKey(s)) map2.put(s, 1); else map2.put(s, map2.get(s)+1);
		}
		for(String s : map2.keySet()) {
			tot += Math.max(0, map2.get(s) - (map1.containsKey(s) ? map1.get(s) : 0));
		}
		println(tot); exit();
	}

	final private static int BUFFER_SIZE = 1 << 16;
	private static DataInputStream din = new DataInputStream(System.in);
	private static byte[] buffer = new byte[BUFFER_SIZE];
	private static int bufferPointer = 0, bytesRead = 0;
	static PrintWriter pr = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));

	public static String readLine() throws IOException {
		byte[] buf = new byte[64]; // line length
		int cnt = 0, c;
		while ((c = Read()) != -1) {
			if (c == '\n')
				break;
			buf[cnt++] = (byte) c;
		}
		return new String(buf, 0, cnt);
	}

	public static String read() throws IOException {
		byte[] ret = new byte[1024];
		int idx = 0;
		byte c = Read();
		while (c <= ' ') {
			c = Read();
		}
		do {
			ret[idx++] = c;
			c = Read();
		} while (c != -1 && c != ' ' && c != '\n' && c != '\r');
		return new String(ret, 0, idx);
	}

	public static int readInt() throws IOException {
		int ret = 0;
		byte c = Read();
		while (c <= ' ')
			c = Read();
		boolean neg = (c == '-');
		if (neg)
			c = Read();
		do {
			ret = ret * 10 + c - '0';
		} while ((c = Read()) >= '0' && c <= '9');

		if (neg)
			return -ret;
		return ret;
	}

	public static long readLong() throws IOException {
		long ret = 0;
		byte c = Read();
		while (c <= ' ')
			c = Read();
		boolean neg = (c == '-');
		if (neg)
			c = Read();
		do {
			ret = ret * 10 + c - '0';
		} while ((c = Read()) >= '0' && c <= '9');
		if (neg)
			return -ret;
		return ret;
	}

	public static double readDouble() throws IOException {
		double ret = 0, div = 1;
		byte c = Read();
		while (c <= ' ')
			c = Read();
		boolean neg = (c == '-');
		if (neg)
			c = Read();

		do {
			ret = ret * 10 + c - '0';
		} while ((c = Read()) >= '0' && c <= '9');

		if (c == '.') {
			while ((c = Read()) >= '0' && c <= '9') {
				ret += (c - '0') / (div *= 10);
			}
		}

		if (neg)
			return -ret;
		return ret;
	}

	private static void fillBuffer() throws IOException {
		bytesRead = din.read(buffer, bufferPointer = 0, BUFFER_SIZE);
		if (bytesRead == -1)
			buffer[0] = -1;
	}

	private static byte Read() throws IOException {
		if (bufferPointer == bytesRead)
			fillBuffer();
		return buffer[bufferPointer++];
	}

	static void print(Object o) {
		pr.print(o);
	}

	static void println(Object o) {
		pr.println(o);
	}

	static void flush() {
		pr.flush();
	}

	static void println() {
		pr.println();
	}

	static void exit() throws IOException {
		din.close();
		pr.close();
		System.exit(0);
	}
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.*;
import java.util.*;

public class n2{
    public static void main(String[] args) throws Exception{
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(in.readLine());
        int[] S=new int[4];
        int[] L=new int[4];
        int m=0;
        for(int i=0;i<n;i++){
            String s=in.readLine();
            if(s.charAt(s.length()-1)=='L'){
                L[s.length()-1]++;
            }
            if(s.charAt(s.length()-1)=='S'){
                S[s.length()-1]++;
            }
            if(s.charAt(s.length()-1)=='M'){
                m++;
            }
        }
        for(int i=0;i<n;i++){
            String s=in.readLine();
            if(s.charAt(s.length()-1)=='L'){
                L[s.length()-1]--;
            }
            if(s.charAt(s.length()-1)=='S'){
                S[s.length()-1]--;
            }
            if(s.charAt(s.length()-1)=='M'){
                m--;
            }
        }
        int count=0;
        for(int i=0;i<=3;i++){
            if(S[i]>0){
                count+=S[i];
            }
            if(L[i]>0){
                count+=L[i];
            }
        }
        if(m>0){
            count+=m;
        }
        System.out.println(count);
    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.TreeSet;


public class Main {
    public static StreamTokenizer tokenizer = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));

    public static int read() throws IOException {
        tokenizer.nextToken();
        return (int) tokenizer.nval;
    }

    public static void main(String[] args) throws IOException {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        ArrayList<String> list1=new ArrayList<String>();
        ArrayList<String> list2=new ArrayList<String>();
        for (int i=0; i<n; i++){
            String s=scanner.next();
            list1.add(s);
        }
        for (int i=0; i<n; i++){
            String s=scanner.next();
            list2.add(s);
        }
        for (int i=0; i<list1.size(); i++){
            for (int j=0; j<list2.size(); j++){
                if (list1.get(i).equals(list2.get(j))){
                    list1.remove(i);
                    list2.remove(j);
                    i--;
                    break;
                }
            }
        }
        System.out.println(list1.size());
    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;


public class A {

	static StringTokenizer st;
	static BufferedReader br;
	static PrintWriter pw;
	public static void main(String[] args) throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
		int n = nextInt();
		String[]a = new String[n], b = new String[n];
		Map<String, Integer> map = new HashMap<String, Integer>();
		for (int i = 0; i < n; i++) {
			a[i] = next();
			if (!map.containsKey(a[i]))
				map.put(a[i], 0);
			map.put(a[i], map.get(a[i])+1);
		}
		int  ans = 0;
		for (int i = 0; i < n; i++) {
			b[i] = next();
			if (!map.containsKey(b[i]))
				ans++;
			else {
				map.put(b[i], map.get(b[i])-1);
				if (map.get(b[i])==0)
					map.remove(b[i]);
			}
		}
		System.out.println(ans);
		pw.close();
	}
	private static int nextInt() throws IOException {
		return Integer.parseInt(next());
	}
	private static long nextLong() throws IOException {
		return Long.parseLong(next());
	}
	private static double nextDouble() throws IOException {
		return Double.parseDouble(next());
	}
	private static String next() throws IOException {
		while (st==null || !st.hasMoreTokens())
			st = new StringTokenizer(br.readLine());
		return st.nextToken();
	}
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear


import java.math.*;
import java.util.*;
import java.io.*;

public class Test5 {
    public static void main(String[] z){
        StreamTokenizer st = new StreamTokenizer(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(System.out);
        Scanner s = new Scanner(System.in);
        int a = s.nextInt(), o=0;
        String i = "";
        ArrayList<String> l1 = new ArrayList<>(), l2 = new ArrayList<>();
        for(int q=0; q<a; q++){
            l1.add(s.next());
        }
        for(int q=0; q<a; q++){
            i = s.next();
            if(l1.contains(i)) l1.remove(i);
            else l2.add(i);
        }
        Collections.sort(l1);
        Collections.sort(l2);

        for(int q=0; q<l1.size(); q++){
            if(l1.get(q).charAt(l1.get(q).length()-1)!=l2.get(q).charAt(l2.get(q).length()-1)) o++;
        }
        System.out.println(o);
        pw.flush();
    }

    static class PyraSort {

        private static int heapSize;

        public static void sort(int[] a) {
            buildHeap(a);
            while (heapSize > 1) {
                swap(a, 0, heapSize - 1);
                heapSize--;
                heapify(a, 0);
            }
        }

        private static void buildHeap(int[] a) {
            heapSize = a.length;
            for (int i = a.length / 2; i >= 0; i--) {
                heapify(a, i);
            }
        }

        private static void heapify(int[] a, int i) {
            int l = 2 * i + 2;
            int r = 2 * i + 1;
            int largest = i;
            if (l < heapSize && a[i] < a[l]) {
                largest = l;
            }
            if (r < heapSize && a[largest] < a[r]) {
                largest = r;
            }
            if (i != largest) {
                swap(a, i, largest);
                heapify(a, largest);
            }
        }

        private static void swap(int[] a, int i, int j) {
            a[i] ^= a[j] ^= a[i];
            a[j] ^= a[i];
        }
    }
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Collections;
import java.util.HashSet;

/* Name of the class has to be "Main" only if the class is public. */
public class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		ArrayList<String> s1=new ArrayList<String> ();
		ArrayList<String> s2=new ArrayList<String> ();
			ArrayList<String> s3=new ArrayList<String> ();
			int i;
		for(i=0;i<n;i++)
		s1.add(sc.next());
		
		for(i=0;i<n;i++)
		s2.add(sc.next());
		s3.addAll(s2);
		for(i=0;i<n;i++)
		{
			if(s2.contains(s1.get(i)))
			s3.remove(s1.get(i));
			
			
		}
	System.out.println(s3.size());
		
	}
}
// Problem: 1000_A. Codehorses T-shirts
// Time complexity: linear
import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;
public class A {
    public static void main(String[] args) throws Exception {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        // Scanner scan = new Scanner(System.in);
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(bf.readLine());
        ArrayList<String> s1 = new ArrayList<String>();
        ArrayList<String> s2 = new ArrayList<String>();
        for(int i=0; i<n; i++) s1.add(bf.readLine());
        for(int i=0; i<n; i++) s2.add(bf.readLine());

        Map<String, Integer> mp1 = new HashMap<String, Integer>();
        Map<String, Integer> mp2 = new HashMap<String, Integer>();
        for(String s : s1) mp1.put(s, 0);
        for(String s : s1) mp1.put(s, mp1.get(s)+1);
        for(String s : s2) mp2.put(s, 0);
        for(String s : s2) mp2.put(s, mp2.get(s)+1);
        for(String s : mp1.keySet()) {
          while(mp1.get(s) > 0) {
            if(mp2.containsKey(s)) {

              if(mp2.get(s) > 0) {
                mp1.put(s, mp1.get(s)-1);
                mp2.put(s, mp2.get(s)-1);
              }
              else break;
            }
            else break;
          }

        }
        for(String s : mp2.keySet()) {
          while(mp2.get(s) > 0) {
            if(mp1.containsKey(s)) {

              if(mp1.get(s) > 0) {
                mp2.put(s, mp2.get(s)-1);
                mp1.put(s, mp1.get(s)-1);
              }
              else break;
            }
            else break;
          }

        }
        long sum = 0;
        for(String s : mp1.keySet()) sum += mp1.get(s);
        out.println(sum);
        //out.println(mp1.keySet().size());
      //  out.close();

        // StringTokenizer st = new StringTokenizer(bf.readLine());
        // int[] a = new int[n]; for(int i=0; i<n; i++) a[i] = Integer.parseInt(st.nextToken());
        // int n = Integer.parseInt(st.nextToken());
        // int n = scan.nextInt();

        out.close(); System.exit(0);
    }
}