import java.io.*;
public class VelkaPismenaInputStream extends FilterInputStream {

  // konstruktor volá standardní konstruktor
  public VelkaPismenaInputStream(InputStream in) {
    super(in);
  }

  // čtení jednoho znaku
  public int read() throws IOException {
    char ch = (char)in.read();            // načtení znaku
    return Character.toUpperCase(ch);     // převedení na velké písmeno
 }

 // čtení pole znaků
  public int read(byte[] b) throws IOException {
    int len = in.read(b, 0, b.length);
    for (int i=0; i<len; i++) b[i] = (byte)Character.toUpperCase((char)b[i]);
    return len;
  }

  // čtení části pole znaků dané počátkem a délkou
  public int read(byte[] b, int off, int len) throws IOException {
    len = in.read(b, 0, len);
    for (int i=0; i<len; i++) b[off+i] = (byte)Character.toUpperCase((char)b[off+i]);
    return len;
  }
}

