Help

Juan M. Duran juan@inf.ufpr.br
Mon, 25 Feb 2002 12:15:40 -0300 (BRT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--298362324-1557178554-1014650140=:28682
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi, I'm writting a small parser in Haskell and, when it is all done, I get
the following problem: Type Binding.

The thing is, I have 3 main functions:
1) Read the file, its type is: [Char] ->IO [Char] (see InputOutput.hs)
2) Parse a string (using words and readDec), its type is: Integral a =>
[Char] -> [a] (see Parse.hs)
3) Parse a list of integer, its type is: [Float] -> [[Float]]
(Functions.hs)

Now the problem is that I cannot run the first function, then use its
results as an input of the second function and, finally, its results as
the input of the third function.

How can I fix this without modifing all my functions because they,
independly, works fine.

Juan
 

--298362324-1557178554-1014650140=:28682
Content-Type: TEXT/PLAIN; charset=iso-8859-1; name=maxi
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0202251215400.28682@dupond.inf.ufpr.br>
Content-Description: 
Content-Disposition: attachment; filename=maxi

RnJvbSB0d29ncnVsaWNAeWFob28uY29tIFRodSBGZWIgMTQgMTY6NTM6MDAg
MjAwMg0KRGF0ZTogMDggRmViIDIwMDIgMTU6MjE6NDEgLTAzMDANCkZyb206
IE1heGkgQ29tYmluYSA8dHdvZ3J1bGljQHlhaG9vLmNvbT4NClRvOiBKdWFu
IE0uIER1cmFuIDxqdWFuQGluZi51ZnByLmJyPg0KU3ViamVjdDogUmU6IFBy
b2JsZW1zDQoNCnlhIGRlYmVyaWFtb3MgY2FtYmlhciBlbCBzdWJqZWN0LCBu
bz8NCnBlcm8gYXNpIGVzdGEgYnVlbm8hDQoNCkVsIGp1ZSwgMDctMDItMjAw
MiBhIGxhcyAwOTozNywgSnVhbiBNLiBEdXJhbiBlc2NyaWJp8zoNCj4gQW50
ZXMgcXVlIG1lIG9sdmlkZSwgbmVjZXNpdG86DQo+IC0gTGEgY2FuY2lvbiBx
dWUgaGljaW1vcyAocXVpZXJvIHF1ZSBsYSBsZWEgbGEgQ2FyaSkNCmJ1ZW5v
LCB0ZSBsYSBhZGp1bnRvIChlcyB1biAuZG9jKS4NCmZpamF0ZSBxdWUgbGEg
YWNhYm8gZGUgYWJyaXIgY29uIHNvZmZpY2UgKHNpLCBwb3JxdWUgZWwgbW9k
ZW0gZGVzZGUgd2luDQpubyBxdWllcmUgYW5kYXIgbWFzLi4uIHRlIGFjb3Jk
YXIgcXVlIHlhIGVsIGHxbyBwYXNhZG8gdGUgaGFiaWENCnByZWd1bnRhZG8g
cG9yIGVsIGFzdW50bz8gcmVzdWx0YSBxdWUgY3VhbmRvIHVubyByZWluc3Rh
bGEgd2luLCBubw0KcXVpZXJlIGFuZGFyLiB0ZW5lcyBxdWUgcmVuZWdhciB1
biBtb250b24gaGFzdGEgcXVlIGRlIGFsZ3VuIG1vZG8NCmVtcGllemEgYSBh
bmRhcikNCkJ1ZW5vLCBlbCBwdW50byBxdWUgZWwgc29mZmljZSBubyBtZSBt
dWVzdHJhIGVsIHVsdGltbyByZW5nbG9uIGRlIGxhDQpjYW5jaW9uLiBObyBz
ZSBzaSDpbCBsbyB2ZSBtYWwgbyBzaSByZWFsZW1lbnRlIG5vIGVzdGEuIFBv
ciBsYXMgZHVkYXMgdGUNCm1hbmRvIGxhIHVsdGltYSBlc3Ryb2ZhIChxdWUg
aW5jbHV5ZSAtLW9idmlhbWVudGUtLSBlbCD6bHRpbW8gcmVuZ2xvbjoNCg0K
VW4gY29uc2VqbyBtdXkgcGlvbGENCnF1ZXJlbW9zIGRhcnRlDQpubyB2ZW5n
YXMgYSBlc3RlIGx1Z2FyDQphIGNvbmdlbGFydGUNCg0KDQo+IC0gRWwgdGVt
aXRhIGVzZSBkZWwgbXAzIGVuIGxpbnV4LCByZWN1ZXJkYT8sIGJ1ZW5vLCBt
ZSBkaXN0ZSB1biBleGVjdXRhYmxlDQo+IHF1ZSBubyBzZSBxdWUgaGFjaWEg
KGFsZ28gY29uIGxhIGRtYSksIGJ1ZW5vLCBlc2UgZWplY3V0YWJsZSBubyBl
eGlzdGUsDQo+IHBvciBsbyBtZW5vcyBlbiBtaSBjb21wdXRhZG9yLg0Kb3Bz
LCBlbnRvbmNlcyBubyBzZXJhIGVzby4gZGUgdG9kb3MgbW9kb3MsIGVzZSBl
amVjdXRhYmxlIGVzdGEgbXV5IGJ1ZW5vDQpwYXJhIG1vZGlmaWNhciBlbCBj
b21wb3J0YW1pZW50byBkZWwgZHVyby4gZXMgcGFydGUgZGUgdW4gcGFxdWV0
ZSBxdWUgc2UNCmxsYW1hIGhkcGFybSAoYXNpIHRhbWJpZW4gc2UgbGxhbWEg
ZWwgZWplY3V0YWJsZSkuIGVuIHR1IGNkIGRlIG1kayA4LjANCnNlZ3VybyBx
dWUgZXN0YSwgc2lubywgZW4gbGEgcmVkLg0KDQoNCj4gLSBNZSBlc3RhbiBl
bnNlbmhhbmRvIGEgdG9jYXIgbGEgZ3VpdGFycmEsIGVzdG95IHJlYWxtZW50
ZSBwcmFjdGljYW5kbyB5DQo+IG1lIGd1c3RhLCB5YSBzZSBhbGd1bm9zIGFj
b3JkZXMsIGxvcyBiYXNpY29zIHZpbyAoRG8sIFJlLCBNaSwgU29sLCBMYSkg
eQ0KPiBuaSBzaXF1aWVyYSBzb24gdG9kb3MsIGplIGplLiBFbiBmaW4sIHRl
IGFjb3JkYXMgY3VhbmRvIG1lIGRhYmFzIGNsYXNlcywNCj4gaGFiaWFzIGRp
Y2hvIHF1ZSBleGlzdGlhIGFsZ28gKG5vIHNlLCBjcmVvIHF1ZSBlcmEgIykg
cXVlIGVyYQ0KPiBpbmRlbXBvdGVudGUsIHNpIHRlIGFjb3JkYXMgZGVjaW1l
bG8gcG9ycXVlIGVzdG95IG1ldGEgeSBtZXRhIGRpc2N1dGlyIGNvbg0KPiBj
YXJpIHNvYnJlIGVzbywgc29sbyBxdWUgbm8gcmVjdWVyZG8gbG8gcXVlIGVy
YS4gQUgsIHNpIHRlbmVzIGxvcyBhY29yZGVzDQo+IGRlIGFsZ3VuYSBjYW5j
aW9uIGNvbm9jaWRhIHBvciBtaSB5IHF1ZSBzZWEgZmFjaWwsIG1hbmRhbG8u
DQpubywgaWRlbXBvdGVudGUgbm8gZXJhLCB5YSBxdWUgdW4gb3BlcmFkb3Ig
aWRlbXBvdGVuZSAobGxhbWVtb3NsZSBFKQ0KdGllbmUgbGEgcHJvcGllZGFk
IGRlIHF1ZSBFb0U9RSAobGVhc2UgRSBjb21wdWVzdG8gY29uIEUgaWd1YWwg
YSBFKS4NCkVzZSBiaWNobyBxdWUgZGVjaXMgKCMpIGVzIGVsIHNvc3Rlbmlk
by4gUHJvdm9jYSBxdWUgbGEgbm90YSBhIGxhIGN1YWwNCnNlIGxlIGFwbGlx
dWUgc2UgZWxldmUgZW4gMS8yIHRvbm8uIEEgdmVyOiBsYSBub3RhIERvIGVz
IGxhIG5vdGEgRG8geQ0KcHVudG8uIExhIG5vdGEgI2RvIGVzIGRvICsgMS8y
IHRvbm8uIFNpIHNlIHRyYXRhIGRlIHVuIGFjb3JkZSAoY29uanVudG8NCmRl
IG5vdGFzKSwgZW50b25jZXMgZWwgIyBwcm92b2NhIHF1ZSB0b2RhcyBzdXMg
bm90YXMgc2UgZWxldmVuIDEvMiB0b25vLg0KUG9yIGVqZW1wbG86IGVsIGFj
b3JkZSBETyBtYXlvciBlc3RhIGNvbXB1ZXN0byBwb3IgMyBub3RhczogZG8s
IG1pIHkgc29sDQpwb3IgbG8gdGFudG8sICNETyBzZXJhOiBkbyMsIGZhIHkg
c29sIyAobm90YXIgcXVlIG5vIHB1c2UgI21pLCB5YSBxdWUNCiNtaT1mYSkg
KG5vdGFyIHF1ZSBlbiBtaW51c2N1bGFzIGVzdGFuIGxhcyBub3RhcyB5IGVu
IG1heXVzY3VsYXMgbG9zDQphY29yZGVzKQ0KDQpFbCBjb21wbGVtZW50byBk
ZSAjIGVzIGVsIGJlbW9sIChubyBtZSBkYSBlbCB0ZWNsYWRvIHBhcmEgZGli
dWphcmxvKS4gTG8NCnF1ZSBoYWNlIGVsIGJlbW9sIGVzIHJlc3RhciAxLzIg
dG9ubyBlbiB2ZXogZGUgc3VtYXIuDQoNCkVsICMgeSBlbCBiZW1vbCBzb24g
YWRpdGl2b3MsIGkuZS4sICMjZG89IygjZG8pPWRvICsgMS8yIHRvbm8gKyAx
LzINCnRvbm89cmUuDQpwb3IgZWplbXBsbzogIyhiZW1vbClkbz1kbyAtIDEv
MiB0b25vICsgMS8yIHRvbm89ZG8NCmJlbW9sKGZhKT1mYSAtIDEvMiB0b25v
ID0gbWkNCg0KYWgsIOlzdGEgZXMgbGEgdGFibGEgZGUgbm90YXMgKHNlIGlu
ZGljYSBlbiB0ZXJtaW5vcyBkZSAjKToNCg0KZG8gI2RvIHJlICNyZSBtaSBm
YSAjZmEgc29sICNzb2wgbGEgI2xhIHNpIGRvDQoNCm5vdGFyICBxdWUgdG9k
b3MgdGllbmVuICMgc2Fsdm8gbWkgKHlhIHF1ZSAjbWk9ZmEpIHkgc2kgKHB1
ZXMgI3NpPWRvKQ0KDQoNCkFudGVzIGRlIG1hbmRhcnRlIHVuYSBjYW5jaW9u
LCB0ZSBtYW5kbyBsYSBub3RhY2lvbiB1c3VhbCAoc2UgbGxhbWENCm5vdGFj
aW9uIGFtZXJpY2FuYSwgY3JlbykuIExhIGlkZWEgZXMgbm8gZXNjcmliaXIg
dGFudG8gKERPIG1heW9yLCBSRQ0KbWVub3IsIGV0Yy4uLi4gc29uIGRlbWFz
aWFkYXMgbGV0cmFzKS4NClByaW1lcm8sIHVuYSB0YWJsYSBkZSBlcXVpdmFs
ZW5jaWE6IChieSBoZWFydCwgbWFuKQ0KDQpETyA9IEMNClJFID0gRA0KTUkg
PSBFDQpGQSA9IEYNClNPTCA9IEcNCkxBID0gQQ0KU0kgPSBCDQoNClNpIHBv
bmVtb3MgQyBzaW4gbmluZ3VuICJhZGl0aXZvIiwgZW50b25jZXMgZXMgdW4g
RE8gbWF5b3IsLg0KcGFyYSBpbmRpY2EgZWwgbWVub3IgKERPIG1lbm9yKSwg
cG9uZW1vcyBDbS4NCkxhIHNlcHRpbWE6IEM3DQpDYW1iaWFyIGVsIGJham86
IEQvRiMgKGVzdG8gZXMsIFJFIGNvbiBiYWpvICNGQSkNCmV0Yw0KDQoNClVu
YSBjYW5jaW9uIGZhY2lsOiBhY2FibyBkZSBzYWNhciBsb3NpbmcgbXkgcmVs
aWdpb246DQpJbnRybzogRiAtIEFtIC0gRiAtIEFNIC0gRw0KDQoobm8gc+kg
bGEgbGV0cmEpDQoNCmVzdHJvZmE6IEFtIC0gRW0gdW4gcGFyIGRlIHZlY2Vz
IChubyBzZSBjdWFudGFzIGV4YWN0YW1lbnRlKQ0KRG0gLSBHIC0gQW0NCg0K
YnVlbm8sIGVzY3VjaGFsYS4NCg0KdW5hIG1hcyBmYWNpbDoNCg0KTXVqZXIg
YW1hbnRlOg0KPT09PT09PT09PT09PQ0KDQpOT1RBQ0lPTj0gZW50cmUgcGFy
ZW50ZXNpcyBlbCBhY29yZGUgYWRlY3VhZG8gZW4gZWwgbW9tZW50byBhZGVj
dWFkbyA7LSkNCkludHJvOiBsYSBvYnZpYW1vcywgbm8gY2FsaWVudGEuDQoN
CkVtcGV6YXIgZW4gQm0NCg0KU2llbnRvIGVsIGNhbG9yIGRlIHRvZGEgdHUg
KEcpIHBpZWwgZW4gbWkgY3UoQSllcnBvIG90cmEgdmV6DQoNCkVzdChCbSly
ZWxsYSBmdWdheiBlbmNpKEQpZW5kZSBtaSAoQSkgc2VkLCBtaXN0ZXJpb3Nh
IG11amVyDQoNCnBvciB0dSAgYW0oRylvciBzZW5zdWFsIGN1YW50byBtZSAo
Qm0pZGFzPw0KDQpIYXogcXVlIG1pIChBKSBzdWXxbyAoRW0pIHNlYSB1bihE
KWEgdmVyZGFkDQoNCmRhbWUgdHUgKEcpIGFsbWEgaG95IGhhY2lhIGVsIHJp
KEJtKXR1YWwNCg0KTGzpdmFtZSBhbCAoQSkgbXVuZG8gKEVtKSBkb25kZSAo
RiMpIHB1ZWRhIHNvbvFhcg0KDQoNCg0KKEJtKVVoaGhoIChEKWRlYm8gc2Fi
ZXIgc2kgZXMgKEEpdmVyZGFkDQoNCmVuIGFsZ3VuIChCbSlsYWRvIGVzdGFz
DQoNClZveSBhIGJ1c2NhciB1KEQpbmEgc2XxYWwgKEEpIHVuYSBjYW5jaW9u
KEJtKQ0KDQooQm0pVWhoaGggKEQpZGVibyBzYWJlciBzaSBlcyAoQSl2ZXJk
YWQNCg0KZW4gYWxndW4gKEJtKWxhZG8gZXN0YXMNCg0KU/NsbyBlbCBhbW9y
IChEKXF1ZSB0dSBtZSBkYXMoQSkgbWUgYXl1ZGFyYSBCbSAtIEEgLSBHIC0g
RW0NCg0KW2xvIHF1ZSBzaWd1ZSBlcyBpZ3VhbCAtIHRlIG1hbmRvIGxhIGxl
dHJhXQ0KDQoNCkFsIGFtYW5lY2VyIHR1IGltYWdlbiBzZSB2YSwgbWlzdGVy
aW9zYSBtdWplcg0KZGVqYXN0ZSBlbiBtaSwgbHVqdXJpYSB0b3RhbCBoZXJt
b3NhIHNlbnN1YWwNCmNvcmF6b24gc2luIGRpb3MsIGRhbWUgdW4gbHVnYXIN
CmVuIGVzdGUgbXVuZG8gdGliaW8gY2FzaSBpcnJlYWwNCnRlIHZlcmUgYnVz
Y2FyIHVuYSBzZfFhbA0KZW4gYXF1ZWwgY2FtaW5vIHBvciBlbCBxdWUgdmFz
DQoNClVoaGhoLCBkZWJvLi4uDQouLi4NCi4uLiBtZSBheXVkYXJhDQoNCg0K
U09MTyBERSBHVUlUQVJSQQ0KKHBvZGVzIHRvY2FzIGxvcyBhY29yZGVzIGRl
IHVuYSBlc3Ryb2ZhKSAoaGFicmlhIHF1ZSBlc2N1Y2hhciBxdekNCmFjb3Jk
ZXMgaGFjZSBkb24gcmF0YSBibGFuY2EpDQoNCihHKVR1IHByZXNlbmNpYSBt
YXJjbyBlbiBtaSB2aWRhIGVsIChCbSkgYW1vciwgbG8gc+kNCg0KKEEpZXMg
ZGlmaWNpbCBwZW5zYXIoRW0pIGVuIHZpdmlyIHlhIHNpbiAoRCl2b3MgDQoN
CihHKSBjb3Jhem9uIHNpbiBkaW9zLCBkYW1lKEJtKSB1biBsdWdhcg0KDQoo
QSllbiBzZSBtdW5kbyAoRW0pIHRpYmlvIGNhc2kgaXJyKEYjKWVhbA0KDQoN
CnVoaCwgZGVibyBzYWJlci4uLg0KZXRjIGV0Yw0KDQpsaXN0bywgZXNwZXJv
IHF1ZSBlbnRpZW5kYXMgYWxnbyA7LSkNCg0KDQoNCg0KIA0KPiBVbiBhYnJh
em8NCj4gDQo+IEp1YW4NCj4gDQo+IFBEOiBDb21vIGVzIGVsIHRlbWEgZGUg
bGFzIGluc2NyaXBjaW9uZXMsIGRpZ28sIGN1YW5kbyBzb24/DQpubyB0ZW5n
byBpZGVhLiBhdW4gbm8gZnVpIGEgY2JhLCBlc3RveSBlc3R1ZGlhbmRvIGFs
Z3VpdG8gYWNhIGVuIGNhc2EuDQoNCmJ1ZW5vLCB0YXJkZSB1biBtb250b24g
ZGUgdGllbXBvIGVuIGVzY3JpYmlyIHR1IG1hbGRpdGEgY2FuY2lvbiwgYXNp
IHF1ZQ0KbWUgdm95IGEgcmVuZWdhciBjb24gZWwgbW9kZW0uDQphaCwgdGVu
ZmdvIHNocmVrIHJpcHBlYWRhLCBwcm9udG8gbGEgcGFzYXJlIGEgQ0QuIA0K
DQp1biBhYnJhem8gZ3JhbmRlDQptYXhpDQpwZDogZGlzY3VscGEgbGEgZmFs
dGEgZGUgbm92ZWRhZGVzLiBubyBoYXkgbXVjaGFzLi4uDQotLSANClNpIHN1
cGllcmFzIGxvIHF1ZSBoZSB2aXN0byAuLi4NCnNpIHN1cGllcmFzIGxvIHF1
ZSBoZSB0b2NhZG8uLi4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBK
LkQuDQoNCiAgICBbIFBhcnQgMiwgQXBwbGljYXRpb24vTVNXT1JEICA0OEtC
LiBdDQ0KICAgIFsgVW5hYmxlIHRvIHByaW50IHRoaXMgcGFydC4gXQ0KDQo=
--298362324-1557178554-1014650140=:28682
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="InputOutput.hs"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0202251215401.28682@dupond.inf.ufpr.br>
Content-Description: 
Content-Disposition: attachment; filename="InputOutput.hs"

bW9kdWxlIElucHV0T3V0cHV0IHdoZXJlDQ0KDQ0KaW1wb3J0IElPDQ0KaW1w
b3J0IFBhcnNlcg0NCg0NCgktLSBPVVRQVVQNDQoNDQpvdXRwdXQgb3V0Zmls
ZSByZXN1bHQgPSBkbw0NCgkJCQkgd3JpdGVGaWxlIG91dGZpbGUgKHNob3cg
cmVzdWx0KQ0NCgkJCQkgcHV0U3RyICgiV3JpdGluZyBpbiBmaWxlICIgKysg
IiciICsrIG91dGZpbGUgKysgIiciICsrICIgZG9uZS5cbiIpDQ0KDQ0KCS0t
IElOUFVUDQ0KaW5wdXQgaW5maWxlCT0gZG8NDQoJICAgCSAgIAkJaGRsIDwt
IG9wZW5GaWxlIGluZmlsZSBSZWFkTW9kZQ0NCgkJCQljb250ZW50IDwtIGhH
ZXRDb250ZW50cyBoZGwNDQoJCQkJcmV0dXJuIGNvbnRlbnQNDQoNDQo=
--298362324-1557178554-1014650140=:28682
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="Functions.hs"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0202251215402.28682@dupond.inf.ufpr.br>
Content-Description: 
Content-Disposition: attachment; filename="Functions.hs"

bW9kdWxlIEZ1bmN0aW9ucyB3aGVyZQ0NCg0NCm1hcCcgZiBbXSAJCQkJPSBb
XQ0NCm1hcCcgZiAodDp1OnY6dzp4Onk6ejp4cykgCT0gZiB0IHUgdiB3IHgg
eSB6Om1hcCcgZiB4cw0NCg0NCm9wZXJhdGlvbiBhIGIgYyBkIGUgZiBnCQk9
IGRvIA0NCgkJCQkJICAgIHIgPC0gKG91dCBbYSxiLGMsZCxlLGZdKQ0NCgkJ
CQkJICAgIGlmIChyID09IGcpIHRoZW4gDQ0KCQkJCQkgICAgIHJldHVybiBy
IGVsc2UgcmV0dXJuIChhYnMgKHItZykpDQ0KY29udHJvbCB4cyANDQoJCXwg
KG1vZCAobGVuZ3RoIHhzKSA3KSA9PSAwIAk9IG1hcCcgb3BlcmF0aW9uJyB4
cwkNDQoJCXwgb3RoZXJ3aXNlIAkJCT0gZXJyb3IgIkluY29ycmVjdCBzaXpl
IG9mIHZlY3RvciINDQoNDQoJLS0gRlVOQ1RJT04gJ09VVCcNDQoNDQpvdXQg
W2EsIGIsIGMsIGQsIGUsIGZdCT0gWyBkaXZpY2FvIFtkaXZpY2FvIFtzb21h
IFtyZXN0YSBbc29tYSBbYSxiXSwgY10sIGRdLCBlXSwgZl0gXQ0NCg0NCgkt
LSBGVU5DVElPTiBERUNMQVJBVElPTg0NCg0NCnNvbWEgCQk6OiBbRmxvYXRd
IC0+IEZsb2F0DQ0Kc29tYSBbeCwgeV0gCT0geCArIHkNDQoNDQpyZXN0YSAJ
CTo6IFtGbG9hdF0gLT4gRmxvYXQNDQpyZXN0YSBbeCwgeV0gCT0geCAtIHkN
DQoNDQpkaXZpY2FvIAk6OiBbRmxvYXRdIC0+IEZsb2F0DQ0KZGl2aWNhbyBb
YSwgYl0gDQ0KCQl8IGIgPT0gMAk9IGVycm9yICJEaXZpc2lvbiBieSB6ZXJv
Ig0NCgkJfCBvdGhlcndpc2UJPSBhIC8gYg0NCg0NCm9wZXJhdGlvbicgYSBi
IGMgZCBlIGYgZyA9IG91dCBbYSxiLGMsZCxlLGZdDQ0K
--298362324-1557178554-1014650140=:28682
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="Parser.hs"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0202251215403.28682@dupond.inf.ufpr.br>
Content-Description: 
Content-Disposition: attachment; filename="Parser.hs"

bW9kdWxlIFBhcnNlciB3aGVyZQ0NCg0NCnBhcnNlciB4cwkJPSBwYXJzZXIw
ICh3b3JkcyB4cykNDQoNDQpwYXJzZXIwIFtdCQk9IFtdDQ0KcGFyc2VyMCAo
eDp4cykJPSBpZk5lZ2F0aXZlIHg6cGFyc2VyMCB4cw0NCg0NCmlmTmVnYXRp
dmUgKHg6eHMpCT0gIGlmICh4ID09ICctJykgdGhlbiAobmVnYXRpdmUgeHMp
IGVsc2UgKG5vbk5lZ2F0aXZlICh4OnhzKSkNDQoNDQpuZWdhdGl2ZSB4cwkJ
PSAoMCAtIGZzdCAocmVhZERlYyB4cyEhMCkpDQ0Kbm9uTmVnYXRpdmUgeHMJ
PSBmc3QgKHJlYWREZWMgeHMhITApDQ0K
--298362324-1557178554-1014650140=:28682--