/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String s
= "137\n-104\n2 58\n +0\n++3\n+1\n 23.9\n2000000000\n-0\nfive\n -1"; for (Integer x
: new SolutionIter
(reader
)) {
}
}
}
class SolutionIter implements Iterable<Integer>
{
public SolutionIter
(Reader inp
) {
this.inp = inp;
}
public Iterator<Integer> iterator()
{
return new NumberIterator();
}
// Inner class
private class NumberIterator implements Iterator<Integer>
{
private List<Integer> list = new ArrayList<Integer>();
private int pos=-1;
public NumberIterator()
{
this.input = SolutionIter.this.inp;
list = read(input);
list.get(0);
}
public boolean hasNext()
{
try
{
int a = list.get(pos+1);
return true;
}
{
return false;
}
}
public void remove() {
}
{
try
{
pos++;
return list.get(pos);
}
{
}
}
private List
<Integer
> read
(Reader input
) {
char c;
List<Integer> integers = new ArrayList<Integer>();
try
{
int data = input.read();
while (-1 != data)
{
char dataChar = (char) data;
iputString += dataChar;
data = input.read();
}
}
{
//Do Nothing
}
String[] lines
= iputString.
split("\\r?\\n"); {
st= st.trim();
try
{
if(a >=-1000000000 && a<=1000000000)
{
integers.add(a);
}
}
{
// Do Nothing
}
}
return integers;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBzID0gIjEzN1xuLTEwNFxuMiA1OFxuICArMFxuKyszXG4rMVxuIDIzLjlcbjIwMDAwMDAwMDBcbi0wXG5maXZlXG4gLTEiOwoJCVJlYWRlciByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKHMpOwoJCWZvciAoSW50ZWdlciB4IDogbmV3IFNvbHV0aW9uSXRlcihyZWFkZXIpKQoJCXsKICAgICAgICAgCVN5c3RlbS5vdXQucHJpbnRsbih4KTsKICAgICAgICB9Cgl9Cn0KCmNsYXNzIFNvbHV0aW9uSXRlciBpbXBsZW1lbnRzIEl0ZXJhYmxlPEludGVnZXI+CnsKCXByaXZhdGUgUmVhZGVyIGlucDsKCXB1YmxpYyBTb2x1dGlvbkl0ZXIoUmVhZGVyIGlucCkKCXsKCQl0aGlzLmlucCA9IGlucDsKCX0KCQoJcHVibGljIEl0ZXJhdG9yPEludGVnZXI+IGl0ZXJhdG9yKCkKCXsKCQlyZXR1cm4gbmV3IE51bWJlckl0ZXJhdG9yKCk7Cgl9CgkKCS8vIElubmVyIGNsYXNzCglwcml2YXRlIGNsYXNzIE51bWJlckl0ZXJhdG9yIGltcGxlbWVudHMgSXRlcmF0b3I8SW50ZWdlcj4KCXsKCQlwcml2YXRlIExpc3Q8SW50ZWdlcj4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8SW50ZWdlcj4oKTsKCQlwcml2YXRlIFJlYWRlciBpbnB1dDsKCQlwcml2YXRlIGludCBwb3M9LTE7CgkJCgkJcHVibGljIE51bWJlckl0ZXJhdG9yKCkKCQl7CgkJCXRoaXMuaW5wdXQgPSBTb2x1dGlvbkl0ZXIudGhpcy5pbnA7CgkJCWxpc3QgPSByZWFkKGlucHV0KTsKCQkJbGlzdC5nZXQoMCk7CgkJfQoJCQoJCXB1YmxpYyBib29sZWFuIGhhc05leHQoKQoJCXsKCQkJdHJ5CgkJCXsKCQkJCWludCBhID0gbGlzdC5nZXQocG9zKzEpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQkJY2F0Y2goRXhjZXB0aW9uIGV4KQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJCgkJfQoJCQoJCXB1YmxpYyB2b2lkIHJlbW92ZSgpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uKCk7CiAgICAgICAgfQoJCQoJCXB1YmxpYyBJbnRlZ2VyIG5leHQoKSAKCQl7CgkJCXRyeQoJCQl7CgkJCQlwb3MrKzsKCQkJCXJldHVybiBsaXN0LmdldChwb3MpOwoJCQkKCQkJfQoJCQljYXRjaChFeGNlcHRpb24gZXgpCgkJCXsKCQkJCXRocm93IG5ldyBOb1N1Y2hFbGVtZW50RXhjZXB0aW9uKCk7IAoJCQl9CgkJfQoJCQoJCXByaXZhdGUgTGlzdDxJbnRlZ2VyPiByZWFkKFJlYWRlciBpbnB1dCkKCQl7CgkJCWNoYXIgYzsKCQkJTGlzdDxJbnRlZ2VyPiBpbnRlZ2VycyA9IG5ldyBBcnJheUxpc3Q8SW50ZWdlcj4oKTsKCQkJU3RyaW5nIGlwdXRTdHJpbmcgPSAiIjsKCQkJdHJ5CgkJCXsKCQkJCWludCBkYXRhID0gaW5wdXQucmVhZCgpOwoJCQkJd2hpbGUgKC0xICE9IGRhdGEpCgkJCQl7CgkJCQkJY2hhciBkYXRhQ2hhciA9IChjaGFyKSBkYXRhOwoJCQkJCWlwdXRTdHJpbmcgKz0gZGF0YUNoYXI7CgkJCQkJZGF0YSA9IGlucHV0LnJlYWQoKTsKCQkJCX0KCQkJfQoJCQljYXRjaChJT0V4Y2VwdGlvbiBleCkKCQkJewoJCQkJLy9EbyBOb3RoaW5nCgkJCX0KCQkJCgkJCVN0cmluZ1tdIGxpbmVzID0gaXB1dFN0cmluZy5zcGxpdCgiXFxyP1xcbiIpOwoJCQlmb3IoU3RyaW5nIHN0IDogbGluZXMpCgkJCXsKCQkJCXN0PSBzdC50cmltKCk7CgkJCQl0cnkKCQkJCXsKCQkJCQlpbnQgYSA9IEludGVnZXIucGFyc2VJbnQoc3QpOwoJCQkJCWlmKGEgPj0tMTAwMDAwMDAwMCAmJiBhPD0xMDAwMDAwMDAwKQoJCQkJCXsKCQkJCQkJaW50ZWdlcnMuYWRkKGEpOwoJCQkJCX0KCQkJCX0KCQkJCWNhdGNoKEV4Y2VwdGlvbiBleCkKCQkJCXsKCQkJCQkvLyBEbyBOb3RoaW5nCgkJCQl9CgkJCQkKCQkJfQoJCQkKCQkJcmV0dXJuICBpbnRlZ2VyczsKCQl9Cgl9CgkKfQ==