public static void insertInitInfectedContacts() {
		int numInserts = 0;
		double minContactDuration = 0.0;
		try {
			HashSet<Integer> sick = new HashSet<Integer>(565685);
			Connection con = dbConnect();
			ResultSet getSickQ = con.createStatement().executeQuery(
					"SELECT victimID FROM "+dendroTbl);
			while (getSickQ.next()) {
				Integer p = new Integer(getSickQ.getInt("victimID"));
				sick.add(p);
			}
			getSickQ.close();
			HashSet<Integer> initInfected = new HashSet<Integer>(100);
			getSickQ = con.createStatement().executeQuery(
					"SELECT id FROM "+initTbl);
			while (getSickQ.next()) {
				Integer p = new Integer(getSickQ.getInt("id"));
				initInfected.add(p);
			}
			getSickQ.close();
			PreparedStatement insert = con.prepareStatement(
					"INSERT INTO "+sickConTbl+" (person1ID,person2ID,duration) VALUES (?,?,?)");
			PreparedStatement getContacts = con.prepareStatement(
					"SELECT person2ID,duration FROM "+conTbl+" WHERE person1ID = ?");
			Iterator<Integer> initInfectedItr = initInfected.iterator();
			while (initInfectedItr.hasNext()) {
				Integer person = initInfectedItr.next();
				getContacts.setInt(1, person.intValue());
				ResultSet getContactsQ = getContacts.executeQuery();
				while (getContactsQ.next()) {
					insert.setInt(1, person);
					Integer contact = getContactsQ.getInt("person2ID");
					double duration = getContactsQ.getDouble("duration");
					if (sick.contains(contact) && duration >= minContactDuration) {
						insert.setInt(2, contact);
						insert.setDouble(3, duration);
						numInserts += insert.executeUpdate();
					}
				}
			}
			con.close();
			System.out.println("Number of inserts: "+numInserts);
		} catch (Exception e) {
			System.out.println(e);
		}
	}