/* 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
//{
class Fibo {
Fibo(int nb) {
long[] array = new long[nb];
array[0]=1;
Son son = new Son(array);
array[1]=2;
son.start();
int from=0;
while(from<array.length){
int to=son.getIndex();
for(int i=from;i<=to;i++){
System.
out.
print(" "+array
[i
]); }
from=to+1;
}
}
{
new Fibo(80);
}
private long[] array;
private int index;
Son(long[] array){
this.array=array;
index=2;
}
int getIndex(){
return index;
}
public void run() {
for(int i=2;i<array.length;i++){
array[i]=array[i-2]+array[i-1];
index=i;
}
}
}
}
// your code goes here
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KLy9jbGFzcyBJZGVvbmUKLy97CmNsYXNzIEZpYm8gewogICAgRmlibyhpbnQgbmIpIHsKICAgICAgICBsb25nW10gYXJyYXkgPSBuZXcgbG9uZ1tuYl07CiAgICAgICAgYXJyYXlbMF09MTsKICAgICAgICBTb24gc29uID0gbmV3IFNvbihhcnJheSk7CiAgICAgICAgYXJyYXlbMV09MjsKICAgICAgICBzb24uc3RhcnQoKTsKICAgICAgICBpbnQgZnJvbT0wOwogICAgICAgIHdoaWxlKGZyb208YXJyYXkubGVuZ3RoKXsKICAgICAgICAgICAgaW50IHRvPXNvbi5nZXRJbmRleCgpOwogICAgICAgICAgICBmb3IoaW50IGk9ZnJvbTtpPD10bztpKyspewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiICIrYXJyYXlbaV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgICAgICAgICBmcm9tPXRvKzE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJbmV3IEZpYm8oODApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBjbGFzcyBTb24gZXh0ZW5kcyBUaHJlYWR7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaXZhdGUgbG9uZ1tdIGFycmF5OwogICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIGludCBpbmRleDsKICAgICAgICAgICAgICAgICAgICAgICAgU29uKGxvbmdbXSBhcnJheSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycmF5PWFycmF5OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9MjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBnZXRJbmRleCgpeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyB2b2lkIHJ1bigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGludCBpPTI7aTxhcnJheS5sZW5ndGg7aSsrKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5W2ldPWFycmF5W2ktMl0rYXJyYXlbaS0xXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PWk7CiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgfQp9CgoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUK