Schiva la tua morte!


13

introduzione

"Muhuhuhahahah!" Lo scienziato pazzo ride. "Sei intrappolato nel mio piccolo gioco!"

Di fronte a te c'è una mortale fossa di serpenti, mentre dietro di te c'è un abisso senza fondo. Non c'è via d'uscita, sei bloccato!

"Due gradini davanti a te sono la fossa dei serpenti e due gradini dietro di te sono l'abisso. Ma! Prima di muoverti, DEVI scrivere una sequenza di passi, avanti e indietro, e darmeli. Ma! Perché io Mi sento un po ' male oggi, posso farti fare, invece di ogni passo, ogni npasso, dove nè inferiore alla lunghezza della sequenza!

Scegli saggiamente, ora. "

Qual è il numero massimo di passi che puoi fare prima della tua morte imminente?

Compito

L'introduzione sopra è una svolta alla congettura della discrepanza di Erdő , che è stata recentemente dimostrata vera (se vuoi capire di più su questo, vai a questo video , di James Grime - Gli ho "rubato" la domanda di svolta).

La risposta all'introduzione sono i 11passaggi, ma non andrò troppo in profondità con una prova. La risposta, se la distanza tra te e i due "pericoli" erano 3passi, sono 1160passi, anche se questo non è ancora validato correttamente.

Il tuo compito è creare un programma che generi la sequenza più lunga di passaggi che puoi ottenere per un numero maggiore x, dove si xtrova il numero di passaggi tra te e i due "pericoli". Il tuo programma deve prendere un input xe produrre una sequenza valida per quello x.

Ai fini di questa sfida, +rappresenta un passo avanti e -rappresenta un passo indietro.

Quindi, un output per un input 2è:

+--+-++--++

Che funziona, qualunque cosa nscelga lo scienziato pazzo. Per la nostra sfida, x = 5.

NOTA: questa sfida non è un inganno di questa sfida o di questa sfida , poiché la mia sfida si concentra sull'output, al contrario del codice stesso - in altre parole, non è una sfida di golf del codice. Inoltre, queste sfide sono basate su x = 3, che ha già un limite superiore stabilito.

Regole:

  • L'intero programma dovrebbe adattarsi alla tua risposta. Tuttavia, se non si adatta, si prega di fornire un repository Github aggiuntivo o qualcosa di simile.
  • Puoi aggiornare sia la tua risposta che il tuo programma, se riesci a ottenere un punteggio migliore ottimizzando il tuo codice, ma in tal modo, devi aggiornare tutto nell'elenco seguente.
  • Nella tua risposta, devi avere:
    • Il tuo programma, nella sua interezza, o un collegamento a un repository GH che ospita il tuo codice
    • La quantità di passaggi generati: questo sarà il tuo punteggio finale .
      • È inoltre necessario fornire una versione online della sequenza in un Pastebin o qualcosa di simile. Questo è così possiamo controllare la tua risposta.
    • L'ultima volta che il tuo punteggio finale è stato aggiornato l'ultima volta, quindi non devo controllare la tua cronologia
  • Non è possibile codificare anticipatamente sequenze hardcode.
  • Il tuo programma deve funzionare per tuttix (dov'è xil numero di passaggi tra te e il pozzo e l'abisso), ma devi solo fornire il punteggio per x = 5.

Vince la risposta con il punteggio più alto!


Solo per verificare la mia comprensione, hai bisogno di una sequenza in cui anche se prendessi tutti gli altri, o ogni terzo elemento, sopravvivi?
Notts90 supporta Monica il

1
@ Notts90 Yup - però non deve funzionare solo per quello. Deve funzionare se hai fatto ogni npasso, dove nc'è un numero sotto la dimensione della sequenza.
clismique,

Molto strettamente correlati . (L'ho chiamato come un potenziale duplicato nella sandbox; mi sarei quindi aspettato che il testo della sfida almeno ne discutesse.)

Penso che questa sfida sia impossibile, praticamente parlando. Trovare la lunghezza massima della discrepanza x=5richiederebbe un importante passo avanti che sarebbe degno di pubblicazione. Considera che il massimo di 1160 per è x=3stato provato e pubblicato nel 2014 e non sono noti altri valori. .
xnor

0 è una N corretta?
tuskiomi,

Risposte:


6

Ruggine, punteggio = 4997216, tempo = 2017-07-12 00:18 UTC

Ciò migliora il miglior risultato che sono riuscito a trovare in letteratura, che era 1148805 (Ronan Le Bras, Carla P. Gomes, Bart Selman, On the Erdős Discrepancy Problem , 2014), di un fattore di 4,3.

Sequenza di output di lunghezza 4997216

Codice sorgente su GitHub

In esecuzione

Il programma accetta la massima discrepanza come argomento (questo è x - 1 nella lingua della sfida, per allinearsi con la convenzione matematica più comune). Produce output incrementali in un formato leggermente compresso che assomiglia a questo per x = 3:

$ cargo run --release 2
add +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-+
length 90
delete 12
add --++--+-++-++--+-++--+--+-++--+-
length 110
delete 4
add +-+--+-++-++--+-++--+--+-++-++--+-++-+
length 144
delete 6
add --++-++--+-++--+--++++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-+-
length 214
delete 208
add --+++--+++--+-+--+++--+-+--+++--++---+-+--+-+-++-+--+++--+++--+---++-+--+-++-+++---++--+-++-++--++--+--++--+++--+-+-++-+--+-+--+++---+++-+----+++--+-++--++-+-++--+-+--+-+-++-+--+++--++--+--+--+-++-++---++-++-++-+--+-++
length 224
delete 2
add -+++--+-+--+++---++--+--
length 246
done

dove addsignifica aggiungere una sequenza di segni alla fine della sequenza corrente, deletesignifica rimuovere un certo numero di segni dalla fine della sequenza corrente e lengthafferma la lunghezza della sequenza corrente. Questo schema evita la produzione di molti gigabyte di risultati intermedi man mano che vengono scoperte sequenze sempre più lunghe. Finora puoi estrarre il miglior risultato con il seguente programma Python:

import sys
s = ''
for line in sys.stdin:
    cmd = line.split()
    if cmd[0] == 'delete': s = s[:-int(cmd[1])]
    elif cmd[0] == 'add': s += cmd[1]
    elif cmd[0] == 'length': assert len(s) == int(cmd[1])
print(s)

Come funziona

Ci sono circa un migliaio di righe di codice qui, quindi questa sarà solo una panoramica molto approssimativa.

Limitiamo la ricerca a sequenze completamente moltiplicative (quelle con f ( a · b ) = f ( a ) · f ( b )), poiché ciò significa che dobbiamo limitarci a limitare le somme parziali per n = 1 e il parziale le somme per n ≥ 2 soddisfano automaticamente lo stesso limite.

Per qualsiasi sottostringa f ( i + 1),…, f ( j ) di una sequenza di segni parzialmente assegnata (quindi ogni elemento è '+', '-' o sconosciuto), definire il pericolo + ( i , j ) essere doppio il numero di s '+' meno la lunghezza j - i (per comodità, ci permetto io di essere il più piccolo - x + 2 e presumo F (- x + 3) = ⋯ = f (0) = '+' per questo scopo). Definire il pericolo - ( i , j ) in modo simile. Quindi il limite delle somme parziali per n= 1 equivale alla condizione che ogni volta che ijx (mod 2), il pericolo + ( i , j ) ≤ x - 2 e il pericolo - ( i , j ) ≤ x - 2.

Costruiamo una struttura di dati incrementale che supporta query temporali costanti per la sottostringa con il pericolo maggiore, con aggiornamenti logaritmici del tempo. Funziona associando quattro valori:

  • pericolo ( i , j ),
  • max ikj pericolo ( i , k ),
  • max ikj pericolo ( k , j ) e
  • max iklj pericolo ( k , l ),

con ogni stringa di lunghezza 2, ogni altra stringa di lunghezza 4, ogni quarta stringa di lunghezza 8 e così via. I valori associati a una stringa più lunga possono essere calcolati in tempo costante dai valori associati alle sue due metà.

Questa struttura, arricchita con alcune informazioni ausiliarie, ci consente di eseguire molto rapidamente la propagazione dei vincoli e il rilevamento dei conflitti su sequenze parziali. Lo usiamo per fare una ricerca simile a CDCL , con propagazione di unità, livelli di decisione e backtracking non cronologico (ma per ora senza apprendimento di clausole), per sequenze complete di lunghezze sempre più lunghe.

Ad ogni passaggio della ricerca, facciamo un'ipotesi del primo segno non assegnato. L'euristico usato per fare questa ipotesi è molto importante per evitare molti backtracking; usiamo f (3 · k ) = - f ( k ), f (3 · k + 1) = '+', f (3 · k + 2) = '-'.

risultati

Le ricerche di discrepanza 0, 1 e 2 trovano immediatamente le sequenze ottimali completamente moltiplicative di lunghezza 0, 9 e 246.

La ricerca della discrepanza 3 si blocca in pochi secondi a 41319, che è piuttosto lontana dalla nota sequenza completamente moltiplicativa ottimale della lunghezza 127645 trovata da Le Bras et al., 2014 (e un'estensione non moltiplicativa leggermente più lunga della lunghezza 130000 trovata poco dopo ), ma molto meglio della sequenza più nota prima di quella della lunghezza 17000 .

La ricerca della discrepanza 4 migliora la sequenza più lunga più o meno continuamente per circa cinque minuti fino a quando non si blocca a 4997216. La sequenza di lunghezza 1148805 = 9 · 127645 più precedentemente nota è stata ampliata dalla sequenza della discrepanza 3 sostituendo ogni segno s con + - - + - ++ - s . Per quanto ne so, le sequenze così lunghe sono troppo difficili per un risolutore generale di SAT per migliorare ragionevolmente direttamente (ma forse tu, caro lettore, puoi dimostrarmi che mi sbaglio!).

Mi aspetto che dovrò aggiungere una sorta di clausola di apprendimento al mio programma per superare queste barriere.

La sequenza come bitmap 2187 × 2285

(Fare clic per visualizzare alla massima risoluzione.)

la sequenza come bitmap 2187 × 2285


127465 è per sequenze completamente moltiplicative, giusto?
CalcolatriceFeline

"Apprendimento delle clausole"?
CalcolatriceFeline

Guarda l' apprendimento delle clausole guidate dai conflitti: è così che funzionano i moderni solutori di SAT.
Anders Kaseorg,

3

Haskell , punteggio = 9020, tempo = 2017-06-09 00:52 UTC

f 1=""
f n="+-"++do c<-f(n-1)++"-";"-+-++-"++c:"+-"

Provalo online!

Questo punteggio (9 n - 1 - 1) ⋅11 / 8 per tutti i n . Ecco le prime uscite:

n=1, length=0: 
n=2, length=11: +--+-++--+-
n=3, length=110: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
n=4, length=1001: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
n=5, length=9020: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.