package com.javarush.task.task19.task1916;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Отслеживаем изменения
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s1 = reader.readLine();
String s2 = reader.readLine();
reader.close();
BufferedReader f1 = new BufferedReader(new FileReader(s1));
BufferedReader f2 = new BufferedReader(new FileReader(s2));
List<Integer> l1 = new ArrayList<>();
List<Integer> l2 = new ArrayList<>();
String e = "";
while (f1.ready()) {
String s = f1.readLine();
String[] h = s.split("\\b(?=\\d)");
e = h[0];
l1.add(Integer.valueOf(h[1].trim()));
}
f1.close();
while (f2.ready()) {
String s = f2.readLine();
String[] h = s.split("\\b(?=\\d)");
l2.add(Integer.parseInt(h[1].trim()));
}
f2.close();
int t = 0, j = 0, g = 0, g1=0;
int a=0;
while ((g<=1 & g1 <=0) |(g1<=1 & g <=0)) {
if(a==2)
break;
else if (l1.get(t) == l2.get(j)) {
a=0;
lines.add(new LineItem(Type.SAME, e + String.valueOf(l1.get(t))));
if(t<l1.size()-1 && j<l2.size()-1){ t++;j++;}
else if(t==l1.size()-1 & j==l2.size()-1) break;
else if(t<l1.size()-1 & j==l2.size()-1){ t++;g=1;}
else if(t==l1.size()-1 & j<l2.size()-1){ j++;g1=1;}
} else if (l1.get(t) < l2.get(j) | (g>0 && g1==0)) {
a+=1;
lines.add(new LineItem(Type.REMOVED, e + String.valueOf(l1.get(t))));
if(t<l1.size()-1) t++;
else g1=1;
} else if (l1.get(t) > l2.get(j)| (g1>0&& g==0)) {
a=0;
lines.add(new LineItem(Type.ADDED, e + String.valueOf(l2.get(j))));
if(j<l2.size()-1) j++;
else g=1;
}
}
// for (LineItem lineItem : lines) {
// System.out.println(lineItem.type + " " + lineItem.line);
// }
}
public static enum Type {
ADDED, //добавлена новая строка
REMOVED, //удалена строка
SAME //без изменений
}
public static class LineItem {
public Type type;
public String line;
public LineItem(Type type, String line) {
this.type = type;
this.line = line;
}
}
}
// C:\Users\a.mozzhechkov\Documents\99.txt
package com.javarush.task.task19.task1916;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Отслеживаем изменения
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s1 = reader.readLine();
String s2 = reader.readLine();
reader.close();
BufferedReader f1 = new BufferedReader(new FileReader(s1));
BufferedReader f2 = new BufferedReader(new FileReader(s2));
List<Integer> l1 = new ArrayList<>();
List<Integer> l2 = new ArrayList<>();
String e = "";
while (f1.ready()) {
String s = f1.readLine();
String[] h = s.split("\\b(?=\\d)");
e = h[0];
l1.add(Integer.valueOf(h[1].trim()));
}
f1.close();
while (f2.ready()) {
String s = f2.readLine();
String[] h = s.split("\\b(?=\\d)");
l2.add(Integer.parseInt(h[1].trim()));
}
f2.close();
int t = 0, j = 0, g = 0, g1=0;
int a=0;
while ((g<=1 & g1 <=0) |(g1<=1 & g <=0)) {
if(a==2)
break;
else if (l1.get(t) == l2.get(j)) {
a=0;
lines.add(new LineItem(Type.SAME, e + String.valueOf(l1.get(t))));
if(t<l1.size()-1 && j<l2.size()-1){ t++;j++;}
else if(t==l1.size()-1 & j==l2.size()-1) break;
else if(t<l1.size()-1 & j==l2.size()-1){ t++;g=1;}
else if(t==l1.size()-1 & j<l2.size()-1){ j++;g1=1;}
} else if (l1.get(t) < l2.get(j) | (g>0 && g1==0)) {
a+=1;
lines.add(new LineItem(Type.REMOVED, e + String.valueOf(l1.get(t))));
if(t<l1.size()-1) t++;
else g1=1;
} else if (l1.get(t) > l2.get(j)| (g1>0&& g==0)) {
a=0;
lines.add(new LineItem(Type.ADDED, e + String.valueOf(l2.get(j))));
if(j<l2.size()-1) j++;
else g=1;
}
}
// for (LineItem lineItem : lines) {
// System.out.println(lineItem.type + " " + lineItem.line);
// }
}
public static enum Type {
ADDED, //добавлена новая строка
REMOVED, //удалена строка
SAME //без изменений
}
public static class LineItem {
public Type type;
public String line;
public LineItem(Type type, String line) {
this.type = type;
this.line = line;
}
}
}
// C:\Users\a.mozzhechkov\Documents\99.txt