
﻿ Part II , Chapter II " And what if there has been a search already ? What if I find them in my room ? " But here was his room . Nothing and no one in it . No one had peeped in . Even Nastasya had not touched it . But heavens ! how could he have left all those things in the hole ? He rushed to the corner , slipped his hand under the paper , pulled the things out and lined his pockets with them . There were eight articles in all : two little boxes with ear-rings or something of the sort , he hardly looked to see ; then four small leather cases . There was a chain , too , merely wrapped in newspaper and something else in newspaper , that looked like a decoration . . . . He put them all in the different pockets of his overcoat , and the remaining pocket of his trousers , trying to conceal them as much as possible . He took the purse , too . Then he went out of his room , leaving the door open . He walked quickly and resolutely , and though he felt shattered , he had his senses about him . He was afraid of pursuit , he was afraid that in another half-hour , another quarter of an hour perhaps , instructions would be issued for his pursuit , and so at all costs , he must hide all traces before then . He must clear everything up while he still had some strength , some reasoning power left him . . . . Where was he to go ? That had long been settled : " Fling them into the canal , and all traces hidden in the water , the thing would be at an end . " So he had decided in the night of his delirium when several times he had had the impulse to get up and go away , to make haste , and get rid of it all . But to get rid of it , turned out to be a very difficult task . He wandered along the bank of the Ekaterininsky Canal for half an hour or more and looked several times at the steps running down to the water , but he could not think of carrying out his plan ; either rafts stood at the steps ' edge , and women were washing clothes on them , or boats were moored there , and people were swarming everywhere . Moreover he could be seen and noticed from the banks on all sides ; it would look suspicious for a man to go down on purpose , stop , and throw something into the water . And what if the boxes were to float instead of sinking ? And of course they would . Even as it was , everyone he met seemed to stare and look round , as if they had nothing to do but to watch him . " Why is it , or can it be my fancy ? " he thought . At last the thought struck him that it might be better to go to the Neva . There were not so many people there , he would be less observed , and it would be more convenient in every way , above all it was further off . He wondered how he could have been wandering for a good half- hour , worried and anxious in this dangerous past without thinking of it before . And that half-hour he had lost over an irrational plan , simply because he had thought of it in delirium ! He had become extremely absent and forgetful and he was aware of it . He certainly must make haste . He walked towards the Neva along V — — Prospect , but on the way another idea struck him . " Why to the Neva ? Would it not be better to go somewhere far off , to the Islands again , and there hide the things in some solitary place , in a wood or under a bush , and mark the spot perhaps ? " And though he felt incapable of clear judgment , the idea seemed to him a sound one . But he was not destined to go there . For coming out of V — — Prospect towards the square , he saw on the left a passage leading between two blank walls to a courtyard . On the right hand , the blank unwhitewashed wall of a four-storied house stretched far into the court ; on the left , a wooden hoarding ran parallel with it for twenty paces into the court , and then turned sharply to the left . Here was a deserted fenced-off place where rubbish of different sorts was lying . At the end of the court , the corner of a low , smutty , stone shed , apparently part of some workshop , peeped from behind the hoarding . It was probably a carriage builder 's or carpenter 's shed ; the whole place from the entrance was black with coal dust . Here would be the place to throw it , he thought . Not seeing anyone in the yard , he slipped in , and at once saw near the gate a sink , such as is often put in yards where there are many workmen or cab-drivers ; and on the hoarding above had been scribbled in chalk the time-honoured witticism , " Standing here strictly forbidden . " This was all the better , for there would be nothing suspicious about his going in . " Here I could throw it all in a heap and get away ! " Looking round once more , with his hand already in his pocket , he noticed against the outer wall , between the entrance and the sink , a big unhewn stone , weighing perhaps sixty pounds . The other side of the wall was a street . He could hear passers-by , always numerous in that part , but he could not be seen from the entrance , unless someone came in from the street , which might well happen indeed , so there was need of haste . He bent down over the stone , seized the top of it firmly in both hands , and using all his strength turned it over . Under the stone was a small hollow in the ground , and he immediately emptied his pocket into it . The purse lay at the top , and yet the hollow was not filled up . Then he seized the stone again and with one twist turned it back , so that it was in the same position again , though it stood a very little higher . But he scraped the earth about it and pressed it at the edges with his foot . Nothing could be noticed . Then he went out , and turned into the square . Again an intense , almost unbearable joy overwhelmed him for an instant , as it had in the police-office . " I have buried my tracks ! And who , who can think of looking under that stone ? It has been lying there most likely ever since the house was built , and will lie as many years more . And if it were found , who would think of me ? It is all over ! No clue ! " And he laughed . Yes , he remembered that he began laughing a thin , nervous noiseless laugh , and went on laughing all the time he was crossing the square . But when he reached the K — — Boulevard where two days before he had come upon that girl , his laughter suddenly ceased . Other ideas crept into his mind . He felt all at once that it would be loathsome to pass that seat on which after the girl was gone , he had sat and pondered , and that it would be hateful , too , to meet that whiskered policeman to whom he had given the twenty copecks : " Damn him ! " He walked , looking about him angrily and distractedly . All his ideas now seemed to be circling round some single point , and he felt that there really was such a point , and that now , now , he was left facing that point—and for the first time , indeed , during the last two months . " Damn it all ! " he thought suddenly , in a fit of ungovernable fury . " If it has begun , then it has begun . Hang the new life ! Good Lord , how stupid it is ! . . . And what lies I told to-day ! How despicably I fawned upon that wretched Ilya Petrovitch ! But that is all folly ! What do I care for them all , and my fawning upon them ! It is not that at all ! It is not that at all ! " Suddenly he stopped ; a new utterly unexpected and exceedingly simple question perplexed and bitterly confounded him . " If it all has really been done deliberately and not idiotically , if I really had a certain and definite object , how is it I did not even glance into the purse and do n't know what I had there , for which I have undergone these agonies , and have deliberately undertaken this base , filthy degrading business ? And here I wanted at once to throw into the water the purse together with all the things which I had not seen either . . . how 's that ? " Yes , that was so , that was all so . Yet he had known it all before , and it was not a new question for him , even when it was decided in the night without hesitation and consideration , as though so it must be , as though it could not possibly be otherwise . . . . Yes , he had known it all , and understood it all ; it surely had all been settled even yesterday at the moment when he was bending over the box and pulling the jewel-cases out of it . . . . Yes , so it was . " It is because I am very ill , " he decided grimly at last , " I have been worrying and fretting myself , and I do n't know what I am doing . . . . Yesterday and the day before yesterday and all this time I have been worrying myself . . . . I shall get well and I shall not worry . . . . But what if I do n't get well at all ? Good God , how sick I am of it all ! " He walked on without resting . He had a terrible longing for some distraction , but he did not know what to do , what to attempt . A new overwhelming sensation was gaining more and more mastery over him every moment ; this was an immeasurable , almost physical , repulsion for everything surrounding him , an obstinate , malignant feeling of hatred . All who met him were loathsome to him—he loathed their faces , their movements , their gestures . If anyone had addressed him , he felt that he might have spat at him or bitten him . . . . He stopped suddenly , on coming out on the bank of the Little Neva , near the bridge to Vassilyevsky Ostrov . " Why , he lives here , in that house , " he thought , " why , I have not come to Razumihin of my own accord ! Here it 's the same thing over again . . . . Very interesting to know , though ; have I come on purpose or have I simply walked here by chance ? Never mind , I said the day before yesterday that I would go and see him the day after ; well , and so I will ! Besides I really cannot go further now . " He went up to Razumihin 's room on the fifth floor . The latter was at home in his garret , busily writing at the moment , and he opened the door himself . It was four months since they had seen each other . Razumihin was sitting in a ragged dressing-gown , with slippers on his bare feet , unkempt , unshaven and unwashed . His face showed surprise . " Is it you ? " he cried . He looked his comrade up and down ; then after a brief pause , he whistled . " As hard up as all that ! Why , brother , you 've cut me out ! " he added , looking at Raskolnikov 's rags . " Come sit down , you are tired , I 'll be bound . " And when he had sunk down on the American leather sofa , which was in even worse condition than his own , Razumihin saw at once that his visitor was ill . " Why , you are seriously ill , do you know that ? " He began feeling his pulse . Raskolnikov pulled away his hand . " Never mind , " he said , " I have come for this : I have no lessons . . . . I wanted , . . . but I do n't really want lessons . . . . " " But I say ! You are delirious , you know ! " Razumihin observed , watching him carefully . " No , I am not . " Raskolnikov got up from the sofa . As he had mounted the stairs to Razumihin 's , he had not realised that he would be meeting his friend face to face . Now , in a flash , he knew , that what he was least of all disposed for at that moment was to be face to face with anyone in the wide world . His spleen rose within him . He almost choked with rage at himself as soon as he crossed Razumihin 's threshold . " Good-bye , " he said abruptly , and walked to the door . " Stop , stop ! You queer fish . " " I do n't want to , " said the other , again pulling away his hand . " Then why the devil have you come ? Are you mad , or what ? Why , this is . . . almost insulting ! I wo n't let you go like that . " " Well , then , I came to you because I know no one but you who could help . . . to begin . . . because you are kinder than anyone — cleverer , I mean , and can judge . . . and now I see that I want nothing . Do you hear ? Nothing at all . . . no one 's services . . . no one 's sympathy . I am by myself . . . alone . Come , that 's enough . Leave me alone . " " Stay a minute , you sweep ! You are a perfect madman . As you like for all I care . I have no lessons , do you see , and I do n't care about that , but there 's a bookseller , Heruvimov—and he takes the place of a lesson . I would not exchange him for five lessons . He 's doing publishing of a kind , and issuing natural science manuals and what a circulation they have ! The very titles are worth the money ! You always maintained that I was a fool , but by Jove , my boy , there are greater fools than I am ! Now he is setting up for being advanced , not that he has an inkling of anything , but , of course , I encourage him . Here are two signatures of the German text—in my opinion , the crudest charlatanism ; it discusses the question , 'Is woman a human being ? ' And , of course , triumphantly proves that she is . Heruvimov is going to bring out this work as a contribution to the woman question ; I am translating it ; he will expand these two and a half signatures into six , we shall make up a gorgeous title half a page long and bring it out at half a rouble . It will do ! He pays me six roubles the signature , it works out to about fifteen roubles for the job , and I 've had six already in advance . When we have finished this , we are going to begin a translation about whales , and then some of the dullest scandals out of the second part of Les Confessions we have marked for translation ; somebody has told Heruvimov , that Rousseau was a kind of Radishchev . You may be sure I do n't contradict him , hang him ! Well , would you like to do the second signature of 'Is woman a human being ? ' If you would , take the German and pens and paper—all those are provided , and take three roubles ; for as I have had six roubles in advance on the whole thing , three roubles come to you for your share . And when you have finished the signature there will be another three roubles for you . And please do n't think I am doing you a service ; quite the contrary , as soon as you came in , I saw how you could help me ; to begin with , I am weak in spelling , and secondly , I am sometimes utterly adrift in German , so that I make it up as I go along for the most part . The only comfort is , that it 's bound to be a change for the better . Though who can tell , maybe it 's sometimes for the worse . Will you take it ? " Raskolnikov took the German sheets in silence , took the three roubles and without a word went out . Razumihin gazed after him in astonishment . But when Raskolnikov was in the next street , he turned back , mounted the stairs to Razumihin 's again and laying on the table the German article and the three roubles , went out again , still without uttering a word . " Are you raving , or what ? " Razumihin shouted , roused to fury at last . " What farce is this ? You 'll drive me crazy too . . . what did you come to see me for , damn you ? " " I do n't want . . . translation , " muttered Raskolnikov from the stairs . " Then what the devil do you want ? " shouted Razumihin from above . Raskolnikov continued descending the staircase in silence . " Hey , there ! Where are you living ? " No answer . " Well , confound you then ! " But Raskolnikov was already stepping into the street . On the Nikolaevsky Bridge he was roused to full consciousness again by an unpleasant incident . A coachman , after shouting at him two or three times , gave him a violent lash on the back with his whip , for having almost fallen under his horses ' hoofs . The lash so infuriated him that he dashed away to the railing ( for some unknown reason he had been walking in the very middle of the bridge in the traffic ) . He angrily clenched and ground his teeth . He heard laughter , of course . " Serves him right ! " " A pickpocket I dare say . " " Pretending to be drunk , for sure , and getting under the wheels on purpose ; and you have to answer for him . " " It 's a regular profession , that 's what it is . " But while he stood at the railing , still looking angry and bewildered after the retreating carriage , and rubbing his back , he suddenly felt someone thrust money into his hand . He looked . It was an elderly woman in a kerchief and goatskin shoes , with a girl , probably her daughter wearing a hat , and carrying a green parasol . " Take it , my good man , in Christ 's name . " He took it and they passed on . It was a piece of twenty copecks . From his dress and appearance they might well have taken him for a beggar asking alms in the streets , and the gift of the twenty copecks he doubtless owed to the blow , which made them feel sorry for him . He closed his hand on the twenty copecks , walked on for ten paces , and turned facing the Neva , looking towards the palace . The sky was without a cloud and the water was almost bright blue , which is so rare in the Neva . The cupola of the cathedral , which is seen at its best from the bridge about twenty paces from the chapel , glittered in the sunlight , and in the pure air every ornament on it could be clearly distinguished . The pain from the lash went off , and Raskolnikov forgot about it ; one uneasy and not quite definite idea occupied him now completely . He stood still , and gazed long and intently into the distance ; this spot was especially familiar to him . When he was attending the university , he had hundreds of times—generally on his way home—stood still on this spot , gazed at this truly magnificent spectacle and almost always marvelled at a vague and mysterious emotion it roused in him . It left him strangely cold ; this gorgeous picture was for him blank and lifeless . He wondered every time at his sombre and enigmatic impression and , mistrusting himself , put off finding the explanation of it . He vividly recalled those old doubts and perplexities , and it seemed to him that it was no mere chance that he recalled them now . It struck him as strange and grotesque , that he should have stopped at the same spot as before , as though he actually imagined he could think the same thoughts , be interested in the same theories and pictures that had interested him . . . so short a time ago . He felt it almost amusing , and yet it wrung his heart . Deep down , hidden far away out of sight all that seemed to him now—all his old past , his old thoughts , his old problems and theories , his old impressions and that picture and himself and all , all . . . . He felt as though he were flying upwards , and everything were vanishing from his sight . Making an unconscious movement with his hand , he suddenly became aware of the piece of money in his fist . He opened his hand , stared at the coin , and with a sweep of his arm flung it into the water ; then he turned and went home . It seemed to him , he had cut himself off from everyone and from everything at that moment . Evening was coming on when he reached home , so that he must have been walking about six hours . How and where he came back he did not remember . Undressing , and quivering like an overdriven horse , he lay down on the sofa , drew his greatcoat over him , and at once sank into oblivion . . . . It was dusk when he was waked up by a fearful scream . Good God , what a scream ! Such unnatural sounds , such howling , wailing , grinding , tears , blows and curses he had never heard . He could never have imagined such brutality , such frenzy . In terror he sat up in bed , almost swooning with agony . But the fighting , wailing and cursing grew louder and louder . And then to his intense amazement he caught the voice of his landlady . She was howling , shrieking and wailing , rapidly , hurriedly , incoherently , so that he could not make out what she was talking about ; she was beseeching , no doubt , not to be beaten , for she was being mercilessly beaten on the stairs . The voice of her assailant was so horrible from spite and rage that it was almost a croak ; but he , too , was saying something , and just as quickly and indistinctly , hurrying and spluttering . All at once Raskolnikov trembled ; he recognised the voice—it was the voice of Ilya Petrovitch . Ilya Petrovitch here and beating the landlady ! He is kicking her , banging her head against the steps—that 's clear , that can be told from the sounds , from the cries and the thuds . How is it , is the world topsy-turvy ? He could hear people running in crowds from all the storeys and all the staircases ; he heard voices , exclamations , knocking , doors banging . " But why , why , and how could it be ? " he repeated , thinking seriously that he had gone mad . But no , he heard too distinctly ! And they would come to him then next , " for no doubt . . . it 's all about that . . . about yesterday . . . . Good God ! " He would have fastened his door with the latch , but he could not lift his hand . . . besides , it would be useless . Terror gripped his heart like ice , tortured him and numbed him . . . . But at last all this uproar , after continuing about ten minutes , began gradually to subside . The landlady was moaning and groaning ; Ilya Petrovitch was still uttering threats and curses . . . . But at last he , too , seemed to be silent , and now he could not be heard . " Can he have gone away ? Good Lord ! " Yes , and now the landlady is going too , still weeping and moaning . . . and then her door slammed . . . . Now the crowd was going from the stairs to their rooms , exclaiming , disputing , calling to one another , raising their voices to a shout , dropping them to a whisper . There must have been numbers of them—almost all the inmates of the block . " But , good God , how could it be ! And why , why had he come here ! " Raskolnikov sank worn out on the sofa , but could not close his eyes . He lay for half an hour in such anguish , such an intolerable sensation of infinite terror as he had never experienced before . Suddenly a bright light flashed into his room . Nastasya came in with a candle and a plate of soup . Looking at him carefully and ascertaining that he was not asleep , she set the candle on the table and began to lay out what she had brought—bread , salt , a plate , a spoon . " You 've eaten nothing since yesterday , I warrant . You 've been trudging about all day , and you 're shaking with fever . " " Nastasya . . . what were they beating the landlady for ? " She looked intently at him . " Who beat the landlady ? " " Just now . . . half an hour ago , Ilya Petrovitch , the assistant superintendent , on the stairs . . . . Why was he ill-treating her like that , and . . . why was he here ? " Nastasya scrutinised him , silent and frowning , and her scrutiny lasted a long time . He felt uneasy , even frightened at her searching eyes . " Nastasya , why do n't you speak ? " he said timidly at last in a weak voice . " It 's the blood , " she answered at last softly , as though speaking to herself . " Blood ? What blood ? " he muttered , growing white and turning towards the wall . Nastasya still looked at him without speaking . " Nobody has been beating the landlady , " she declared at last in a firm , resolute voice . He gazed at her , hardly able to breathe . " I heard it myself . . . . I was not asleep . . . I was sitting up , " he said still more timidly . " I listened a long while . The assistant superintendent came . . . . Everyone ran out on to the stairs from all the flats . " " No one has been here . That 's the blood crying in your ears . When there 's no outlet for it and it gets clotted , you begin fancying things . . . . Will you eat something ? " He made no answer . Nastasya still stood over him , watching him . " Give me something to drink . . . Nastasya . " She went downstairs and returned with a white earthenware jug of water . He remembered only swallowing one sip of the cold water and spilling some on his neck . Then followed forgetfulness . 