1
A dialogue on poverty
2

3
        On the night when the rain beats,
4
        Driven by the wind,
5
        On the night when the snowflakes mingle
6
        With a sleety rain,
7
        I feel so helplessly cold.
8
        I nibble at a lump of salt,
9
        Sip the hot, oft-diluted dregs of _sake_;
10
        And coughing, snuffling,
11
        And stroking my scanty beard,
12
        I say in my pride,
13
        "There's none worthy, save I!"
14
        But I shiver still with cold.
15
        I pull up my hempen bedclothes,
16
        Wear what few sleeveless clothes I have,
17
        But cold and bitter is the night!
18
        As for those poorer than myself,        
19
        Their parents must be cold and hungry,
20
        Their wives and children beg and cry.
21
        Then, how do you struggle through life?
22
        
23
        Wide as they call the heaven and earth,
24
        For me they have shrunk quite small;
25
        Bright though they call the sun and moon,
26
        They never shine for me.
27
        Is it the same with all men,
28
        Or for me alone?
29
        By rare chance I was born a man
30
        And no meaner than my fellows,
31
        But, wearing unwadded sleeveless clothes
32
        In tatters, like weeds waving in the sea,
33
        Hanging from my shoulders,
34
        And under the sunken roof,
35
        Within the leaning walls,
36
        Here I lie on straw
37
        Spread on bare earth,
38
        With my parents at my pillow,
39
        And my wife and children at my feet,
40
        All huddled in grief and tears.
41
        No fire sends up smoke
42
        At the cooking-place,
43
        And in the cauldron
44
        A spider spins its web.
45
        With not a grain to cook,
46
        We moan like the night thrush.
47
        Then, "to cut," as the saying is,
48
        "The ends of what is already too short,"
49
        The village headman comes,
50
        With rod in hand, to our sleeping place,
51
        Growling for his dues.
52
        Must it be so hopeless --
53
        The way of this world?
54

55
        -- Yamanoue Okura
