Chapter 6

Thinking in Circles: The Power of Recursion

In This Chapter

arrow Refining your thinking to make it more powerful

arrow Dialling into dialectical thinking

arrow Taking practical ideas from design philosophies

arrow Spotting the important points in an argument

The transition from data to theory requires creative imagination. Scientific hypotheses are not derived from observed facts but invented in order to account for them. They constitute guesses at . . . uniformities and patterns that might underlie the occurrence. ‘Happy guesses’ of this kind require great ingenuity.

Carl Hempel (Philosophy of Natural Science, Prentice-Hall 1966, p. 15)

The quote above from Carl Hempel, a 20th- century American physicist, points at one of the great circles of science — that theories don’t appear in a puff of smoke, but emerge out of a chain of events, starting with guesses about patterns that may or may not be there in the data. The guess then influences the selection of data, and that in turn affects the exact nature of the scientific theory. Science is actually a kind of a ‘chicken and the egg’ situation — which comes first, the theory or the observation? And like the chicken and the egg, really it doesn’t make much sense to try to answer that, the one affects and requires the other — in a perpetual circle.

At school and college, however, children and students are encouraged, to think in straight lines: to start at the beginning, work their way through the middle and then stop at the end. But in the big, wide world, things are more complicated than that. Nature is all about cycles — and circles. Hardly surprising then that Critical Thinking encompasses all shapes and sizes of thinking, by which I mean not only the linear logic of informal arguments, with their sequence of steps from premises to conclusions, but also powerful techniques of thinking with their roots in many different areas of life.

In this chapter I start by looking at some of the powerful — techniques that lie behind computer science, and also at some of the great ideas from design philosophies, used across a broad swathe of practical subjects. Both approaches emphasise the idea of repeating processes to refine an argument in order to progress. And in between, I take a look at a powerful, circular idea from philosophy — dialectical thinking.

One of the great tips from design thinking is to generally avoid ‘yes/no’ language and questions, and interact with other people in a non-linear, less ‘directive’ way. Instead of questions and answers, which are like a series of straight lines, sometimes it is better to go for stories — which are like shapes. And so, to finish this chapter you can test your skills out on a real story, which contains within it a ‘real argument’, as a practical exercise. Then you may want to return to the start and read this introduction again!

Thinking Like a Computer Programmer

If you find the potential implication behind this heading scary, let me reassure you. When I advise thinking like a computer programmer, I don’t mean the following type of yikes-inducing thing:

  • x = 3 GOTO line 24. STOP! Next y. Repeat until ‘bedtime’ is TRUE. Hello World!

No. The things to admire about computer programming are much less to do with mathematics and much more to do with communication, language and arguments. First of all, software designers have to work out exactly what the problem is before they can work out how to program a computer to do it. There’s no chance that a computer will guess what a programmer meant to say, so programmers have to be very clear in their own minds, and able to communicate their message without ambiguity. This skill is just as important for Critical Thinkers.

A second powerful technique for Critical Thinkers used every day in computer science is recursion. What’s that then? Going round in circles. Far from being a set list of steps, computer programs endlessly refer back to themselves, one section (or ‘procedure’) calling up another section which in turn calls up another which maybe checks back with the first. Only this time with new information to process.

The key idea to grasp here is that a circle in computer programming means a series of steps repeated, and repeating things is not bad! The ability to continually repeat steps isn’t a weakness or an admission of defeat but a central strength of programs.

Another principle of computer science worth borrowing is that of modularity. Instead of having one great long text with everything in it, you have a series of short discrete sections. Books like this one have taken a leaf out of computer science — because the material is arranged so that it does not have to be read in one long linear sequence, but so you can ‘dip in and out’ of it and create your own sequence of reading to suit your precise needs.

Taking tips on clarity from programmers

The first thing computer programmers have to discover is how to express themselves clearly. The machine doesn’t ‘guess’ what you mean . . . computers just follow instructions, with one step following another. In fact, the most dangerous step a computer can take is the one that starts a circle. When your computer stops working in the middle of an operation it is usually because the programme is following a circular sequence of instructions that will never end. It is not for nothing that the jokers of Apple named their posh California HQ ‘No. 1 Infinite Loop’.

Now you may think that expressing yourself clearly sounds like something you’re already pretty good at. But try explaining how to tie a shoelace to a 5-year-old without demonstrating the method physically:

Take a lace. Pull it tight. Take the other lace. Pull it tight. Pull the first lace so that it’s under the second lace and then twist it so that it makes a kind of circle. Oh dear. . . . Place it under the other lace and. . . .

In fact, explaining laces has always been considered a tricky problem to describe, and computers are usually given simpler tasks. But whatever the job, long before the programmer gets down to the basics of ‘coding’ – the ‘if x = 2 then y – y + 1’ sort of stuff – someone has analysed the task and come up with an algorithm to solve it.

Thinking methodically with algorithms

jargonbuster Algorithms sounds like a type of jazz-funk music – al-go-rhythms! – but the word really means a sequence of steps taken to solve a problem, a methodical strategy for solving problems in a systematic manner. This type of approach is integral to Critical Thinking, particularly Critical Writing.

Here the sequence of steps in an essay or book is crucial. The more complex the arguments the more you need to have a clear plan, and what is more, to communicate the strategy to the reader. Readers need to know how the parts of the argument connect to each other, to be given ‘signposts’ and summaries. Stripped down to their essence, these kinds of structural considerations constitute an algorithm.

Approaching the chaos

At first sight problems can look chaotic: they need to be analysed and ‘broken down’. But how do programmers — or indeed anyone — move from chaos to order? The bottom line is that no explicit way exists of devising an algorithm for a new problem. Instead, this part remains rooted in creative insight. In other words, to be good at solving problems you need to be able to think divergently — to think about lots of possible solutions. Sometimes, faced with an issue, this kind of thinking is done without you even being aware of it — and when the answer occurs to you it seems to pop up out of nowhere.

trythis Here’s a ‘real world’ problem to solve (‘The Maze Flow Chart’), which shows you how to express a problem in a precise and unambiguous form. In so doing, you may find that your understanding of what is required is not quite as clear as you thought!

A group of tourists have to find their way through a maze of streets from the town gate to the café (check out Figure 6-1). Think about how a computer programmer may set about writing an algorithm to help tackle this issue.

image

Figure 6-1: The old town's streets are a bit of a maze!

Looking at the figure, I expect you can see that one answer could consist of a series of very precise instructions, the sort you’d get from a knowledgeable local:

  1. Enter the old town through the town gate.
  2. Turn right.
  3. Take the first left.
  4. Turn left at the end of that street.
  5. Turn right at the end of that street.
  6. Turn left at the end of that street.
  7. Turn right at the end of that street.
  8. Keep the houses always on your left and just keep walking; the café will be there!

Now that’s the kind of algorithm that I can come up with! It has a few weaknesses, however, notably that it applies only to one very particular problem, one particular walk from one particular starting point through one particular maze of streets. And what if no one knows the town well enough to give this sort of turn-by-turn guidance?

Can you produce an alternative set of instructions that not only gets the tourists safely to their lattes and cappuccinos, but also works in lots of similar town-like mazes?

Flip to the later section ‘Answers To Chapter 6’s Exercises’ for an answer (notice I say ‘an’ not ‘the’!).

Producing a solution

If you think like a computer programmer you have no trouble coming up with an alternative plan for the maze problem.

To begin with, you make sure that you know the starting conditions, which in this case means that you insist on always entering the town through the gate (as shown on the map). That’s the same as before, but then the rules are different; they’re systematic in the sense that they provide a system for dealing with all possible similar situations:

  • Rule 1: Always walk forwards unless a row of houses blocks you, you face a choice of paths or (of course) you find the café.
  • Rule 2: Whenever you encounter a choice of paths, choose the right-hand turn.
  • Rule 3: Whenever the path is blocked, turn around and walk back to the last place with an unexplored choice of path and take the left-hand one instead.

This solution isn’t brilliant, because in most cases the tourists end up walking most of the town before they find the café. But it will get them there — and computers don’t mind trying out lots of options, because they can do it so quickly. As before, the tourists just have to follow the instructions; they don’t need to worry about never getting lost because the system is all they need.

tip Notice that the maze ‘program’ contains circles. That's easier to see if you represent the three steps in a diagram. Even if you're not used to thinking diagrammatically, have a go! Trying to put things into a diagram is great for concentrating the mind.

Distinguishing between semantics and syntax

tip To express yourself clearly and effectively in writing or speech, try being more like a computer and less like Shakespeare. Construct your sentences so that the meaning is unambiguous and listeners or readers can easily follow your line of reasoning, instead of leaving them to imagine alternative arguments you’ve never dreamt of.

remember A useful distinction in computer programming in this regard is between semantics and syntax. In ordinary language:

  • Semantics: Covers questions about the meaning of words or phrases.
  • Syntax: Concerns putting the words and phrases together correctly (grammatically) and considering their positions and relations to each other.

Trainee programmers regularly get that awful message — SYNTAX ERROR — but computers never, ever, complain about semantics, because they aren’t interested in the meaning of words — or even of numbers. They’re symbol processing machines that just move 0s and 1s around very fast. In contrast, natural languages, such as English, are hugely complicated in terms of syntax. Take a phrase like ‘turn off’; it can have many meanings in English. You can turn off a light, turn off a road or turn off studying! In this sense the English language is very flexible, which makes it tricky, but in other ways it is inflexible — which also makes using it hard! For example, unlike other languages, English has strict rules governing the structure of sentences. One is that you usually have to use a subject-verb-object pattern — for example:

The students [Subject] study [Verb] the rules of thinking [Object].

If you write, say, Study the rules of thinking students or The rules of thinking study students, you will run into problems!

A computer program pretty much defines its own rules for how to handle the content — in other words, defines for itself the syntax that controls which words the computer understands, which combinations of words are allowed and the punctuation that must be used too.

Critical Thinking is about avoiding ambiguity and confusion, so leave poetic flourishes to others and become a lover instead of correct syntax.

acloserlook The rules of syntax for natural languages aren’t completely defined and many forms (words, claims, phrases, sentences) are ambiguous. Take even that most serious verb ‘to die’, for instance. Most of the time, this verb’s meaning is pretty well fixed — but you’d be silly to be too worried if you were told that your friend had ‘died’ when selected to sing Madonna's ‘Like a Virgin’ at the office Christmas party.

The nearby sidebar ‘Playing at semantics’ has more on such complications.

Almost every word has another sense, as standup comedians know very well. (In a pub, a man orders a double entendre. ‘Sure,’ says the bartender. ‘You want a large one?’) Normally, however, people hardly notice the ambiguity of language, because they're so good at ‘guessing’ the meaning from the context. Computers — even today — are lousy at this.

remember If you can’t explain your approach to a problem in a form that can be turned later into a computer program – you probably aren’t being quite clear enough.

Combining the Thinking Spheres

The thinking sphere is a buzzword in Critical Thinking that's taken from philosophy. One use made of it is to emphasise two very different modes of thinking, two distinct ‘spheres’ — a thinking one and a feeling one .

In the West, people normally assume that thoughts are an inner, silent language in their brains. But there are plenty of other philosophical and cultural traditions that think about thinking as a much broader process, encompassing not only thoughts as a kind of inner dialogue, but also feelings and emotions, sensations and perceptions, and even a feeling of a sort of inner awareness. I’m talking meditation now!

jargonbuster The term the thinking sphere seems to go back to the German philosopher, Georg Hegel who warns, in an obscure book called Lectures on the Philosophy of Religion (developed in four versions from 1821 to 1831) that ‘If the thinking sphere empties itself,’ then the brain can no longer makes sense of any of the information the senses provide, ‘in the same way that I cannot use my eyes without a light source if the light is taken away’.

Even though Hegel seems not to have used the phrase again, it has often been used to emphasise a supposed split in the various possible ways of experiencing the world.

Actually, Hegel tended to split everything into two opposed extremes, which he then predicted would always ‘fight it out’ until a new third force emerged combining the best of the previous ones. For example, he supposed that, in the distant past, human beings had split into the two groups of masters and slaves and the necessary result was an all-powerful state. This is an example of what he described (rather grandly) as a new and unprecedented way of thinking and named dialectical.

Hegel was very proud of his idea, which he saw as entirely novel and very powerful. I'm not sure it is either really, but Hegel has touched upon something important for Critical Thinking which is that it often does help to ‘deconstruct’ issues by identifying two opposed views or perspectives and then trying to find a way to combine or reconcile them. This new view would need to combine elements of both and supercede them, and would then offer a more complete perspective on the issue than could have been obtained if you tried to avoid the conflict in the first place.

Another ‘circular’ characteristic of Hegel’s new way of thinking is that the new view inevitably creates its own ‘contradiction’ as he puts it, that is to say, every new idea produces an opposed critique (or at the very least refinement) of the idea. Sure enough, these two views eventually have to battle it out too.

acloserlook Hegel says that his new dialectical form of thinking is superior to the old ways (the structured thinking kind and the intuitive or emotional kind) because it includes already within it multiple perspectives and seemingly contradictory information and positions. He sums up this idea of continually bringing together opposites under new headings by saying that philosophy ‘resembles a circle of circles’.

Sort, Select, Amplify, Generate: Using Design Skills to See New Solutions

You may be sceptical to hear that design philosophies can offer you a powerful set of tools for thinking. But these design skills aren’t about constructing items from wood or fabric in the workshop. Instead they draw on ideas and experience from design and engineering, as well as social science, business and computer studies.

remember The philosophy of design is very old and pre-dates engineering. One of its most characteristic parts, and the most useful for Critical Thinking, is that it puts the human factor at the heart of its solutions. For an example, see the nearby sidebar ‘Powers of Ten’.

This section is all about how to treat data — or in a broader sense, how to refine ideas. The language — ‘Sort, Select, Amplify, Generate’ — is that of computer science, but the concepts are universal: Critical Thinkers need to organize their thoughts, weed out the irrelevant aspects, expand on the key issues and hopefully emerge with something new and original at the end.

Specifically in this section I examine ‘Check all the Angles’, which is a simple way to reveal contradictions and conflicting views that may be blocking the finding of solutions; an important idea in software design called ‘State-gather-analyse’ which is about how to handle information, and then it's back to circles again — or at least loops. The section ‘Look close, look away, look back loops’ and the box on ‘Why questions’ will give you some practical tips that will help you both to generate insights and to help them grow.

Check all the angles

tip Checking all the angles is a standard tool from design skills that’s elementary, but efficient, and incredibly simple to do. It's used for ‘unpacking’ contradictions and highlighting possible conflicts, always a useful skill in Critical Thinking.

Here’s how it works. Take a sheet of paper and draw a square on it with a question (or problem or issue) at the top. Split the square into quadrants that indicate the following:

  • First quadrant: Concerns the what and the how of the issue. Put your observationas and experiences here.
  • Second quadrant: Examines who and why — who gains and who loses? Try to guess what is motivating everyone too.
  • Third quadrant: Relates to values — whether it’s a good wheeze and why just maybe it’s a bad one. Think about the overall aims and context here.
  • Fourth quadrant: Looks at the practicalities — the when and the where, but how and who may come in to it again too.

If the question was ‘How can I get a job as a radio presenter’, then the sort of things that you might put in the four quadrants might be:

  • First quadrant: I want to be on a big, national station, not just a little one. Definitely not hospital radio!
  • Second quadrant: I suppose I want to feel important and be popular! Plus it’s a great way to hear music and meet cool people.
  • Third quadrant: Maybe I need to get out more — make some new friends. Plus I used to want to be a doctor and help cure people.
  • Fourth quadrant: I should try finding out a bit about how all the famous DJs got their jobs, and maybe go to my local radio station and ask if they offer any work experience. I have to get some experience first on (maybe) hospital radio.

Don’t get hung up on which point goes where. There is a lot of overlap in the potential interpretations of the quadrants. The point is really to trigger ideas and encourage people to step back slightly from an issue in the hope that this brings a new perspective. It can be a great way to get a new take on a student assignment, for example.

The idea is that insights emerge from contradictions (like the hospital radio one!) within a quadrant or from two different quadrants.

The unpacking method is similar to the idea of having a critical reading checklist. David Larabee of the Stanford School of Education developed the original checklist tool and noting what he had in mind is useful. He says that people should always ask themselves questions in four basic areas about their point of view, which I summarise as follows:

  • What's your aim? What’s your perspective or framework? Is it user-centred, needs-based or insight-driven?
  • Who says? How ‘valid’ is your point of view? Is your position supported by evidence and experience?
  • What's new? What’s significant?
  • Why does your point of view matter anyway? Who cares? How will it make a difference?

remember These questions correspond to the four quadrants. But the important thing isn't to put points in the correct corners; it's to think through issues from all the angles.

State the problem, gather relevant information and analyse the implications

remember Solving a problem involves several stages, but the most difficult part is knowing how to pose it. In fact, before you can state the problem effectively you need to clarify its nature and have some idea about the sort of answer you’re looking for. Only when you have a working notion of these aspects can you formulate questions and start to gather information systematically.

So formulating questions is not only the necessary first step but part of the second and third steps. Once again, the Critical Thinker needs to be prepared to think in circles by being prepared to go back to stage one after refining ideas as part of stages two and three.

As you gather info for these purposes, you need to collate and organise it, in the process condensing and summarising the information.

Analysing the material should enable you to make better sense of the original problem — so you may want to go back to where you started and fine-tune the questions you started with. There’s a long tradition of that too — the philosopher credited with bringing in scientific thinking, René Descartes advised his readers (in what is in many ways a foundation text in ‘Critical Thinking’, the Discourse on the Method, published way back in 1637!) something similar: ‘to divide each of the difficulties under examination into as many parts as possible, and as might be necessary for its adequate solution’. You may also want to break the problem down into smaller, more manageable parts, each with its own information-gathering procedures.

trythis Practise your skills by investigating this rather tricky poser, which I call ‘Help me!’ Stating the problem is easy – but do you also need to gather and/or analyse?

Joanna’s mother has had three children — all girls. The first child she named April. The second child she named May. Got all that? Now, what do you think was the third child's name? (The closing section ‘Answers To Chapter 6’s Exercises’ has the answer.)

Look close, look away, look back

Where others look for clarity and precision before starting, design skills encourages ambiguity and vagueness! It suggests that you start with a vague impression of the whole and then take a series of ever-closer looks at the issue. These are called look close, look away, look back loops and ideas emerge and take shape during these stages:

  • Loop 1: Ask why. Designers use lots of brainstorming techniques that often boil down to the simple skill of asking yourself questions. Even when you think you know the answer, ask people why they do or say things. The answers may surprise you.

    tipObviously don’t annoy everyone by simply repeating ‘why’ like a mantra, but pick up elements of what others have said and then press for new information and insights. The nearby sidebar ‘Why ask why?’ contains a couple of examples

  • Loop 2: Test your Idea. In a design context, the testing may be by making a physical prototype or just by imagining something. The key thing is to suppose an action, think about what effects and consequences may follow and then take those insights back to your starting idea to see whether you can improve it. This process is often called iteration. The key idea is that the more times you go round the cycle – the better!

Try to avoid facts

tip Another way to get new and broader insights when talking about issues and problems with other people is to avoid factual exchanges.

For example, if you’re talking about gardening or landscaping, don't ask, ‘When is the best time of year to plant trees?’, but rather, ‘Tell me about your successes and failures in planting trees’. The first kind of question gets a pretty short answer (‘in the autumn’), whereas the second kind may produce unexpected extra information.

Design thinking encourages storytelling. This goes against many prejudices you may have from school — stories aren’t reliable, aren't ‘true’. But whether or not the stories are true is irrelevant; they reveal how people think about the world.

Storytelling is a deeper form of communication than the mere exchange of facts and when people draw on more profound insights you’re likely to spot more inconsistencies. But don’t criticise and tell them to think harder! In design thinking, inconsistencies are much-valued paths to interesting insights.

remember Observing the difference between what people say and what they do is worth any number of facts in terms of understanding processes. Inconsistencies are precious clues giving access to the most profound insights.

Ordering Yourself a Nice, Fresh Argument! (Exercise)

In this section I’ve come up with the kind of exercise that students regularly use in Critical Thinking courses. To explain: they are given an extract from a published source, often it is less fun that this one, but the principle is the same, and asked to identify elements of the ‘argument’. A sizeable proportion not only of conventional Critical Thinking courses but generalized intelligence testing is devoted to this kind of stripping down of texts for the core structure and argument. I have used the story of Frankenstein to give you a more light-hearted opportunity to practice a very business-like skill.

The extract is from Mary Shelley's classic novel Frankenstein, which is the name of the mad professor, by the way, not the large and ugly creature he creates out of bits and pieces of bodies robbed from the local churchyard. Anyway, near the beginning of the story, before he goes rampaging around, the monster tries to insist on his right to have a companion in life.

trythis Your task is to help Dr Frankenstein’s monster by putting his assumptions upfront, along with evidence to support them, all in short bullet points. Also aim to pin down the argument that will persuade anyone who accepts the monster’s premises to also accept his conclusion.

So jot your ideas down and then see the next section for my take on the answer.

THE BEING finished speaking, and fixed his looks upon me in expectation of a reply. But I was bewildered, perplexed, and unable to arrange my ideas sufficiently to understand the full extent of his proposition. He continued:

You must create a female for me, with whom I can live in the interchange of those sympathies necessary for my being. This you alone can do; and I demand it of you as a right which you must not refuse to concede.

The latter part of his tale had kindled anew in me the anger that had died away while he narrated his peaceful life among the cottagers, and, as he said this, I could no longer suppress the rage that burned within me.

I do refuse it,’ I replied; ‘and no torture shall ever extort a consent from me. You may render me the most miserable of men, but you shall never make me base in my own eyes. Shall I create another like yourself, whose joint wickedness might desolate the world! Begone! I have answered you; you may torture me, but I will never consent.

You are in the wrong,’ replied the fiend; ‘and, instead of threatening, I am content to reason with you. I am malicious because I am miserable. Am I not shunned and hated by all mankind? You, my creator, would tear me to pieces, and triumph; remember that, and tell me why I should pity man more than he pities me? You would not call it murder if you could precipitate me into one of those ice-rifts, and destroy my frame, the work of your own hands. Shall I respect man when he condemns me? Let him live with me in the interchange of kindness; and, instead of injury, I would bestow every benefit upon him with tears of gratitude at his acceptance. But that cannot be; the human senses are insurmountable barriers to our union. Yet mine shall not be the submission of abject slavery. I will revenge my injuries: if I cannot inspire love, I will cause fear; and chiefly towards you my arch-enemy, because my creator, do I swear inextinguishable hatred. Have a care: I will work at your destruction, nor finish until I desolate your heart, so that you shall curse the hour of your birth.

A fiendish rage animated him as he said this; his face was wrinkled into contortions too horrible for human eyes to behold; but presently he calmed himself and proceeded

I intended to reason. This passion is detrimental to me; for you do not reflect that you are the cause of its excess. If any being felt emotions of benevolence towards me, should return them an hundred and an hundred fold; for that one creature’s sake, I would make peace with the whole kind! But I now indulge in dreams of bliss that cannot be realised. What I ask of you is reasonable and moderate; I demand a creature of another sex, but as hideous as myself; the gratification is small, but it is all that I can receive, and it shall content me. It is true we shall be monsters, cut off from all the world; but on that account we shall be more attached to one another. Our lives will not be happy, but they will be harmless, and free from the misery I now feel. Oh! my creator, make me happy; let me feel gratitude towards you for one benefit! Let me see that I excite the sympathy of some existing thing; do not deny me my request!

I was moved. I shuddered when I thought of the possible consequences of my consent; but I felt that there was some justice in his argument.

Mary Shelley (Frankenstein, 1818)

Answers To Chapter 6’s Exercises

Here are the answers to this chapter's earlier exercises.

The Maze Flow Chart

Take a look at Figure 6-2 for one approach to addressing this problem.

image

Figure 6-2: One way a computer may tackle the maze problem.

‘Help me!’

The skill needed is definitely information-gathering — no deep analytical skills at all are needed! The girl is called ‘Joanna’. Be careful that your assumptions, perhaps about the progression on months, don't blind you to solutions.

The Monster's Argument

As with many real arguments, the monster’s conclusion is put first, before the evidence and before the argument:

You must create a female for me.

He claims it as a ‘right’, and a crucial part to note is his claim for a right to companionship:

  • Everyone has a right to companionship. (Premise 1)
  • The only possible companion he can have is another monster. (Premise 2)
  • Therefore, Dr Frankenstein must make him a companion. (Conclusion)

Also as in many real arguments, the monster includes some supporting ‘evidence’, expressed as statements of ‘fact’. These claims aren’t really necessary for his main argument, but rather seem to be pressing his case to be considered on the same basis as everyone else:

  • The monster's bad behaviour is only because he's miserable, otherwise he'd be a creature of good character and return kindness shown to him a hundred fold.
  • He’s miserable because he's lonely and shunned by everyone, he says: ‘if I cannot inspire love, I will cause fear’.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.134.130