Hide

Problem I
Triolingo Push

Languages en sv

Trio från Triolingo vill påminna dig om att ta dina dagliga programmeringslektioner!

/problems/triolingopush/file/statement/sv/img-0001.JPG
cc by-s

För att Trio ska se till att lektionen verkligen blir genomförd, skickar Trio flera notifikationer enligt följande ökande mönster:

Den första dagen skickar Trio 1 notifikation. Den andra dagen skickar Trio 2 notifikationer. Sedan för varje dag som går efter den andra dagen, skickar Trio antalet notifikationer dagen innan adderat med antalet notifikationer Trio skickade 2 dagar innan, adderat med 1 extra notifikation. Man kan även beskriva antalet notifikationer för en specifik dag med följande funktion:

f(1)=1,f(2)=2,f(N)=f(N1)+f(N2)+1.

För en specifik dag N, kommer Trio att skicka ut f(N) notiser.

Hur många notifikationer skickar Trio vid dag nummer N? För att garantera att antalet notifikationer ska få plats på skärmen, skriv ut heltalet modulo 109+7.

Indata

Indatan består av endast en rad med ett heltal, N, dagen som Trio skickar notifikationer.

Utdata

Skriv ett heltal - Antalet notifikationer som Trio skickar dag N modulo 109+7.

Poängsättning

Din lösning kommer att testas på ett antal testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poängvärde

Gränser

1

20

1N3

2

20

1N25

3

60

1N106

4

1

1N1018

Sample Input 1 Sample Output 1
1
1
Sample Input 2 Sample Output 2
4
7
Sample Input 3 Sample Output 3
5
12
Hide