import java.io.*;
import java.lang.reflect.*;

public class Weed {
  public static void main(String[] args) {
    if(Array.getLength(args)>1)
      new Weed(args[0],args[1]);

  }

  public Weed(String src, String dst) {
  // src will remain unchanged, dst will be weeded

    File f1=new File(src);
    File f2=new File(dst);
    dir(f1,f2);
  }

  private void dir(File f, File g) {
    File aFile,bFile;
    String [] gList=g.list();

    if(gList==null)
      return;
    int length=Array.getLength(gList);

    System.out.println(g);
    for(int i=0;i<length;i++) {
      aFile=new File(f,gList[i]);
      bFile=new File(g,gList[i]);
      if(aFile.isDirectory() && bFile.isDirectory()) {
        dir(aFile,bFile);   
      }
      else { 
        file(aFile,bFile);
      }
    }
  }

  private void file(File f, File g) {
    if(g.exists() && f.exists()) { 
      if(!f.isDirectory() && !g.isDirectory()) {
        if(f.length()==g.length()) {
          if(f.lastModified()==g.lastModified()) {
            g.delete();
          }
          else if(f.lastModified()-g.lastModified()==-3600000) {
            g.delete();
          }
 //         else
 //           System.out.println(f.lastModified()-g.lastModified());

        }
      }
    }
  }
}