Top 20

1 0x00h 686 pts
2 boris39 686 pts
3 thefinder 686 pts
4 neoxquick 667 pts
5 maf-ia 649 pts
6 eax 648 pts
7 nikokks 605 pts
8 benito255 596 pts
9 mego 579 pts
10 madbat2 570 pts
11 plucth 553 pts
12 Mart 540 pts
13 rostale 540 pts
14 Stupefy 521 pts
15 tehron 505 pts
16 LouisJ 492 pts
17 Kithyane 489 pts
18 egosum 464 pts
19 malose 419 pts
20 CoYoTe99 408 pts

Classement complet

Shoutbox

8 Oct - 10:01 am

Salut nikokks Ce problème n'est pas évident en effet. Une manière de faire est de trouver les formes les plus simples, et de les "effacer" de l'image avant de chercher les formes plus complexes ;)

4 Oct - 11:56 am

Salut a tous =) , je bug sur le problème 28 (forme analysis). Quelqu'un aurait il une piste ?

29 Sep - 5:38 pm

Coucou oui, tu peux m'envoyer un mail si tu veux. Le plus simple, ce serait d'avoir un package pour python 3. J'ai essayé et ça n'a pas marché!

17 Sep - 11:51 am

Salut thefinder, ça faisait longtemps ! Oula ça en fait des problèmes :'( Le premier challenge ? La somme de deux nombres ?

23 Jul - 2:13 am

Coucou, j'ai essayé de reprendre avec python. J'ai plusieurs soucis. 1) Il faut rajouter headers={'Content-Type': 'application/x-www-form-urlencoded'} avec un requests.session(). 2) Je n'ai pas réponse du serveur si je soumet une réponse au premier challenge. J'essaye finir en python les 3 dernières épreuves qui me reste. :)

6 Nov - 8:17 am

Bonjour, un léger problème sur l'épreuve 10 : Une fois réussie, le champ "points earned" indique 72 au lieu de 7 En revanche sur le site le nombre de points comptabilisés est bien 7 Merci pour ce site génial !

21 Oct - 9:48 pm

Équation du challenge 52 corrigée, merci

16 Oct - 8:43 am

Bonjour, il y a aussi un problème d'affichage "invalid equation" dans le challenge 52. Merci

14 Oct - 8:57 pm

Barbapapou l'équation du challenge 29 a été corrigée

4 Oct - 10:30 am

Bonjour, il y a un problème avec l'affichage d'une équation dans le challenge 29

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Forum

You are not logged in.

#26 2014-05-05 12:23:25

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

@neoxquick : I will post my answer to you soon

@thefinder :
Bon j'ai enfin trouvé le problème après analyse plutôt longue ^^. Le problème c'est que tu envoies tes données telles qu'elles (tes solutions sont systématiquement correctes au passage). Imagine que ton résultat binaire contient le caractère '&', eh bien le serveur http, il va l'interpréter comme la fin des données, et prendre la suite comme le début d'un nom de paramètre.
Par exemple,



va donner txt_compresse=blablablabla et la suite va être abandonnée (sauf si un caractère '=' arrive après auquel cas il va créer un nouvelle variable).
La solution à ce problème, est d'encoder l'url (& devient %26 par exemple). Tu peux regarder comment je le fais dans la lib microcontest C/C++. C'est vraiment nécessaire dès que tu as besoin de poster des données binaires à un site.

Pour info : .
Du coup si tu modifies ta lib de connexion C# pour supporter l'encodage d'url, tu pourras me la renvoyer à ce moment là stp smile ?

Offline

#27 2014-05-05 13:53:07

thefinder
Member
Registered: 2013-12-31
Posts: 39

Re: Compression II

Ho très bien vu Metatr0n! Merci pour avoir pris le temps de le faire.
Je corrige cela et je pense que je peux améliorer ma bibli car j'ai regardé ce que tu as fait en c++ et c'est très costaud par rapport à ma bibli "amateur" que je t'ai envoyé.

Last edited by thefinder (2014-05-05 13:53:52)

Offline

#28 2014-05-05 14:06:36

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

L'avantage du C# c'est que tout ou presque est déjà fait xd. Cadeau :

string url = HttpUtility.UrlEncode("http://www.microcontest.com/contests/34/validation.php?txt_compresse=blablablabla&blablablalba");

Ouais notre lib C++ est plutôt béton maintenant mais on est passé par pas mal de versions avant d'en arriver là ^^. Et encore il reste 1 ou 2 bug mineurs dont il faut que je m'occupe

Offline

#29 2014-05-05 16:05:39

thefinder
Member
Registered: 2013-12-31
Posts: 39

Re: Compression II

"string url = HttpUtility.UrlEncode("http://www.microcontest.com/contests/34/validation.php?txt_compresse=blablablabla&blablablalba");"
Faux malheureusement tu ne peux pas faire comme ça.
Car cela fonctionne que si tu as un string avec des chars ASCII or le texte compresse est une liste de bytes qui ont des chars non ASCII.
En faites, le problème se pose au passage entre les bytes et le string (je n'ai jamais réussi à trouver un bon encodage et je ne pense pas que cela soit possible).
Donc, j'ai du codé qqch. proche de ta lib C++.
Je t'envoie ma nouvelle lib un peu plus tard.

Offline

#30 2014-05-05 17:47:00

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

Ah d'accord, bon à savoir !

Offline

#31 2014-05-09 16:56:05

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

neoxquick
I think I know what is the problem. I think it is the '\0' that you append at the end of the input string.
Why do you do that by the way ?

edit: I'm sure this is the problem.

Offline

#32 2014-05-10 17:22:10

neoxquick
Member
Registered: 2014-01-27
Posts: 22

Re: Compression II

Using the null character as the end of file marker, and using s[i:] + s[:i] to construct the ith rotation of s, the forward transform takes the last character of each of the sorted rows.

There is no need to have an actual 'EOF' character. Instead, a pointer can be used that remembers where in a string the 'EOF' would be if it existed. In this approach, the output of the BWT must include both the transformed string, and the final value of the pointer. That means the BWT does expand its input slightly. The inverse transform then shrinks it back down to the original size: it is given a string and a pointer, and returns just a string.

there is no pointers in python like in C.. (main reason)

but i think i fixied the code now.. using it without suffix
i thought i had to use suffix... since most of the text i read was using it.. as EOF pointer..
sorry i am bad coder... just trying to do the best on challs..

great challs just finished:)

bye N

Last edited by neoxquick (2014-05-11 10:03:31)

Offline

#33 2014-07-15 15:52:16

mego
New member
Registered: 2014-07-10
Posts: 5

Re: Compression II

Does this challenge work with the java library? My sanity check works but I feel something goes wrong on the submission site.
Decompression works for sure, because I can read the resulting text.

I guess it would be easier if we could just submit base64..

Offline

#34 2014-07-29 13:23:50

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

Hi mego, sorry for the late answer.
I totally agree with the base64 solution, it's a shame we didnt think of it...
I checked your submissions, and clearly the compressed part is wrong. It looks like it is an encoding problem.
I need confirmation but I'm 90% sure the Java lib works, if I remember well, tehron solved this challenge with it.

Offline

#35 2014-07-29 15:43:28

mego
New member
Registered: 2014-07-10
Posts: 5

Re: Compression II

Ok, good to know.

If I used the library then the post data is encoded using %, i.e.

0000028F  74 78 74 5f 63 6f 6d 70  72 65 73 73 65 3d 25 43 txt_comp resse=%C
0000029F  33 25 41 44 25 43 33 25  39 37 25 43 32 25 41 46 3%AD%C3% 97%C2%AF
000002AF  25 43 33 25 42 38 25 43  33 25 38 39 25 43 33 25 %C3%B8%C 3%89%C3%
etc..

As you can see this is UTF-8 encoding followed by URL encoding.
However, when I receive data from the site it gives me the raw data (no % and no UTF-8).

Should I use the same encoding? If so, then the Java library won't work.

Offline

#36 2014-07-31 21:38:53

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

no no it's normal. You should receive raw data from the website, and you should send url encoded data in your answer.
I'm quite confident that the library works.
Can you send me the full url encoded string (%C3%AD%C3% 97%C2%AF...) of an attempt please ?

Offline

#37 2014-08-01 10:01:45

mego
New member
Registered: 2014-07-10
Posts: 5

Re: Compression II

Sure, here is an example.
Note there are two trailing spaces in the request.
Only one null-bit was added to the end.

The URL encoding is using UTF-8 (as specified in the library). So, for the first byte
11101101 => 0xED => 0xC3 0xAD => %C3%AD

Request:

QUE  SOUS LUI  LE PUISARD  LE BOUGNOU PROFOND DE DIX METRES   S EMPLISSAIT   DEJA  L EAU JAILLISSAIT DU PLANCHER  DEBORDAIT SUR LES  DALLES DE FONTE   ET C ETAIT UNE PREUVE QUE LA POMPE NE SUFFISAIT  PLUS A EPUISER LES FUITES  IL L ENTENDAIT S ESSOUFFLER  AVEC UN  HOQUET DE FATIGUE  ALORS  IL AVERTIT DANSAERT  QUI JURA DE COLERE   EN REPONDANT QU IL FALLAIT ATTENDRE L INGENIEUR  DEUX FOIS  IL REVINT A LA CHARGE  SANS TIRER DE LUI AUTRE CHOSE  QUE DES HAUSSEMENTS D EPAULES EXASPERES  EH BIEN   L EAU  MONTAIT  QUE POUVAIT IL Y FAIRE   MOUQUE PARUT AVEC BATAILLE  QU IL CONDUISAIT A LA CORVEE   ET  IL DUT LE TENIR DES DEUX MAINS  LE VIEUX CHEVAL SOMNOLENT S ETAIT  BRUSQUEMENT CABRE  LA TETE ALLONGEE VERS LE PUITS  HENNISSANT A LA  MORT    QUOI DONC  PHILOSOPHE   QU EST CE QUI T INQUIETE    AH    C EST PARCE QU IL PLEUT  VIENS DONC   A NE TE REGARDE PAS  MAIS LA BETE FRISSONNAIT DE TOUT SON POIL  IL LA TRA NA DE FORCE  AU ROULAGE  PRESQUE AU MEME INSTANT  COMME MOUQUE ET BATAILLE  DISPARAISSAIENT AU FOND D UNE GALERIE  UN CRAQUEMENT EUT LIEU EN  L AIR  SUIVI D UN VACARME PROLONGE DE CHUTE  C ETAIT UNE PIECE DU         CUVELAGE QUI SE DETACHAIT  QUI TOMBAIT DE CENT QUATRE VINGTS  METRES  EN REBONDISSANT CONTRE LES PAROIS  PIERRON ET LES AUTRES  CHARGEURS PURENT SE GARER  LA PLANCHE DE CHENE BROYA SEULEMENT  UNE BERLINE VIDE  EN MEME TEMPS  UN PAQUET D EAU  LE FLOT  JAILLISSANT D UNE DIGUE CREVEE  RUISSELAIT  DANSAERT VOULUT MONTER  VOIR   MAIS IL PARLAIT ENCORE  QU UNE SECONDE PIECE DEBOULA  ET   DEVANT LA CATASTROPHE MENA ANTE  EFFARE  IL N HESITA PLUS  IL  DONNA L ORDRE DE LA REMONTE  LAN A DES PORIONS POUR AVERTIR LES  HOMMES  DANS LES CHANTIERS  ALORS  COMMEN A UNE EFFROYABLE BOUSCULADE  DE CHAQUE  GALERIE  DES FILES D OUVRIERS ARRIVAIENT AU GALOP  SE RUAIENT A  L ASSAUT DES CAGES  ON S ECRASAIT  ON SE TUAIT POUR ETRE REMONTE  TOUT DE SUITE  QUELQUES UNS  QUI AVAIENT EU L IDEE DE PRENDRE LE  GOYOT DES ECHELLES  REDESCENDIRENT EN CRIANT QUE LE PASSAGE Y  ETAIT BOUCHE DEJA  C ETAIT L EPOUVANTE DE TOUS  APRES CHAQUE  DEPART D UNE CAGE   CELLE LA VENAIT DE PASSER  MAIS QUI SAVAIT SI LA  SUIVANTE PASSERAIT ENCORE  AU MILIEU DES OBSTACLES DONT LE PUITS  S OBSTRUAIT   EN HAUT  LA DEBACLE DEVAIT CONTINUER  ON ENTENDAIT  UNE SERIE DE SOURDES DETONATIONS  LES BOIS QUI SE FENDAIENT  QUI  ECLATAIENT DANS LE GRONDEMENT CONTINU ET CROISSANT DE L AVERSE   UNE CAGE BIENT T FUT HORS D USAGE  DEFONCEE  NE GLISSANT PLUS  ENTRE LES GUIDES  ROMPUES SANS DOUTE  L AUTRE FROTTAIT TELLEMENT   QUE LE CABLE ALLAIT CASSER BIEN SUR  ET IL RESTAIT UNE CENTAINE  D HOMMES A SORTIR  TOUS RALAIENT  SE CRAMPONNAIENT   ENSANGLANTES  NOYES  DEUX FURENT TUES PAR DES CHUTES DE  PLANCHES  UN TROISIEME  QUI AVAIT EMPOIGNE LA CAGE  RETOMBA DE  CINQUANTE METRES ET DISPARUT DANS LE BOUGNOU  DANSAERT  CEPENDANT  TACHAIT DE METTRE DE L ORDRE  ARME  D UNE RIVELAINE  IL MENA AIT D OUVRIR LE CRANE AU PREMIER QUI  N OBEIRAIT PAS   ET IL VOULAIT LES RANGER A LA FILE  IL CRIAIT QUE LES  CHARGEURS SORTIRAIENT LES DERNIERS  APRES AVOIR EMBALLE LES  CAMARADES  ON NE L ECOUTAIT PAS  IL AVAIT EMPECHE PIERRON  LACHE  ET BLEME  DE FILER UN DES PREMIERS    CHAQUE DEPART  IL DEVAIT  L ECARTER D UNE GIFLE  MAIS LUI MEME CLAQUAIT DES DENTS  UNE         MINUTE DE PLUS  ET IL ETAIT ENGLOUTI   TOUT CREVAIT LA HAUT  C ETAIT  UN FLEUVE DEBORDE  UNE PLUIE MEURTRIERE DE CHARPENTES   QUELQUES OUVRIERS ACCOURAIENT ENCORE  LORSQUE  FOU DE PEUR  IL  SAUTA DANS UNE BERLINE  EN LAISSANT PIERRON Y SAUTER DERRIERE LUI   LA CAGE MONTA    CE MOMENT  L EQUIPE D  TIENNE ET DE CHAVAL DEBOUCHAIT  DANS L ACCROCHAGE  ILS VIRENT LA CAGE DISPARA TRE  ILS SE  PRECIPITERENT   MAIS IL LEUR FALLUT RECULER  SOUS L ECROULEMENT  FINAL DU CUVELAGE   LE PUITS SE BOUCHAIT  LA CAGE NE REDESCENDRAIT  PAS  CATHERINE SANGLOTAIT  CHAVAL S ETRANGLAIT A CRIER DES JURONS   ON ETAIT UNE VINGTAINE  EST CE QUE CES COCHONS DE CHEFS LES  ABANDONNERAIENT AINSI   LE PERE MOUQUE  QUI AVAIT RAMENE  BATAILLE  SANS HATE  LE TENAIT ENCORE PAR LA BRIDE  TOUS LES DEUX  STUPEFIES  LE VIEUX ET LA BETE  DEVANT LA HAUSSE RAPIDE DE  L INONDATION  L EAU DEJA MONTAIT AUX CUISSES   TIENNE MUET  LES  DENTS SERREES  SOULEVA CATHERINE ENTRE LES BRAS  ET LES VINGT  HURLAIENT  LA FACE EN L AIR  LES VINGT S ENTETAIENT  IMBECILES  A  REGARDER LE PUITS  CE TROU EBOULE QUI CRACHAIT UN FLEUVE  ET D OU  NE POUVAIT PLUS LEUR VENIR AUCUN SECOURS  AU JOUR  DANSAERT  EN DEBARQUANT  APER UT NEGREL QUI  ACCOURAIT  MME HENNEBEAU  PAR UNE FATALITE  L AVAIT  CE MATIN LA   AU SAUT DU LIT  RETENU A FEUILLETER DES CATALOGUES  POUR L ACHAT DE  LA CORBEILLE  IL ETAIT DIX HEURES    EH BIEN   QU ARRIVE T IL DONC   CRIA T IL DE LOIN    LA FOSSE EST PERDUE  REPONDIT LE MA TRE PORION  ET IL CONTA LA CATASTROPHE  EN BEGAYANT  TANDIS QUE  L INGENIEUR  INCREDULE  HAUSSAIT LES EPAULES   ALLONS DONC   EST CE  QU UN CUVELAGE SE DEMOLISSAIT COMME  A   ON EXAGERAIT  IL FALLAIT  VOIR    PERSONNE N EST RESTE AU FOND  N EST CE PAS          DANSAERT SE TROUBLAIT  NON  PERSONNE  IL L ESPERAIT DU  MOINS  POURTANT  DES OUVRIERS AVAIENT PU S ATTARDER    MAIS  NOM D UN CHIEN   DIT NEGREL  POURQUOI ETES VOUS  SORTI  ALORS   EST CE QU ON LACHE SES HOMMES   TOUT DE SUITE  IL DONNA L ORDRE DE COMPTER LES LAMPES  LE  MATIN  ON EN AVAIT DISTRIBUE TROIS CENT VINGT DEUX   ET L ON N EN  RETROUVAIT QUE DEUX CENT CINQUANTE CINQ   SEULEMENT  PLUSIEURS  OUVRIERS AVOUAIENT QUE LA LEUR ETAIT RESTEE LA BAS  TOMBEE DE LEUR  MAIN  DANS LES BOUSCULADES DE LA PANIQUE  ON TACHA DE PROCEDER  A UN APPEL  IL FUT IMPOSSIBLE D ETABLIR UN NOMBRE  EXACT   DES  MINEURS S ETAIENT SAUVES  D AUTRES N ENTENDAIENT PLUS LEUR NOM   PERSONNE NE TOMBAIT D ACCORD SUR LES CAMARADES MANQUANTS  ILS  ETAIENT PEUT ETRE VINGT  PEUT ETRE QUARANTE  ET  SEULE  UNE  CERTITUDE SE FAISAIT POUR L INGENIEUR   IL Y AVAIT DES HOMMES AU  FOND  ON DISTINGUAIT LEUR HURLEMENT  DANS LE BRUIT DES EAUX  A  TRAVERS LES CHARPENTES ECROULEES  LORSQU ON SE PENCHAIT A LA  

Response:

%C3%AD%C3%9F%C2%B3%5D%C3%A4%C2%A6%00%01%05%C2%93%C3%89%1A%0C%C2%B6%C2%8A%0D%C3%AC%C2%8AIaO%04p%24%26%C2%86%18%C3%A0%C2%8EX%C2%90r%C2%9Elg%C2%82Xg%C2%92%18%C2%A6%C2%A2-g%C2%92id%C2%83%C2%84%14A%22%0Ad%C2%A6%29%22A%0C%C2%93B%C2%86%08%11%C3%89%0CqALR%22%C2%8E%18%21%C2%8A%18%C2%91E%041+%C2%89%04J%21%C2%B2id%C2%95%14%11I%0C0G%1Cq%C3%86%C2%83j%22%C2%8E8e%C2%86%14P%C2%A0%C2%81%0D%10%C3%82%C2%82%0A%23%C2%9E4.rML%224%C3%91%C3%834%08%C3%A2%C2%82%08+%C2%A6%28%C2%A1%C2%81%0C%C3%B0B%C2%8EH%25%C2%A24%C2%B1E%1A4p%C3%83%02%19%22%C2%92%09s%C2%A2Z%C2%A0%C2%92D%C3%B0O%04P%C3%86E%14PB%C2%8A9TE%3C%C3%B3I4%C3%90IE%13%C2%A3I43E%2C%C2%88n%C2%92X%C2%90%C3%95%04I%10%15A%0C%C2%90C%0Cp%C2%A1E%14q%C3%87%04%C3%91%C3%83%240%C2%A5%C2%93%C2%8C%12H%C2%A6%5Bh%C2%8AUsM4%C2%91%21%C2%96%09d%21%C2%868a%24%C2%8A%18%10S%25q%09%24%C2%8E%09+%C2%9E%28jA%2C*%28F%21%C2%82h%09h%C2%96%19%C2%A0%C2%9A%14%C2%90%C3%81%04%0A%2C%C2%96Zf%C2%8E%28%C3%AD%C2%A6%18%C3%92O%14%C3%B0L%C2%AAKe%C2%9E%C2%A4%C2%8C%14E4%C3%B0%C3%83%01%0AHS%04p%C3%81%04P%40G%1C%11%C3%81%11%14P+%10-%C2%92H%22A%0A%08d%C2%81%0CPC%029%C3%A1G%04%C2%B2C%14%11D%C2%86%C2%94D%C3%8A%C2%A3M%1C2%C3%8B%1C%C2%B2Ol%C2%B2M%24PQ%14QE%06%14%C3%82%C2%BA%C2%B9e%C2%81%1C%10%40%C2%AA%040%21%C2%9E%28%C3%A0%C2%8E%28b%C2%85%1C%12%C3%87%24%C2%92E%24P%2B%C2%9A5Q%C2%A5%C2%82%24%10CT%C3%B1%C3%8D%040A%2C3%C3%85%0C%10%C3%8F%0C%C3%B0%C2%A0%C2%82%041%C3%83%14%C2%91%C3%8F%3C%C2%B3M%042%21%C2%9E%28%C2%90+%C2%8EH%21%C2%82%29%24%C2%82%C2%98d%C2%89%1C%C2%91%C3%80%C2%82%C2%98%08%C3%A8%C2%86%19a%C2%85%042%C3%80%C2%A6i+%C2%96%C2%84%C2%91%40%C2%96%01%08A%12id%C2%8E%19%C3%A3%C2%A6%04Q%C3%8B%02%7Bg%C2%8E2%18%11%C3%81%0C%C2%90%C2%85%C2%92CD%11%C2%A6%C2%86t5%40%C2%96%C2%B9k%C2%92%02i%23%C2%AE%C3%AA%C3%A9O%09%1A%09%26%C2%99%15vG%04Ib%C2%85%2C%C2%94%C3%91%24%C2%93%40C%04%C2%A8f%C2%86%09%C3%A3%C2%8E%19%C3%A4%C2%8A%C3%88a%C2%A2%0Ai%C2%84S%1C0A%04%04%10C%00%C2%92%04%10%C3%85%14%10A%00%C2%82%08%C3%844G%1C%15%C3%8A%C2%9A%C2%99%04%C2%B0%08%23%C2%9Ex%C3%A1%C2%9EicI%0DI%C3%A0Q%14tM%14S%25%C2%86%08%60%C2%81%04%10%C2%A2C%02%0A%21%C2%86t%C3%90%C3%85%040A%0C%C3%91E%2Cq%23%C2%8E8%C2%90%40%C2%864qA%1C1%C3%87%1C%28%C3%A0%C2%82%18%C2%A0%C2%82%14p%C3%8D4r%C2%A0%C2%A2IPG%04%10CT%00%C2%8A%08%C2%A9%C2%92%C2%99%C3%A3%C2%9AXI%21%10%C2%A0%C2%A2%C2%88bA%04%C3%94E%14%C3%B0%C3%8B%04%C2%90F%C2%8A%09T%C3%87%24%08%26B%13%C3%8F%0A%18%10%C2%95G%04%11CD%C2%B1%C3%91%25%13G%1A%28%C3%A0%C2%84+%C2%82%12%08%21%C2%82%12%08e%C2%9E%29d%C2%92%09%23%C2%89%04%C3%91G2I+%C2%81%12%09%C2%A3%C2%8A%28%11A%1C%01%1CdQ%21A%0CQE%04Ha%C2%85%014%14%40G%04%C2%90%C3%81%04%28d%C2%82%29%C3%A2%C2%8E%24%13%C3%83%1CSH%C2%84%C2%868g%C2%86%18d%C2%86D%C3%90K%14%C2%B1%C3%82%C2%96%0A%C3%A5%C2%AEDr%C3%85%04%11%C3%8F%1C0%C3%87%04%12A%1A%C2%89%28%C2%82%28%C2%A4%C2%86H%08%08%12%C3%89T%12%C3%89%3C%C2%92%C2%A2%C2%92%02H%C2%93E%2CP%C3%80%10G%0C%08e%C2%80%C2%96%C3%88%C3%A7%C2%96%C2%AA%C3%A5%C2%8A%18%11%C3%80%C2%A6%08%60%C2%8E%19d%C2%85%14pC%2CQK%1C%C2%94M%0D%09%C2%A0K%04%C3%90%C3%82%C2%82%25Q%C3%85%1CI%C2%A3%C2%86M%C3%A1%C2%86%18P%C3%81%04h%40%1C%C2%A0%22%C2%93j%25%C3%86YPA%00%C2%89%0AX%08%C2%A7%C2%96%28%C2%91%C3%80%C2%BE%2B%C3%A2I%C2%8Ch%C2%A0%C3%82Y%C2%A1%C2%AE1%C2%BCd%C3%B1L%C2%B2%3C%C2%A2%C2%92%08%2F%0A%22%C2%86%C3%A8b%08%11I%14%C3%B7O.0eM%16K%140C%2CRD0_%0Axi.%C2%84%10Q%1D3%C3%8DD%16%C3%89%2CqC%14%C2%B0%C3%81%24pU%22%28%C3%A1%C2%8D%042%C3%9DT%12%C3%98%C2%A6D%C3%B4%C3%8F%12%1A%25%C2%928+%C2%929e%C2%92H%C2%A4%C2%87%08%23%C2%AA%18%21%C2%A2%01%15%10%27%C3%A0%C2%8E%C3%85%C2%96Q%0A%28%C3%A4%C2%88%C2%BD5%C2%B0%40%24%C2%9E%22%C3%86%C2%97%C3%82%C2%A8%10%40%0B%C3%A6C%C2%94b%C3%94%08%C2%B0%C2%B2%C2%99%C3%A5%C2%82%0A%C3%B0%C2%8AI+%23%C2%8C%C2%8A%C2%B0%C2%AD%04%C2%B0Su%C2%90_%04%C3%A4%C2%94%C3%9F%0CK%C3%A3D%C2%8E%00%C2%AA%04p%C3%A5%14%C2%90I%05%09%C2%AC%C2%9C%C2%A6R8%10%C3%98%C2%BF%1B%C2%AA3%10%10%40%05j%02%C3%B1%10%C2%828%40%21%C2%89%0A%C3%A8%02%C3%BAe%C2%80%C3%92%18%C3%84%11%21%C2%93%C2%94+%29%C2%95%C2%9CP%C3%810%C2%80%40%C2%80%C2%9A%28D%C2%A9%2B%12%C3%86%10%40%00I%0C+%C2%84O%0CH%C2%A1%22%C2%80K%245+%02H%C3%A8C%24%08%C3%80+%C2%81%041M%14p%C3%81%1A%04%C2%90%11%40A%04%11%C2%A1%040%02%C3%A9%040%C2%A2B+%C2%8A%10E%04H%C3%A1%C2%99%14%C3%91%13%C3%8C%C2%84%C2%81%00%10%C3%80%02%11%0C+%01%09%04%C2%B4BA%1C+%10%C3%80%00%10%C3%80%C2%8E%02H%00%08%C3%A0%11%40%11%C3%8B%04%24%C2%B2BC%04P%01%0C%024%00%01%22%02%08%10%40%01%04%08%23+B%10%C3%83%14P%C3%A3%5C%C2%92E%14VSeQ%C2%AB%C2%A2x.%C2%82X%60%C2%A2k%25%C3%86%0A%C2%A7%C2%9E%08%C2%A2%C3%8E%C2%A9%C3%93%12A*5%11%C2%A4%C2%9D%1CH%25Y%24%C2%96M%25%C2%93G%3D%C2%93%C2%A6%C2%A2xb%C2%A2%5B%24%C2%8A%08%C2%91%C3%94KD%C2%84P+K%04%C2%90%C2%850ML%29%C2%A6%C2%97%08c%C2%9A%C3%9Aa%2B%C2%A6%0A%C3%A1%C2%B6%C3%99%C2%AB%C2%AD%04%15%5BUsE%04%12%C3%8B%0C0G%0C%12%C3%80%C2%A2%C2%B9%24%C2%81%25%C2%A9b%C2%92%1B%22%C2%9E%28+%C2%96H%C2%90%C3%81%09%12%08%22%C2%A2%C2%AAc%C2%B2%3A%C3%A6%C2%AA%C2%94V%C3%83%1DR%C3%8FT%14%C3%99%14I%C2%AB%C2%82%19%C3%A7%C2%8A%28+%C2%AAP%C2%A1%2C%16%C3%85%5CT%C3%8FT%C3%90%C3%85%04%C2%94B%C2%AA%18%60Q%0D4%C2%A1%C2%8DUT-%C2%92UP%C3%81U%C3%8C%C2%A0%29I%24%22*%C3%90%5E%C2%BE%19%C2%A5%C2%86%C2%A4%02%1A%C3%A0%26%C2%86%09%27%C2%BE%C2%AA%C3%A6%C2%9DL%C2%B7%C3%86%C2%9E%C3%84%C2%A8R%12%C3%88%C2%A4W%5Dt%C3%9C%C2%A6%C2%BBo%21%08%C3%AB%C2%82%C2%8A%C2%91%40%C2%98%C2%A2r%14%C3%B0%00%21%C2%85Tu%C3%882%C2%88%C2%8A%C3%843%C3%8Dd%C3%97%C2%94KJD%12A4%C3%840A%04%08+%10O%041%40%C2%86%18DP%5B%04PA%12B%C2%94%05sAD%08%C2%92J%C2%84%C2%89%3D%11%C3%99ls%C3%99%1C2%40%C2%AEx%C3%A2%C2%8AZ%C3%AF%C2%9E%19%60%C2%8ED2%C3%81%12%3AW%C2%A8%C2%8A%09%C2%80%17%13%18%C2%84%2B%C2%AC%C2%A6%C2%A8h%C2%BE2%28%25%C2%82%284%C2%8D%0C%C2%B4S%C2%95q%C3%81v%13E%25%C3%B5%23%C2%A6%02H+%C2%82%18%21%C2%B6%1A+%C2%89%04%10A%04%08a%C2%8E%08%C2%A0Al%08%60%C2%8A%0A+%C2%82%28PB%C2%81%24I%C3%B1%C2%96%00%08%08%12%C3%80%10%40%C2%82%00%04rB%00%2B%C3%82%28%25%C2%9EHe%C2%84TE%04%C3%88%C2%B2%C2%A8%C2%89t%13%C2%82%C2%B8n%C3%8A%0A%24%C2%95D*j%27%40E%02*%21B%C2%90%02%C2%A8%05%C3%B7+B%22%C2%9E%08DP%19%C3%80%08%C2%A2%C2%84%08%10A%C2%98%26%C2%82%C3%98%01%00%40%C2%85%1CH+M%3A%29PF%04i%C3%A2%C2%9AF+%00%08%C2%81%02%C3%84%04%10%04%281A%0A%04P%C2%88%60A%02%05%18I%0C%10%00%C3%8E%C2%841%C3%80%0A%C3%88%60%C2%8E%09%C3%A7%C2%92%22%08%C2%92%5D%C2%91Bz%C3%80%00%11O%C2%8C%09%C3%88e%C2%BA1%7DX%C2%A3%2B%C2%A9%C2%95%C3%94e%7CP%00%00%00%05%2C+%C2%B2%C3%BC%60%5B%03%19%C2%82x%C2%A9O%1CW%40%C2%BD%0D1%C2%96%C2%82hk+%C2%9A%C2%88%21%C2%92D%C2%B3%C3%82%C2%82%C2%A9%C3%AF%C2%A1BX%C2%91K%150Y-%C2%B5G4p+%11%C3%81%0D%C2%95E%02%28%C3%88%C2%A7%29%C2%8A%18%C3%A3%C2%86E2%23%00%00%C2%8E%00%00O%00I%00%00%23%C2%80%C2%82%00%00%05%C3%B1I%06%10%04%C2%B3C%02%09%C2%95%C2%97%06P%C3%81%04%10%C2%81%04%10%050%10A%08%02%00%C2%80+%04%02%04P%22%40E%24%00%00%00%00+G%04%09d%C2%8682%C2%A7%28%12%C3%8D*%C2%A2L%12%C3%87%251_%1C%28%C3%A8%C2%89%04%04%12%C3%82%C2%8D%00%08%C3%A0%10G%15%11%17M%0C%C3%B1V%C2%8A%29%C3%814%00C%0C*+%C2%8E%00%22%C2%80%15N%C2%8EX%C3%A8S-3%C2%AA%C2%96%C2%A18%C2%AE%18%10B%40%22%C2%96TB%24uL%C2%99%11%18%C2%9C%05S%C3%90%C2%8C%01B%04%24%C3%93B%C3%86%C2%B8%C3%88%60%C2%82%18d%22%C2%81%2CD%C2%90%021%18B%C2%80%C2%8A%08%00%C2%82%18%04%08%02%18c%C2%81%04%C2%B0%C3%84%C2%8E%28%C2%88%22%C2%9E%28QA%0C%C2%90G%02%04%10A%04RA%04%10+%21E%14%12G%0A%04q%C3%81%0CH%08a%C2%86%14%10%C2%A2%C3%80%C2%86%08%24%C2%8C%10%C3%8A%40%22%C2%88B%10%08%22%C2%85%04%242%C3%83%04d%C2%90I%128%02%28%C3%A1%25U%11%12%28+%C2%828%10%C2%90%C3%83%14H%22%C2%99%010%C2%9A%10%28%C2%84%C2%8A%04%C2%92%04%28%10A%05%13%09%C2%A8C%094%12%C3%81%04%14C4%11%C2%80%C2%82%00%21%C2%8D%01%0A%08+%02%04%08%21%C2%84%10%C2%A0%C2%82%00%C2%81%14%28P+%C2%81%04%00%C2%85%04%04%28%10%08H%60%C2%86%04%10%C2%A1A%0C%22%22B%C2%85%C2%B0U%3A%C2%B45b%5B*%C3%A8%17Q%2CQ0%10E%19%C2%90%C3%8A%C2%A8%C2%A6%C2%B5%04%C3%96%C2%90%C3%80%12%C3%80%21%C2%A3%21XQ5%12%C3%97%1CV%C2%A6EH%C2%86Z%C2%AB%C2%96%18%C3%AC%C2%9E%05P%10%C2%92O%3Ax%C3%A5%C2%82%C2%95%C2%84%22%C2%A4%C3%A4%C2%B0%28%C2%A0%C2%928%C3%A7%C2%96%1C%C3%A0%C2%A6%C3%8Ae%C2%8A%2B%C2%A1%C2%AC%C2%AA%02%18%C2%A1%C2%85%14U%C2%9A%C3%94%2CI%0C0_%2Cp%C3%81%04%C3%A8%04%C2%97Y2%C2%98%2C%08U%C3%A9%C2%A4aR%034%10%C3%80%02%16W%C2%B3%C2%A6I%29i%3Ch+%26%C2%80%C2%A0%C2%828%02%C2%88%04p%00%C2%82%04%C3%88aA%00%08c%C2%84%40%C2%80%22A%04%11%40%15%40%09%C2%A0I%3CdH%C2%A3%C2%82%19%C2%A9%C2%868%23%C2%81%14%01%04%04QV%C2%82%C2%98%C3%80%02j%21%C2%A2%1A%28%C2%82%140%40+%C2%86%18HP+%C2%86%10%C2%9A%28%60%C2%88%11C%14P%C3%81%0A%08%10%C3%85%0CK%C2%A2%C2%BA%04q%C3%89%14Q%5D%0A9%C3%92%C2%A0%C2%9Ahb%C2%BE%08%C3%AAH%C2%80%C2%80%C2%A2%12t%C3%B4E%3C%C2%B3C%12%19d%C2%86%08+%40B%C2%8A%10%C2%A2%C3%A8%0Aj%C2%85z4%28%26%C2%A9Z5qEBH%25%40%C2%82PAB%19%C2%88H%C3%AB%C2%94%C2%8A*p%11%C2%ABC%C2%94j*%C2%A6%09%C2%90%C2%A0%C2%AA%C2%98%22%C2%A5%14R%C3%8CY%3C%C2%AA+I2%1A%C3%A3%C2%A0%C2%96%C2%94%28%05p%22%C2%85%04%22%18%10%C2%90%08H%11A%04%08%C2%A1%C2%89%14%10%22%C2%9Eh%26J%C2%96%0AfA%0D%C3%91%02%24%C3%B0C%1C%C3%B0%C2%A2%C2%80%08%C3%91%C3%9F%24q%C3%87%24WI%0C%C3%90A%04%C2%91C%1C%04%C2%90%C3%83%22%04r%C3%83-%C2%B0%C3%87%1C3*%C2%85%0C%10%40%09%C3%A0%09+%C2%8A%09%C3%A0%02%04%10%40%C2%92%08%10A%04%04%02%18%09%10C%2CQDI%5C%28d%12HK%00I%04%C2%91%C2%92E%14%14%C3%8E%C2%8ATdpB%12%60U%3A%12%08%C3%A8%11%02%28%21%09R%C2%A7%C2%8A%C2%B8%04%C2%90%08+%08%04%C2%B0B%C2%82%014%10%C3%85%2C%C3%91%C2%A3%C2%98%C2%9A%22%28%04%C2%A4%C2%93%C3%8A%C2%86h%C2%A3%10%C3%80%08f%C2%8A%28%22%21%C2%8A%08%C3%80%2C%C2%82%C2%88%11%24G8%04%C3%B1%C3%9B%2C3%08%28%C2%82H%22%C2%82%08+%C2%86%0B%C2%A1%C2%928%C3%A9%C2%86%18%25%C2%868%C2%84%C2%B0E%04%12%C3%82%C2%868%10%C3%81%04%C2%90C%04%10A%04%10%40%C2%82%18%C2%90%C3%81%145%040%C3%81%04%11%C3%87%14%08%24%C2%8E8%22%C2%AA%09%11B%C2%8D%04%10%27%C2%82y%21%23%C2%80%C2%92%08+%21B%C2%A6%18%C3%A1%40G%14P%C3%84%C2%8C%C2%85%04qC%12%18%22A%05%10%C2%A0%C2%8CB%40A%02%04QC%2C%11%C2%94C%24%11A%04%01%04PE%04R%C3%8D%04%13CD%08%09%27%C2%8A%C2%88%C2%A1%C2%82%01%3C%16M%092x%C2%A9%C2%924%C2%93M%0C*b%C2%82%18%C3%A1%C2%869%C2%A1%C2%92%08%C2%A0O%1C%04%24%C3%90%C3%87%14%C3%B2%C3%85t%C3%B2A%04pG%04%C2%B4%23%C2%9A%24q%C2%94B%C2%85%19%1C%09a+%C2%80%04%10%25%C2%A2%09H%C2%A3%25%C2%828%10M4%C2%88P%23%C2%86t%C3%95C%0A%08*%C2%A1%2C%C3%92A6%12%C3%8A%C2%86%08%60%C2%9Bh%C3%A3%C2%8Ex%60%C2%8EH%C3%88H%11I%0A%240%C3%89%05%C2%90F%C2%AA8%21%C2%AA%C3%88A%18%C2%92%28%C3%A3%04%C3%90%10%C3%80%00%5D%00%C2%A6%28d%C2%A2%1C%C2%A0WI%C2%84H+%C2%82%00%C2%82%00%C2%9A%18l%C2%82%C2%A9%C3%96a%05%0Cc%10%C2%A9%C2%91%02Y%C3%A1+Er%25%C3%A0%08%C2%A0%00%00%05%2Bc%25%C2%82%09%C3%A0%21%C2%82%08%10%21B%C3%8E%22%C2%9A%C2%A3%C3%95%24%C2%88%C2%84%10Ai%04%10+%40%C2%A6%046%C3%98%12C%1C%10%22D%C2%9Dl2%C3%8D%04%C2%B2%C3%81D%18E%14P%C2%88%04%C2%A5%C3%84Q%04P%C3%80A%00M%C2%94DH%06p%C3%80%C2%84BC%14%04%11%2B%C2%8E29%09%04QD%00%C2%8E%024%04%60%00%C2%8E%08%23%22%12%C2%A4%C2%80

Response in binary:

11101101 11011111 10110011 01011101 11100100 10100110 00000000 00000001 00000101 10010011 11001001 00011010 00001100 10110110 10001010 00001101 
11101100 10001010 01001001 01100001 01001111 00000100 01110000 00100100 00100110 10000110 00011000 11100000 10001110 01011000 10010000 01110010 
10011110 01101100 01100111 10000010 01011000 01100111 10010010 00011000 10100110 10100010 00101101 01100111 10010010 01101001 01100100 10000011 
10000100 00010100 01000001 00100010 00001010 01100100 10100110 00101001 00100010 01000001 00001100 10010011 01000010 10000110 00001000 00010001 
11001001 00001100 01110001 01000001 01001100 01010010 00100010 10001110 00011000 00100001 10001010 00011000 10010001 01000101 00000100 00110001 
00100000 10001001 00000100 01001010 00100001 10110010 01101001 01100100 10010101 00010100 00010001 01001001 00001100 00110000 01000111 00011100 
01110001 11000110 10000011 01101010 00100010 10001110 00111000 01100101 10000110 00010100 01010000 10100000 10000001 00001101 00010000 11000010 
10000010 00001010 00100011 10011110 00110100 00101110 01110010 01001101 01001100 00100010 00110100 11010001 11000011 00110100 00001000 11100010 
10000010 00001000 00100000 10100110 00101000 10100001 10000001 00001100 11110000 01000010 10001110 01001000 00100101 10100010 00110100 10110001 
01000101 00011010 00110100 01110000 11000011 00000010 00011001 00100010 10010010 00001001 01110011 10100010 01011010 10100000 10010010 01000100 
11110000 01001111 00000100 01010000 11000110 01000101 00010100 01010000 01000010 10001010 00111001 01010100 01000101 00111100 11110011 01001001 
00110100 11010000 01001001 01000101 00010011 10100011 01001001 00110100 00110011 01000101 00101100 10001000 01101110 10010010 01011000 10010000 
11010101 00000100 01001001 00010000 00010101 01000001 00001100 10010000 01000011 00001100 01110000 10100001 01000101 00010100 01110001 11000111 
00000100 11010001 11000011 00100100 00110000 10100101 10010011 10001100 00010010 01001000 10100110 01011011 01101000 10001010 01010101 01110011 
01001101 00110100 10010001 00100001 10010110 00001001 01100100 00100001 10000110 00111000 01100001 00100100 10001010 00011000 00010000 01010011 
00100101 01110001 00001001 00100100 10001110 00001001 00100000 10011110 00101000 01101010 01000001 00101100 00101010 00101000 01000110 00100001 
10000010 01101000 00001001 01101000 10010110 00011001 10100000 10011010 00010100 10010000 11000001 00000100 00001010 00101100 10010110 01011010 
01100110 10001110 00101000 11101101 10100110 00011000 11010010 01001111 00010100 11110000 01001100 10101010 01001011 01100101 10011110 10100100 
10001100 00010100 01000101 00110100 11110000 11000011 00000001 00001010 01001000 01010011 00000100 01110000 11000001 00000100 01010000 01000000 
01000111 00011100 00010001 11000001 00010001 00010100 01010000 00100000 00010000 00101101 10010010 01001000 00100010 01000001 00001010 00001000 
01100100 10000001 00001100 01010000 01000011 00000010 00111001 11100001 01000111 00000100 10110010 01000011 00010100 00010001 01000100 10000110 
10010100 01000100 11001010 10100011 01001101 00011100 00110010 11001011 00011100 10110010 01001111 01101100 10110010 01001101 00100100 01010000 
01010001 00010100 01010001 01000101 00000110 00010100 11000010 10111010 10111001 01100101 10000001 00011100 00010000 01000000 10101010 00000100 
00110000 00100001 10011110 00101000 11100000 10001110 00101000 01100010 10000101 00011100 00010010 11000111 00100100 10010010 01000101 00100100 
01010000 00101011 10011010 00110101 01010001 10100101 10000010 00100100 00010000 01000011 01010100 11110001 11001101 00000100 00110000 01000001 
00101100 00110011 11000101 00001100 00010000 11001111 00001100 11110000 10100000 10000010 00000100 00110001 11000011 00010100 10010001 11001111 
00111100 10110011 01001101 00000100 00110010 00100001 10011110 00101000 10010000 00100000 10001110 01001000 00100001 10000010 00101001 00100100 
10000010 10011000 01100100 10001001 00011100 10010001 11000000 10000010 10011000 00001000 11101000 10000110 00011001 01100001 10000101 00000100 
00110010 11000000 10100110 01101001 00100000 10010110 10000100 10010001 01000000 10010110 00000001 00001000 01000001 00010010 01101001 01100100 
10001110 00011001 11100011 10100110 00000100 01010001 11001011 00000010 01111011 01100111 10001110 00110010 00011000 00010001 11000001 00001100 
10010000 10000101 10010010 01000011 01000100 00010001 10100110 10000110 01110100 00110101 01000000 10010110 10111001 01101011 10010010 00000010 
01101001 00100011 10101110 11101010 11101001 01001111 00001001 00011010 00001001 00100110 10011001 00010101 01110110 01000111 00000100 01001001 
01100010 10000101 00101100 10010100 11010001 00100100 10010011 01000000 01000011 00000100 10101000 01100110 10000110 00001001 11100011 10001110 
00011001 11100100 10001010 11001000 01100001 10100010 00001010 01101001 10000100 01010011 00011100 00110000 01000001 00000100 00000100 00010000 
01000011 00000000 10010010 00000100 00010000 11000101 00010100 00010000 01000001 00000000 10000010 00001000 11000100 00110100 01000111 00011100 
00010101 11001010 10011010 10011001 00000100 10110000 00001000 00100011 10011110 01111000 11100001 10011110 01101001 01100011 01001001 00001101 
01001001 11100000 01010001 00010100 01110100 01001101 00010100 01010011 00100101 10000110 00001000 01100000 10000001 00000100 00010000 10100010 
01000011 00000010 00001010 00100001 10000110 01110100 11010000 11000101 00000100 00110000 01000001 00001100 11010001 01000101 00101100 01110001 
00100011 10001110 00111000 10010000 01000000 10000110 00110100 01110001 01000001 00011100 00110001 11000111 00011100 00101000 11100000 10000010 
00011000 10100000 10000010 00010100 01110000 11001101 00110100 01110010 10100000 10100010 01001001 01010000 01000111 00000100 00010000 01000011 
01010100 00000000 10001010 00001000 10101001 10010010 10011001 11100011 10011010 01011000 01001001 00100001 00010000 10100000 10100010 10001000 
01100010 01000001 00000100 11010100 01000101 00010100 11110000 11001011 00000100 10010000 01000110 10001010 00001001 01010100 11000111 00100100 
00001000 00100110 01000010 00010011 11001111 00001010 00011000 00010000 10010101 01000111 00000100 00010001 01000011 01000100 10110001 11010001 
00100101 00010011 01000111 00011010 00101000 11100000 10000100 00100000 10000010 00010010 00001000 00100001 10000010 00010010 00001000 01100101 
10011110 00101001 01100100 10010010 00001001 00100011 10001001 00000100 11010001 01000111 00110010 01001001 00100000 10000001 00010010 00001001 
10100011 10001010 00101000 00010001 01000001 00011100 00000001 00011100 01100100 01010001 00100001 01000001 00001100 01010001 01000101 00000100 
01001000 01100001 10000101 00000001 00110100 00010100 01000000 01000111 00000100 10010000 11000001 00000100 00101000 01100100 10000010 00101001 
11100010 10001110 00100100 00010011 11000011 00011100 01010011 01001000 10000100 10000110 00111000 01100111 10000110 00011000 01100100 10000110 
01000100 11010000 01001011 00010100 10110001 11000010 10010110 00001010 11100101 10101110 01000100 01110010 11000101 00000100 00010001 11001111 
00011100 00110000 11000111 00000100 00010010 01000001 00011010 10001001 00101000 10000010 00101000 10100100 10000110 01001000 00001000 00001000 
00010010 11001001 01010100 00010010 11001001 00111100 10010010 10100010 10010010 00000010 01001000 10010011 01000101 00101100 01010000 11000000 
00010000 01000111 00001100 00001000 01100101 10000000 10010110 11001000 11100111 10010110 10101010 11100101 10001010 00011000 00010001 11000000 
10100110 00001000 01100000 10001110 00011001 01100100 10000101 00010100 01110000 01000011 00101100 01010001 01001011 00011100 10010100 01001101 
00001101 00001001 10100000 01001011 00000100 11010000 11000010 10000010 00100101 01010001 11000101 00011100 01001001 10100011 10000110 01001101 
11100001 10000110 00011000 01010000 11000001 00000100 01101000 01000000 00011100 10100000 00100010 10010011 01101010 00100101 11000110 01011001 
01010000 01000001 00000000 10001001 00001010 01011000 00001000 10100111 10010110 00101000 10010001 11000000 10111110 00101011 11100010 01001001 
10001100 01101000 10100000 11000010 01011001 10100001 10101110 00110001 10111100 01100100 11110001 01001100 10110010 00111100 10100010 10010010 
00001000 00101111 00001010 00100010 10000110 11101000 01100010 00001000 00010001 01001001 00010100 11110111 01001111 00101110 00110000 01100101 
01001101 00010110 01001011 00010100 00110000 01000011 00101100 01010010 01000100 00110000 01011111 00001010 01111000 01101001 00101110 10000100 
00010000 01010001 00011101 00110011 11001101 01000100 00010110 11001001 00101100 01110001 01000011 00010100 10110000 11000001 00100100 01110000 
01010101 00100010 00101000 11100001 10001101 00000100 00110010 11011101 01010100 00010010 11011000 10100110 01000100 11110100 11001111 00010010 
00011010 00100101 10010010 00111000 00100000 10010010 00111001 01100101 10010010 01001000 10100100 10000111 00001000 00100011 10101010 00011000 
00100001 10100010 00000001 00010101 00010000 00100111 11100000 10001110 11000101 10010110 01010001 00001010 00101000 11100100 10001000 10111101 
00110101 10110000 01000000 00100100 10011110 00100010 11000110 10010111 11000010 10101000 00010000 01000000 00001011 11100110 01000011 10010100 
01100010 11010100 00001000 10110000 10110010 10011001 11100101 10000010 00001010 11110000 10001010 01001001 00100000 00100011 10001100 10001010 
10110000 10101101 00000100 10110000 01010011 01110101 10010000 01011111 00000100 11100100 10010100 11011111 00001100 01001011 11100011 01000100 
10001110 00000000 10101010 00000100 01110000 11100101 00010100 10010000 01001001 00000101 00001001 10101100 10011100 10100110 01010010 00111000 
00010000 11011000 10111111 00011011 10101010 00110011 00010000 00010000 01000000 00000101 01101010 00000010 11110001 00010000 10000010 00111000 
01000000 00100001 10001001 00001010 11101000 00000010 11111010 01100101 10000000 11010010 00011000 11000100 00010001 00100001 10010011 10010100 
00100000 00101001 10010101 10011100 01010000 11000001 00110000 10000000 01000000 10000000 10011010 00101000 01000100 10101001 00101011 00010010 
11000110 00010000 01000000 00000000 01001001 00001100 00100000 10000100 01001111 00001100 01001000 10100001 00100010 10000000 01001011 00100100 
00110101 00100000 00000010 01001000 11101000 01000011 00100100 00001000 11000000 00100000 10000001 00000100 00110001 01001101 00010100 01110000 
11000001 00011010 00000100 10010000 00010001 01000000 01000001 00000100 00010001 10100001 00000100 00110000 00000010 11101001 00000100 00110000 
10100010 01000010 00100000 10001010 00010000 01000101 00000100 01001000 11100001 10011001 00010100 11010001 00010011 11001100 10000100 10000001 
00000000 00010000 11000000 00000010 00010001 00001100 00100000 00000001 00001001 00000100 10110100 01000010 01000001 00011100 00100000 00010000 
11000000 00000000 00010000 11000000 10001110 00000010 01001000 00000000 00001000 11100000 00010001 01000000 00010001 11001011 00000100 00100100 
10110010 01000010 01000011 00000100 01010000 00000001 00001100 00000010 00110100 00000000 00000001 00100010 00000010 00001000 00010000 01000000 
00000001 00000100 00001000 00100011 00100000 01000010 00010000 11000011 00010100 01010000 11100011 01011100 10010010 01000101 00010100 01010110 
01010011 01100101 01010001 10101011 10100010 01111000 00101110 10000010 01011000 01100000 10100010 01101011 00100101 11000110 00001010 10100111 
10011110 00001000 10100010 11001110 10101001 11010011 00010010 01000001 00101010 00110101 00010001 10100100 10011101 00011100 01001000 00100101 
01011001 00100100 10010110 01001101 00100101 10010011 01000111 00111101 10010011 10100110 10100010 01111000 01100010 10100010 01011011 00100100 
10001010 00001000 10010001 11010100 01001011 01000100 10000100 01010000 00100000 01001011 00000100 10010000 10000101 00110000 01001101 01001100 
00101001 10100110 10010111 00001000 01100011 10011010 11011010 01100001 00101011 10100110 00001010 11100001 10110110 11011001 10101011 10101101 
00000100 00010101 01011011 01010101 01110011 01000101 00000100 00010010 11001011 00001100 00110000 01000111 00001100 00010010 11000000 10100010 
10111001 00100100 10000001 00100101 10101001 01100010 10010010 00011011 00100010 10011110 00101000 00100000 10010110 01001000 10010000 11000001 
00001001 00010010 00001000 00100010 10100010 10101010 01100011 10110010 00111010 11100110 10101010 10010100 01010110 11000011 00011101 01010010 
11001111 01010100 00010100 11011001 00010100 01001001 10101011 10000010 00011001 11100111 10001010 00101000 00100000 10101010 01010000 10100001 
00101100 00010110 11000101 01011100 01010100 11001111 01010100 11010000 11000101 00000100 10010100 01000010 10101010 00011000 01100000 01010001 
00001101 00110100 10100001 10001101 01010101 01010100 00101101 10010010 01010101 01010000 11000001 01010101 11001100 10100000 00101001 01001001 
00100100 00100010 00101010 11010000 01011110 10111110 00011001 10100101 10000110 10100100 00000010 00011010 11100000 00100110 10000110 00001001 
00100111 10111110 10101010 11100110 10011101 01001100 10110111 11000110 10011110 11000100 10101000 01010010 00010010 11001000 10100100 01010111 
01011101 01110100 11011100 10100110 10111011 01101111 00100001 00001000 11101011 10000010 10001010 10010001 01000000 10011000 10100010 01110010 
00010100 11110000 00000000 00100001 10000101 01010100 01110101 11001000 00110010 10001000 10001010 11000100 00110011 11001101 01100100 11010111 
10010100 01001011 01001010 01000100 00010010 01000001 00110100 11000100 00110000 01000001 00000100 00001000 00100000 00010000 01001111 00000100 
00110001 01000000 10000110 00011000 01000100 01010000 01011011 00000100 01010000 01000001 00010010 01000010 10010100 00000101 01110011 01000001 
01000100 00001000 10010010 01001010 10000100 10001001 00111101 00010001 11011001 01101100 01110011 11011001 00011100 00110010 01000000 10101110 
01111000 11100010 10001010 01011010 11101111 10011110 00011001 01100000 10001110 01000100 00110010 11000001 00010010 00111010 01010111 10101000 
10001010 00001001 10000000 00010111 00010011 00011000 10000100 00101011 10101100 10100110 10101000 01101000 10111110 00110010 00101000 00100101 
10000010 00101000 00110100 10001101 00001100 10110100 01010011 10010101 01110001 11000001 01110110 00010011 01000101 00100101 11110101 00100011 
10100110 00000010 01001000 00100000 10000010 00011000 00100001 10110110 00011010 00100000 10001001 00000100 00010000 01000001 00000100 00001000 
01100001 10001110 00001000 10100000 01000001 01101100 00001000 01100000 10001010 00001010 00100000 10000010 00101000 01010000 01000010 10000001 
00100100 01001001 11110001 10010110 00000000 00001000 00001000 00010010 11000000 00010000 01000000 10000010 00000000 00000100 01110010 01000010 
00000000 00101011 11000010 00101000 00100101 10011110 01001000 01100101 10000100 01010100 01000101 00000100 11001000 10110010 10101000 10001001 
01110100 00010011 10000010 10111000 01101110 11001010 00001010 00100100 10010101 01000100 00101010 01101010 00100111 01000000 01000101 00000010 
00101010 00100001 01000010 10010000 00000010 10101000 00000101 11110111 00100000 01000010 00100010 10011110 00001000 01000100 01010000 00011001 
11000000 00001000 10100010 10000100 00001000 00010000 01000001 10011000 00100110 10000010 11011000 00000001 00000000 01000000 10000101 00011100 
01001000 00100000 01001101 00111010 00101001 01010000 01000110 00000100 01101001 11100010 10011010 01000110 00100000 00000000 00001000 10000001 
00000010 11000100 00000100 00010000 00000100 00101000 00110001 01000001 00001010 00000100 01010000 10001000 01100000 01000001 00000010 00000101 
00011000 01001001 00001100 00010000 00000000 11001110 10000100 00110001 11000000 00001010 11001000 01100000 10001110 00001001 11100111 10010010 
00100010 00001000 10010010 01011101 10010001 01000010 01111010 11000000 00000000 00010001 01001111 10001100 00001001 11001000 01100101 10111010 
00110001 01111101 01011000 10100011 00101011 10101001 10010101 11010100 01100101 01111100 01010000 00000000 00000000 00000000 00000101 00101100 
00100000 10110010 11111100 01100000 01011011 00000011 00011001 10000010 01111000 10101001 01001111 00011100 01010111 01000000 10111101 00001101 
00110001 10010110 10000010 01101000 01101011 00100000 10011010 10001000 00100001 10010010 01000100 10110011 11000010 10000010 10101001 11101111 
10100001 01000010 01011000 10010001 01001011 00010101 00110000 01011001 00101101 10110101 01000111 00110100 01110000 00100000 00010001 11000001 
00001101 10010101 01000101 00000010 00101000 11001000 10100111 00101001 10001010 00011000 11100011 10000110 01000101 00110010 00100011 00000000 
00000000 10001110 00000000 00000000 01001111 00000000 01001001 00000000 00000000 00100011 10000000 10000010 00000000 00000000 00000101 11110001 
01001001 00000110 00010000 00000100 10110011 01000011 00000010 00001001 10010101 10010111 00000110 01010000 11000001 00000100 00010000 10000001 
00000100 00010000 00000101 00110000 00010000 01000001 00001000 00000010 00000000 10000000 00100000 00000100 00000010 00000100 01010000 00100010 
01000000 01000101 00100100 00000000 00000000 00000000 00000000 00100000 01000111 00000100 00001001 01100100 10000110 00111000 00110010 10100111 
00101000 00010010 11001101 00101010 10100010 01001100 00010010 11000111 00100101 00110001 01011111 00011100 00101000 11101000 10001001 00000100 
00000100 00010010 11000010 10001101 00000000 00001000 11100000 00010000 01000111 00010101 00010001 00010111 01001101 00001100 11110001 01010110 
10001010 00101001 11000001 00110100 00000000 01000011 00001100 00101010 00100000 10001110 00000000 00100010 10000000 00010101 01001110 10001110 
01011000 11101000 01010011 00101101 00110011 10101010 10010110 10100001 00111000 10101110 00011000 00010000 01000010 01000000 00100010 10010110 
01010100 01000010 00100100 01110101 01001100 10011001 00010001 00011000 10011100 00000101 01010011 11010000 10001100 00000001 01000010 00000100 
00100100 11010011 01000010 11000110 10111000 11001000 01100000 10000010 00011000 01100100 00100010 10000001 00101100 01000100 10010000 00000010 
00110001 00011000 01000010 10000000 10001010 00001000 00000000 10000010 00011000 00000100 00001000 00000010 00011000 01100011 10000001 00000100 
10110000 11000100 10001110 00101000 10001000 00100010 10011110 00101000 01010001 01000001 00001100 10010000 01000111 00000010 00000100 00010000 
01000001 00000100 01010010 01000001 00000100 00010000 00100000 00100001 01000101 00010100 00010010 01000111 00001010 00000100 01110001 11000001 
00001100 01001000 00001000 01100001 10000110 00010100 00010000 10100010 11000000 10000110 00001000 00100100 10001100 00010000 11001010 01000000 
00100010 10001000 01000010 00010000 00001000 00100010 10000101 00000100 00100100 00110010 11000011 00000100 01100100 10010000 01001001 00010010 
00111000 00000010 00101000 11100001 00100101 01010101 00010001 00010010 00101000 00100000 10000010 00111000 00010000 10010000 11000011 00010100 
01001000 00100010 10011001 00000001 00110000 10011010 00010000 00101000 10000100 10001010 00000100 10010010 00000100 00101000 00010000 01000001 
00000101 00010011 00001001 10101000 01000011 00001001 00110100 00010010 11000001 00000100 00010100 01000011 00110100 00010001 10000000 10000010 
00000000 00100001 10001101 00000001 00001010 00001000 00100000 00000010 00000100 00001000 00100001 10000100 00010000 10100000 10000010 00000000 
10000001 00010100 00101000 01010000 00100000 10000001 00000100 00000000 10000101 00000100 00000100 00101000 00010000 00001000 01001000 01100000 
10000110 00000100 00010000 10100001 01000001 00001100 00100010 00100010 01000010 10000101 10110000 01010101 00111010 10110100 00110101 01100010 
01011011 00101010 11101000 00010111 01010001 00101100 01010001 00110000 00010000 01000101 00011001 10010000 11001010 10101000 10100110 10110101 
00000100 11010110 10010000 11000000 00010010 11000000 00100001 10100011 00100001 01011000 01010001 00110101 00010010 11010111 00011100 01010110 
10100110 01000101 01001000 10000110 01011010 10101011 10010110 00011000 11101100 10011110 00000101 01010000 00010000 10010010 01001111 00111010 
01111000 11100101 10000010 10010101 10000100 00100010 10100100 11100100 10110000 00101000 10100000 10010010 00111000 11100111 10010110 00011100 
11100000 10100110 11001010 01100101 10001010 00101011 10100001 10101100 10101010 00000010 00011000 10100001 10000101 00010100 01010101 10011010 
11010100 00101100 01001001 00001100 00110000 01011111 00101100 01110000 11000001 00000100 11101000 00000100 10010111 01011001 00110010 10011000 
00101100 00001000 01010101 11101001 10100100 01100001 01010010 00000011 00110100 00010000 11000000 00000010 00010110 01010111 10110011 10100110 
01001001 00101001 01101001 00111100 01101000 00100000 00100110 10000000 10100000 10000010 00111000 00000010 10001000 00000100 01110000 00000000 
10000010 00000100 11001000 01100001 01000001 00000000 00001000 01100011 10000100 01000000 10000000 00100010 01000001 00000100 00010001 01000000 
00010101 01000000 00001001 10100000 01001001 00111100 01100100 01001000 10100011 10000010 00011001 10101001 10000110 00111000 00100011 10000001 
00010100 00000001 00000100 00000100 01010001 01010110 10000010 10011000 11000000 00000010 01101010 00100001 10100010 00011010 00101000 10000010 
00010100 00110000 01000000 00100000 10000110 00011000 01001000 01010000 00100000 10000110 00010000 10011010 00101000 01100000 10001000 00010001 
01000011 00010100 01010000 11000001 00001010 00001000 00010000 11000101 00001100 01001011 10100010 10111010 00000100 01110001 11001001 00010100 
01010001 01011101 00001010 00111001 11010010 10100000 10011010 01101000 01100010 10111110 00001000 11101010 01001000 10000000 10000000 10100010 
00010010 01110100 11110100 01000101 00111100 10110011 01000011 00010010 00011001 01100100 10000110 00001000 00100000 01000000 01000010 10001010 
00010000 10100010 11101000 00001010 01101010 10000101 01111010 00110100 00101000 00100110 10101001 01011010 00110101 01110001 01000101 01000010 
01001000 00100101 01000000 10000010 01010000 01000001 01000010 00011001 10001000 01001000 11101011 10010100 10001010 00101010 01110000 00010001 
10101011 01000011 10010100 01101010 00101010 10100110 00001001 10010000 10100000 10101010 10011000 00100010 10100101 00010100 01010010 11001100 
01011001 00111100 10101010 00100000 01001001 00110010 00011010 11100011 10100000 10010110 10010100 00101000 00000101 01110000 00100010 10000101 
00000100 00100010 00011000 00010000 10010000 00001000 01001000 00010001 01000001 00000100 00001000 10100001 10001001 00010100 00010000 00100010 
10011110 01101000 00100110 01001010 10010110 00001010 01100110 01000001 00001101 11010001 00000010 00100100 11110000 01000011 00011100 11110000 
10100010 10000000 00001000 11010001 11011111 00100100 01110001 11000111 00100100 01010111 01001001 00001100 11010000 01000001 00000100 10010001 
01000011 00011100 00000100 10010000 11000011 00100010 00000100 01110010 11000011 00101101 10110000 11000111 00011100 00110011 00101010 10000101 
00001100 00010000 01000000 00001001 11100000 00001001 00100000 10001010 00001001 11100000 00000010 00000100 00010000 01000000 10010010 00001000 
00010000 01000001 00000100 00000100 00000010 00011000 00001001 00010000 01000011 00101100 01010001 01000100 01001001 01011100 00101000 01100100 
00010010 01001000 01001011 00000000 01001001 00000100 10010001 10010010 01000101 00010100 00010100 11001110 10001010 01010100 01100100 01110000 
01000010 00010010 01100000 01010101 00111010 00010010 00001000 11101000 00010001 00000010 00101000 00100001 00001001 01010010 10100111 10001010 
10111000 00000100 10010000 00001000 00100000 00001000 00000100 10110000 01000010 10000010 00000001 00110100 00010000 11000101 00101100 11010001 
10100011 10011000 10011010 00100010 00101000 00000100 10100100 10010011 11001010 10000110 01101000 10100011 00010000 11000000 00001000 01100110 
10001010 00101000 00100010 00100001 10001010 00001000 11000000 00101100 10000010 10001000 00010001 00100100 01000111 00111000 00000100 11110001 
11011011 00101100 00110011 00001000 00101000 10000010 01001000 00100010 10000010 00001000 00100000 10000110 00001011 10100001 10010010 00111000 
11101001 10000110 00011000 00100101 10000110 00111000 10000100 10110000 01000101 00000100 00010010 11000010 10000110 00111000 00010000 11000001 
00000100 10010000 01000011 00000100 00010000 01000001 00000100 00010000 01000000 10000010 00011000 10010000 11000001 00010100 00110101 00000100 
00110000 11000001 00000100 00010001 11000111 00010100 00001000 00100100 10001110 00111000 00100010 10101010 00001001 00010001 01000010 10001101 
00000100 00010000 00100111 10000010 01111001 00100001 00100011 10000000 10010010 00001000 00100000 00100001 01000010 10100110 00011000 11100001 
01000000 01000111 00010100 01010000 11000100 10001100 10000101 00000100 01110001 01000011 00010010 00011000 00100010 01000001 00000101 00010000 
10100000 10001100 01000010 01000000 01000001 00000010 00000100 01010001 01000011 00101100 00010001 10010100 01000011 00100100 00010001 01000001 
00000100 00000001 00000100 01010000 01000101 00000100 01010010 11001101 00000100 00010011 01000011 01000100 00001000 00001001 00100111 10001010 
10001000 10100001 10000010 00000001 00111100 00010110 01001101 00001001 00110010 01111000 10101001 10010010 00110100 10010011 01001101 00001100 
00101010 01100010 10000010 00011000 11100001 10000110 00111001 10100001 10010010 00001000 10100000 01001111 00011100 00000100 00100100 11010000 
11000111 00010100 11110010 11000101 01110100 11110010 01000001 00000100 01110000 01000111 00000100 10110100 00100011 10011010 00100100 01110001 
10010100 01000010 10000101 00011001 00011100 00001001 01100001 00100000 10000000 00000100 00010000 00100101 10100010 00001001 01001000 10100011 
00100101 10000010 00111000 00010000 01001101 00110100 10001000 01010000 00100011 10000110 01110100 11010101 01000011 00001010 00001000 00101010 
10100001 00101100 11010010 01000001 00110110 00010010 11001010 10000110 00001000 01100000 10011011 01101000 11100011 10001110 01111000 01100000 
10001110 01001000 11001000 01001000 00010001 01001001 00001010 00100100 00110000 11001001 00000101 10010000 01000110 10101010 00111000 00100001 
10101010 11001000 01000001 00011000 10010010 00101000 11100011 00000100 11010000 00010000 11000000 00000000 01011101 00000000 10100110 00101000 
01100100 10100010 00011100 10100000 01010111 01001001 10000100 01001000 00100000 10000010 00000000 10000010 00000000 10011010 00011000 01101100 
10000010 10101001 11010110 01100001 00000101 00001100 01100011 00010000 10101001 10010001 00000010 01011001 11100001 00100000 01000101 01110010 
00100101 11100000 00001000 10100000 00000000 00000000 00000101 00101011 01100011 00100101 10000010 00001001 11100000 00100001 10000010 00001000 
00010000 00100001 01000010 11001110 00100010 10011010 10100011 11010101 00100100 10001000 10000100 00010000 01000001 01101001 00000100 00010000 
00100000 01000000 10100110 00000100 00110110 11011000 00010010 01000011 00011100 00010000 00100010 01000100 10011101 01101100 00110010 11001101 
00000100 10110010 11000001 01000100 00011000 01000101 00010100 01010000 10001000 00000100 10100101 11000100 01010001 00000100 01010000 11000000 
01000001 00000000 01001101 10010100 01000100 01001000 00000110 01110000 11000000 10000100 01000010 01000011 00010100 00000100 00010001 00101011 
10001110 00110010 00111001 00001001 00000100 01010001 01000100 00000000 10001110 00000010 00110100 00000100 01100000 00000000 10001110 00001000 
00100011 00100010 00010010 10100100 10000000 

Last edited by mego (2014-08-01 10:05:24)

Offline

#38 2014-08-01 10:37:30

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

Perfect, I will look into that on monday because I'm going biking for the weekend wink I'll get back at you when I have something

Offline

#39 2014-08-01 15:12:19

mego
New member
Registered: 2014-07-10
Posts: 5

Re: Compression II

@Metatr0n, no need anymore. I just solved it. The standard java library does not work. UTF-8 encoding should not be used to send back the data.

I used the following:

....
    URL url = new URL("http://www.microcontest.com/contests/34/validation.php");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);

    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    out.writeBytes("txt_compresse=" + urlencode(resp_encode) + "&txt_decompresse=" + resp_decode);
    out.close();

    String str = IOUtils.toString(conn.getInputStream());
    System.out.println(str);
....

  private static String urlencode(String str)
  {
    String result = "";
    for (int i = 0; i < str.length(); i++)
      result += String.format("%%%02x", str.charAt(i) & 0xFF);
    return result;
  }

Offline

#40 2014-08-05 19:06:22

Metatr0n
Administrator
Registered: 2011-04-24
Posts: 205

Re: Compression II

Ok that's strange. So the java lib needs correction, I add it to my todo list wink

Offline

#41 2014-08-25 22:04:04

tehron
Member
Registered: 2011-07-01
Posts: 15

Re: Compression II

Yeah, I forgot an

appendAnswer(String key, byte[] bytes)

method. Sorry for that.
I will fix this and send an updated lib to metatr0n.

Would be great of you could test again with the updated lib, mego.

Offline

#42 2016-04-12 13:40:35

djcomidi
New member
Registered: 2016-01-02
Posts: 2

Re: Compression II

I'm currently using version 2.0 of the java library.
I can succesfully compress and decompress the given example.
Even the decompressed string of the challenge makes sence.
(so I assume the compression works too)
Yet my solutions don't get approved. sad
Does the challenge still work with this version ?
What do I have to do to make this work ?

Offline

Board footer

Powered by FluxBB