import java.util.*;
import java.io.*;
public class Problem3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner ( new FileReader ( "DATA3.txt" ) );
		PrintWriter pw = new PrintWriter ( new FileWriter ( "OUT3.txt" ) );
		
		
		
		for ( int i = 0; i < 5; i++ ){
			int nBill = Integer.parseInt(sc.nextLine().trim());
			
			LinkedList<Set> bills = new LinkedList<Set>();
			for ( int b = 0; b < nBill; b++ ){
				String line = sc.nextLine();
				StringTokenizer st = new StringTokenizer ( line );
				String name = st.nextToken();
				int val = Integer.parseInt(st.nextToken().trim());
				bills.add(new Set(name,val));
			}
			
			int nAmend = Integer.parseInt(sc.nextLine().trim());
			
			HashMap<String, Integer> amend = new HashMap<String, Integer>();
			for ( int b = 0; b < nAmend; b++ ){
				String line = sc.nextLine();
				StringTokenizer st = new StringTokenizer ( line );
				String name = st.nextToken();
				int val = Integer.parseInt(st.nextToken().trim());
			
				if ( amend.containsKey(name) ) {
					amend.put(name, amend.remove(name) + val);
				} else {
					amend.put(name, val);
				}
			}
			
			for ( Set e : bills ) {
				
				if ( amend.containsKey(e.Name) ) {
					int amendment = amend.remove(e.Name);
					
					if ( amendment >= e.Value ) {
						pw.println(e.Name + " " + 0);
						pw.flush();
						amend.put(e.Name, amendment - e.Value);
					} else {
						pw.println(e.Name + " " + (e.Value - amendment) );
						pw.flush();
						amend.put(e.Name, 0);
					}
				} else {
					pw.println(e.Name + " " + e.Value);
					pw.flush();
				}
			}
			
			
		}
		
		pw.close();
		sc.close();
	}
	
	

}

class Set {
	public String Name = "";
	public int Value = 0;
	
	public Set ( String name, int val ) {
		Name = name;
		Value = val;
	}
	
	public int compareTo ( Set e ) {
		return Name.compareTo(e.Name);
	}
	
	public boolean equals ( Set e ) {
		return Name.equals(e.Name);
	}

}

