Condividi il cioccolato

Attenzione: Questo task ha un tempo limite di 10 minuti per l'invio della soluzione. Una volta richiesto un input, il timer partirà in automatico, e dopo la scadenza non sarà più possibile inviare una soluzione per quell'input. È sempre possibile richiedere un nuovo input, per cui non preoccuparti se il timer scade: dovrai semplicemente richiedere e scaricare un nuovo input.

Per aiutarti con questo task, abbiamo preparato delle tracce di soluzione, che includono solo le parti di lettura dell'input e scrittura dell'output (da tastiera e su schermo). Puoi decidere se leggere/scrivere su file decommentando le opportune righe di codice.

Descrizione del problema

Lorenzo adora il cioccolato, e allora si è comprato una tavoletta di cioccolato fatta di N×MN \times M quadratini. Anche i KK suoi compagni di classe vorrebbero mangiare il cioccolato, e Lorenzo è troppo buono per non dargliene! Quindi per KK volte spezza la tavoletta in due parti rettangolari, non necessariamente uguali, e dà una delle due ad uno dei suoi KK compagni tenendo infine l'ultimo pezzo per sè.

"La tavoletta di Lorenzo"

La tavoletta può essere spezzata solo lungo i bordi dei quadratini, in orizzontale o verticale, in modo tale da non dividere nessun quadratino in due. Inoltre una volta spezzata una parte, quella viene subito presa e mangiata da un amico senza dargli la possibilità di spezzarla ulteriormente. Lorenzo vorrebbe sapere come spezzare la tavoletta KK volte in modo che gli rimangano il maggior numero possibile di quadratini, sai aiutarlo a capire quanti quadratini di cioccolato terrà alla fine per se?

Formato di input

La prima riga del file di input contiene un intero TT, il numero di casi di test. Seguono TT casi di test, numerati da 11 a TT. Ogni caso di test è preceduto da una riga vuota.

Ogni caso di test è composto come segue:

  • una riga contenente i tre interi a 64 bit NN, MM, KK.

Formato di output

Il file di output deve contenere la risposta ai casi di test che sei riuscito a risolvere. Per ogni caso di test che hai risolto, il file di output deve contenere una riga con la dicitura

"Case #test: risposta"

dove test\mathtt{test} è il numero del caso di test (a partire da 11) e l'intero a 64 bit risposta\mathtt{risposta} è il numero di cioccolatini che rimangono a Lorenzo.

Assunzioni

  • T=10T = 10, nei file di input che scaricherai saranno presenti esattamente 1010 casi di test.
  • 1≤N,M≤10121 \le N, M \le 10^{12}.
  • nei primi 88 subtask 1≤N,M≤1091 \le N, M \le 10^9.
  • N+M>2N + M > 2
  • 1≤K≤(N+M−2)1 \le K \le (N + M - 2).
  • è garantito che la risposta sia minore di 101810^{18}.

Esempi di input/output


Input:

2

3 2 1

4 6 3

Output:

Case #1: 4
Case #2: 12

Spiegazione

Nel primo caso d'esempio, Lorenzo può spezzare la tavoletta in due pezzi: uno di dimensione 1×21 \times 2 e uno di dimensione 2×22 \times 2. Tiene quindi per sè il secondo pezzo formato da 44 quadratini.

"Primo esempio"

Nel secondo caso d'esempio, Lorenzo può:

  • spezzare la tavoletta in due pezzi: uno di dimensione 4×14 \times 1 e uno di dimensione 4×54 \times 5 e consegnare al primo compagno il primo pezzo.
  • spezzare il pezzo 4×54 \times 5 in due pezzi: uno di dimensione 4×14 \times 1 e uno di dimensione 4×44 \times 4 e consegnare al secondo compagno il primo pezzo.
  • spezzare il pezzo 4×44 \times 4 in due pezzi: uno di dimensione 3×43 \times 4 e uno di dimensione 1×41 \times 4 e consegnare al terzo compagno il secondo pezzo.

Alla fine, il numero di quadratini che rimangono a Lorenzo è 3×4=123 \times 4 = 12.

"Secondo esempio"

Invia soluzione

Accedi per inviare soluzioni
Accedi