Mucche ginnaste#10416

Mucche ginnaste

1 secondo
128 megabyte
Facile

Stanche della vita in fattoria, le mucche hanno venduto tutti i loro averi e si sono unite alla compagnia di un circo itinerante. Fino ad ora alle mucche erano stati assegnati numeri semplici: giocoleria con le torce, cammino sulla fune, ciclismo su monociclo — niente che una mucca agile non potesse gestire. Tuttavia, il direttore del circo vuole mettere in scena per il prossimo spettacolo un numero molto più spettacolare.

Il palco per il nuovo numero è composto da piattaforme disposte in cerchio. Su ciascuna piattaforma, da a mucche devono formare una torre, salendo una sopra l'altra. Al segnale del direttore, tutte le torri devono cadere simultaneamente in senso orario: la mucca più in basso nella torre rimane al suo posto, la mucca sopra di lei si sposta di una piattaforma in senso orario, la mucca successiva — di due piattaforme in senso orario e così via. Essendo ginnaste esperte, le mucche sono sicure di riuscire a gestire l'aspetto tecnico del numero. Cadendo, le torri non si ostacolano a vicenda, quindi ogni mucca atterra sulla piattaforma a lei destinata. Tutte le mucche che atterrano sulla stessa piattaforma formano una nuova torre, che non cade più.

Il direttore ritiene che il numero sarà particolarmente spettacolare se, dopo la caduta, la nuova torre su ciascuna piattaforma conterrà lo stesso numero di mucche che si trovava nella torre originale su quella piattaforma. Chiamiamo magica una configurazione delle altezze delle torri se soddisfa questa condizione. Aiutate le mucche a contare il numero di configurazioni magiche. Poiché questo numero può essere molto grande, stampatelo modulo 10^9 + 7.

Due configurazioni sono considerate diverse se almeno su una piattaforma il numero di mucche è diverso.

Input

Un numero intero n~(1 \le n \le 10^{12}).

Output

Stampate un numero intero — il numero di configurazioni magiche modulo 10^9 + 7.

Esempi

Per n = 4 le configurazioni magiche sono (1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3), (4, 4, 4, 4), (2, 3, 2, 3) e (3, 2, 3, 2).

Esempio 1

Loading
Loading