import java.util.Scanner;
import java.util.concurrent.TimeUnit;
import java.util.HashSet;
public class Maalin {
public static void main(String[] args) {
//final long startTime = System.nanoTime();
Scanner scan=new Scanner(System.in);
String[] inp=scan.nextLine().split(" ");
long bleb= Long.valueOf(inp[0]);
long blob= Long.valueOf(inp[1]);
int cols= Integer.valueOf(inp[2]);
int coms= Integer.valueOf(inp[3]);
String[][] add=new String[coms][3];
long[] coamuns=new long[cols];
int temp=0;
int temp2=0;
HashSet<String> rowadds=new HashSet<>();
HashSet<String> coladds=new HashSet<>();
for (int i=0;i<coms;i++){
add[i]=scan.nextLine().split(" ");
}
for (int i=add.length-1;i>-1;i--){
if (add[i][0].equals("R")&& !rowadds.contains(add[i][1])){
coamuns[Integer.valueOf(add[i][2])-1]+=blob-temp2;
rowadds.add(add[i][1]);
temp+=1;
} else if (add[i][0].equals("C")&& !coladds.contains(add[i][1])){
coamuns[Integer.valueOf(add[i][2])-1]+=bleb-temp;
coladds.add(add[i][1]);
temp2+=1;
}
}
for (int i=0;i<cols;i++){
System.out.println(coamuns[i]);
}
final long duration = System.nanoTime() - startTime;
System.out.println(TimeUnit.NANOSECONDS.toMillis(duration));
}
}