public static void appendProbs(Map<String, Vector<String> > map){
        BufferedReader br = null;
        BufferedWriter bw = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream("problemType.txt")));
            bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("temp.txt")));
            String s;
            int k;
            while((s = br.readLine()) != null){
                bw.write(s);
                k = s.indexOf(':');
                if(map.containsKey(s.substring(0, k))){
                    for(String prob : map.get(s.substring(0, k))){
                        bw.write("," + prob);
                    }
                    map.remove(s.substring(0, k));
                }
                bw.newLine();
            }
            for(String key : map.keySet()){
                bw.write(key + ":");
                boolean first = true;
                for(String prob : map.get(key)){
                    if(!first)
                        bw.write(",");
                    else
                        first = false;
                    bw.write(prob);
                }
            }
            br.close();
            bw.close();
            File oldfile = new File("problemType.txt");
            oldfile.delete();
            File newfile = new File("temp.txt");
            newfile.renameTo(new File("problemType.txt"));
        } catch (FileNotFoundException ex) {
            Logger.getLogger(FileUtil.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(FileUtil.class.getName()).log(Level.SEVERE, null, ex);
        } finally{
            
        }
    }