
﻿ CHAPTER V. RESULT OF THE DANGERS . Gringoire , thoroughly stunned by his fall , remained on the pavement in front of the Holy Virgin at the street corner . Little by little , he regained his senses ; at first , for several minutes , he was floating in a sort of half-somnolent revery , which was not without its charm , in which aeriel figures of the gypsy and her goat were coupled with Quasimodo 's heavy fist . This state lasted but a short time . A decidedly vivid sensation of cold in the part of his body which was in contact with the pavement , suddenly aroused him and caused his spirit to return to the surface . " Whence comes this chill ? " he said abruptly , to himself . He then perceived that he was lying half in the middle of the gutter . " That devil of a hunchbacked cyclops ! " he muttered between his teeth ; and he tried to rise . But he was too much dazed and bruised ; he was forced to remain where he was . Moreover , his hand was tolerably free ; he stopped up his nose and resigned himself . " The mud of Paris , " he said to himself--for decidedly he thought that he was sure that the gutter would prove his refuge for the night ; and what can one do in a refuge , except dream ? --"the mud of Paris is particularly stinking ; it must contain a great deal of volatile and nitric salts . That , moreover , is the opinion of Master Nicholas Flamel , and of the alchemists-- " The word " alchemists " suddenly suggested to his mind the idea of Archdeacon Claude Frollo . He recalled the violent scene which he had just witnessed in part ; that the gypsy was struggling with two men , that Quasimodo had a companion ; and the morose and haughty face of the archdeacon passed confusedly through his memory . " That would be strange ! " he said to himself . And on that fact and that basis he began to construct a fantastic edifice of hypothesis , that card-castle of philosophers ; then , suddenly returning once more to reality , " Come ! I 'm freezing ! " he ejaculated . The place was , in fact , becoming less and less tenable . Each molecule of the gutter bore away a molecule of heat radiating from Gringoire 's loins , and the equilibrium between the temperature of his body and the temperature of the brook , began to be established in rough fashion . Quite a different annoyance suddenly assailed him . A group of children , those little bare-footed savages who have always roamed the pavements of Paris under the eternal name of _gamins_ , and who , when we were also children ourselves , threw stones at all of us in the afternoon , when we came out of school , because our trousers were not torn--a swarm of these young scamps rushed towards the square where Gringoire lay , with shouts and laughter which seemed to pay but little heed to the sleep of the neighbors . They were dragging after them some sort of hideous sack ; and the noise of their wooden shoes alone would have roused the dead . Gringoire who was not quite dead yet , half raised himself . " Ohé , Hennequin Dandéche ! Ohè , Jehan Pincebourde ! " they shouted in deafening tones , " old Eustache Moubon , the merchant at the corner , has just died . We 've got his straw pallet , we 're going to have a bonfire out of it . It 's the turn of the Flemish to-day ! " And behold , they flung the pallet directly upon Gringoire , beside whom they had arrived , without espying him . At the same time , one of them took a handful of straw and set off to light it at the wick of the good Virgin . " S'death ! " growled Gringoire , " am I going to be too warm now ? " It was a critical moment . He was caught between fire and water ; he made a superhuman effort , the effort of a counterfeiter of money who is on the point of being boiled , and who seeks to escape . He rose to his feet , flung aside the straw pallet upon the street urchins , and fled . " Holy Virgin ! " shrieked the children ; " 'tis the merchant 's ghost ! " And they fled in their turn . The straw mattress remained master of the field . Belleforet , Father Le Juge , and Corrozet affirm that it was picked up on the morrow , with great pomp , by the clergy of the quarter , and borne to the treasury of the church of Saint Opportune , where the sacristan , even as late as 1789 , earned a tolerably handsome revenue out of the great miracle of the Statue of the Virgin at the corner of the Rue Mauconseil , which had , by its mere presence , on the memorable night between the sixth and seventh of January , 1482 , exorcised the defunct Eustache Moubon , who , in order to play a trick on the devil , had at his death maliciously concealed his soul in his straw pallet . 