import java.awt.*;
import java.io.File;
import java.util.Arrays;
import java.util.ArrayList;

public class Repertoires {

	private File valeur;
	private ArrayList<Repertoires> fils;

	public Repertoires(File racine) {
		if (!racine.isDirectory()) {
			this.valeur = racine;
			this.fils = null;
		} else {
			this.fils = new ArrayList<>();
			this.valeur = racine;
			for (File fichier : racine.listFiles()) {
				this.fils.add(new Repertoires(fichier));
			}
		}
	}

	public String toString(int nbRecursions) {
		String aRenvoyer = "";
		for (int i = 0; i != nbRecursions; i++) {
			aRenvoyer += "  ";
		}
		aRenvoyer += this.valeur.getName() + "\n";
		if (this.fils != null) {
			for (Repertoires fichier : this.fils) {
				aRenvoyer += fichier.toString(nbRecursions + 1);
			}
		}
		return aRenvoyer;
	}

	public static void main(String[] args) {
		Repertoires racine = new Repertoires(new File(args[0]));
		System.out.println(racine.toString(0));
	}

}
