import java.util.*;
public class Main {public static void main(String[] args) {final int N = 100002;int[] a = new int[N]; // 创建一个大小为N的整型数组a,用于存储输入的n个元素int[] b = new int[N]; // 创建一个大小为N的整型数组b,用于存储输入的m个元素int n, m; // 声明变量n和m,用于存储输入的n和m的值Scanner sc = new Scanner(System.in); // 创建Scanner对象sc,用于从标准输入读取数据n = sc.nextInt(); // 从输入中读取n的值m = sc.nextInt(); // 从输入中读取m的值for (int i = 0; i < n; i++) {a[i] = sc.nextInt(); // 从输入中读取数组a的元素,并存储到数组a的相应位置}for (int i = 0; i < m; i++) {b[i] = sc.nextInt(); // 从输入中读取数组b的元素,并存储到数组b的相应位置}int i = 0, j = 0; // 初始化指针i和j,用于遍历数组a和bwhile (i < n && j < m) {if (a[i] == b[j]) {i++; // 如果a[i]等于b[j],则将i向右移动一位}j++; // 将j向右移动一位}if (i == n) {System.out.println("Yes"); // 如果i等于n,表示数组a中的所有元素都在数组b中出现过,则输出"Yes"} else {System.out.println("No"); // 否则,输出"No"}}
}