using System;
public class Test
{
static void DoNothingWith(int n) {}
static int FibR(int n) {
var result = (n < 2)? n : Fib(n - 1) + Fib(n - 2);
DoNothingWith(result);
return result;
}
static int Fib(int x) {
if (x == 0) return 0;
int prev = 0;
int next = 1;
for (int i = 1; i < x; i++)
{
int sum = prev + next;
prev = next;
next = sum;
}
return next;
}
public static void Main()
{
Console.Write(FibR(2000000000));
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJc3RhdGljIHZvaWQgRG9Ob3RoaW5nV2l0aChpbnQgbikge30KCXN0YXRpYyBpbnQgRmliUihpbnQgbikgewogICAgdmFyIHJlc3VsdCA9IChuIDwgMik/IG4gOiBGaWIobiAtIDEpICsgRmliKG4gLSAyKTsKICAgIERvTm90aGluZ1dpdGgocmVzdWx0KTsKICAgIHJldHVybiByZXN1bHQ7Cn0KCQoJc3RhdGljIGludCBGaWIoaW50IHgpIHsKICAgIGlmICh4ID09IDApIHJldHVybiAwOwoKICAgIGludCBwcmV2ID0gMDsKICAgIGludCBuZXh0ID0gMTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgeDsgaSsrKQogICAgewogICAgICAgIGludCBzdW0gPSBwcmV2ICsgbmV4dDsKICAgICAgICBwcmV2ID0gbmV4dDsKICAgICAgICBuZXh0ID0gc3VtOwogICAgfQogICAgcmV0dXJuIG5leHQ7Cn0KCQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCUNvbnNvbGUuV3JpdGUoRmliUigyMDAwMDAwMDAwKSk7Cgl9Cn0=