import java.util.ArrayList;
abstract class Printable {
  public abstract String show();
  public void add(Printable p) { throw new UnsupportedOperationException(); }
}
 
class Paragraph extends Printable {
  public String show() { return "[paragraph]"; }
}
 
class Image extends Printable {
  public String show() { return "[image]"; }
}
 
class Album extends Printable {
  public ArrayList<Printable> _printables = new ArrayList<Printable>();
  public void add(Printable p) { _printables.add(p); }
  public String show() {
    String s = "[\n";
    for (Printable p: _printables) s += p.show();
    s += "\n]";
    return s;
  }
}
 
public class App {
  public static void main(String args[]) {
    Album album = new Album();
    album.add(new Paragraph());
    album.add(new Image());
    System.out.println(album.show());
  }
}