diff --git a/src/main/java/study/plan/meituan/meituan014/Solution.java b/src/main/java/study/plan/meituan/meituan014/Solution.java
new file mode 100644
index 0000000..dd5b59e
--- /dev/null
+++ b/src/main/java/study/plan/meituan/meituan014/Solution.java
@@ -0,0 +1,104 @@
+package study.plan.meituan.meituan014;
+
+import java.io.*;
+import java.util.*;
+
+class Solution {
+
+    static Scanner sc;
+    static PrintWriter pw;
+
+    public static void main(String[] args) throws IOException {
+        sc = new Scanner(System.in);
+        pw = new PrintWriter(System.out);
+        solve();
+        pw.close();
+    }
+
+    public static void solve() throws IOException {
+        int x = sc.nextInt();
+        int y = sc.nextInt();
+        char[] chs = new char[x + y];
+        Map<Integer, List<Integer>> map = new HashMap<>();
+        for (int i = 0; i < x + y; i++) {
+            int num = sc.nextInt();
+            List<Integer> list = map.getOrDefault(num, new ArrayList<>());
+            list.add(i);
+            map.put(num, list);
+            chs[i] = 'B';
+        }
+        if (y == x) {
+            for (int i = 0; i < x; i++) {
+                chs[i] = 'A';
+            }
+            pw.println(new String(chs));
+        } else if (y < x) {
+            int index = 0;
+            for (int key : map.keySet()) {
+                List<Integer> list = map.get(key);
+                Collections.sort(list);
+                for (Integer integer : list) {
+                    chs[integer] = 'A';
+                    index++;
+                    if (index == x) {
+                        pw.println(new String(chs));
+                        return;
+                    }
+                }
+            }
+        } else {
+            int index = 0;
+            for (int key : map.keySet()) {
+                List<Integer> list = map.get(key);
+                list.sort(Collections.reverseOrder());
+                for (Integer integer : list) {
+                    index++;
+                    if (index > y) {
+                        chs[integer] = 'A';
+                    }
+                }
+            }
+            pw.println(new String(chs));
+        }
+    }
+
+    static class Scanner {
+        BufferedReader br;
+        StringTokenizer st;
+
+        public Scanner(InputStream s) {
+            br = new BufferedReader(new InputStreamReader(s));
+        }
+
+        public Scanner(FileReader f) {
+            br = new BufferedReader(f);
+        }
+
+        public String next() throws IOException {
+            while (st == null || !st.hasMoreTokens())
+                st = new StringTokenizer(br.readLine());
+            return st.nextToken();
+        }
+
+        public int nextInt() throws IOException {
+            return Integer.parseInt(next());
+        }
+
+        public long nextLong() throws IOException {
+            return Long.parseLong(next());
+        }
+
+        public double nextDouble() throws IOException {
+            return Double.parseDouble(next());
+        }
+
+        public int[] nextIntArr(int n) throws IOException {
+            int[] arr = new int[n];
+            for (int i = 0; i < n; i++) {
+                arr[i] = Integer.parseInt(next());
+            }
+            return arr;
+        }
+
+    }
+}