It’s All About “CATALAN”

If you know what CATALAN numbers can do ,You are curious about competitive programming.”                                                                                      –A_OLD_MONK  

CATALAN numbers are series of amazing numbers which answers your lots of questions with simple implementation (Simple ? it depends how you implement :D).
So before starting about what is the use of CATALAN numbers lets have a look at catalan numbers series…
The first few CATALAN numbers for

n = 0, 1, 2, 3, … are

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, … and So on .

Application’s:-
Few applications of these numbers are:-

1:-Cn counts the number of expressions containing n pairs of parentheses which are correctly matched:
For n=3    (3-left parenthesis,3-right parenthesis),     Cn =5
((())),   ()(()),    ()()(),    (())(),   (()())
2:-Cn is the number of different ways (n + 1) factors can be completely parenthesized.
For n=3                             Cn =5
((ab)c)d,   (a(bc))d ,   (ab)(cd) ,   a((bc)d) ,   a(b(cd))

3:- Count the number of possible Binary Search Trees with n keys

4:-Count the number of full binary trees (A rooted binary tree is full if every vertex has either two children or no children) with (n+1) leaves.

5:-Cn is the number of different ways a convex polygon with (n + 2)  sides can be cut into triangles by connecting vertices with straight lines.
Capture

6:- Cn is the number of permutations of {1, …, n} that avoid the pattern 123 (or any of the other patterns of length 3); that is, the number of permutations with no three-term increasing subsequence. For n = 3, these permutations are 132, 213, 231, 312 and 321. For n = 4, they are 1432, 2143, 2413, 2431, 3142, 3214, 3241, 3412, 3421, 4132, 4213, 4231, 4312 and 4321.

7:-Cn is the number of ways to tile a stairstep shape of height n with n rectangles. The following figure illustrates the case n = 4:
Capture

8:-Cn is the number of ways to form a “mountain ranges” with n upstrokes and n down-strokes that all stay above the original line.The mountain range interpretation is that the mountains will never go below the horizontal.
Capture
9:-Cn is the number of ways that the vertices of a convex 2n-gon can be paired so that the line segments joining paired vertices do not intersect. This is precisely the condition that guarantees that the paired edges can be identified (sewn together) to form a closed surface of genus zero (a topological 2-sphere).

How to find the nth CATALAN Number?

Method 1:-
The recursive definition:-
Capture
Time Complexity:-
Capture
i.e. exponential approx. Capture

Note:- We can use Dynamic Programming(DP) to reduce the complexity from exponential(as above) to O(n2).
                          Using,               catalan[i] += catalan[j] * catalan[i-j-1];

 

Method 2:-
Using Binomial Coefficient :-
Capture
Implementation In C Using Method 2:-

#include<stdio.h>
unsigned long int binomial(unsigned int n, unsigned int k)
{
   unsigned long int res = 1;
       if (k > n - k)
           k = n - k;
     for (int i = 0; i < k; ++i)
     {
       res *= (n - i);
       res /= (i + 1);
     }
  return res;
}
unsigned long int catalan(unsigned int n)
{
  unsigned long int c = binomialCoeff(2*n, n);
return c/(n+1);
}
int main()
{
   for (int i = 0; i < 10; i++)
        printf("%d",catalan(i));
  return 0;
}

Time Complexity:-   O(n).

Note:– If facing problem in implementing any other method ,Please feel free to ask  🙂 .

For more detail click Catalan Numbers

 

8 Queen Problem

This problem is to place 8 queens on the chess board so that they do not check each other. This problem is probably as old as the chess game itself, and thus its origin is not known, but it is known that Gauss studied this problem. If we want to find a single solution, it is not difficult as shown below. If we want to find all possible solutions, the problem is difficult and the backtrack method is the only known method. For 8-queen, we have 92 solutions. If we exclude symmetry, there are 12 solutions.

Consider the general case of the n-Queens Problem

If n is a prime number, a solution is easily found by drawing a straight line in the (n, n) finite plane. Since no two straight lines can intersect at two points, a straight line y=ax+b where a is not equal to 1 or -1 can give a solution. Coordinates start from 0.

Example 1: n = 7, y = 2x
6

X

5

X

4

X

3

X

2

X

1

X

0

X

0 1 2 3 4 5 6
n = 7, y = 3x + 1
6

X

5

X

4

X

3

X

2

X

1

X

0

X

0 1 2 3 4 5 6

We can easily find 28 solutions by a=2, 3, 4, 5, and b=0, 1, 2, 3, 4, 5, 6.

The ratio of analytical solutions for the total solutions for some small p is as follows:

p=5, 10/10, 100%

p=7, 28/40, 70%

p=11, 99/2680, 4%

For composite numbers n=pq, we can make a direct product of the p-queen and q-queen problems. That is, each queen position of the p-queen problem is regarded as a solution of the q-queen problem. We can change the roles of p and q. Thus for 35=5*7, we can generate 10*(40)^5 + 40*(10)^7 solutions.

To generate one solution for a general n, let the plane coordinated by i=0, …, n-1 and j=0, …, n-1.

Suppose n is even. For any k,

(1) If n is not 6k+2,

j = 2i+1, for 0 <= i < n/2
j = 2i mod n, for n/2 <= i < n

Example 2. n=6

5

X

4

X

3

X

2

X

1

X

0

X

0 1 2 3 4 5

(2) If n is not 6k

j = (n/2 + 2i -1) mod n, for 0 <= i < n/2
j = (n/2 + 2i + 2) mod n, for n/2 <= iExample 3. n=8

7

X

6

X

5

X

4

X

3

X

2

X

1

X

0

X

0 1 2 3 4 5 6 7

For odd numbers, we can attach a queen at (n-1, n-1).

Example 4. n=9

7

X

7

X

6

X

5

X

4

X

3

X

2

X

1

X

0

X

0 1 2 3 4 5 6 7

The eight queens problem is frequently used as an example in Artificial Intelligence courses. The object is to place eight queens on an empty chess board so that none of them can take the other.

<div id="crayon-55a8abf48a6a4181057908-1" class="crayon-line"><span class="crayon-p">#include<stdio.h></span></div>
<div id="crayon-55a8abf48a6a4181057908-2" class="crayon-line crayon-striped-line"><span class="crayon-p">#include<math.h></span></div>
<div id="crayon-55a8abf48a6a4181057908-3" class="crayon-line"></div>
<div id="crayon-55a8abf48a6a4181057908-4" class="crayon-line crayon-striped-line"><span class="crayon-t">char</span> <span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-cn">10</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-cn">10</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-5" class="crayon-line"><span class="crayon-t">int</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-6" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-7" class="crayon-line"><span class="crayon-t">void</span> <span class="crayon-e">printmatrix</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-8" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-t">int</span> <span class="crayon-v">i</span><span class="crayon-sy">,</span> <span class="crayon-v">j</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-9" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-e">printf</span><span class="crayon-sy">(</span><span class="crayon-s">"\n"</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-10" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-11" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-12" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">j</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">j</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">j</span><span class="crayon-o">++</span><span class="crayon-sy">)</span></div>
<div id="crayon-55a8abf48a6a4181057908-13" class="crayon-line"><span class="crayon-h">         </span><span class="crayon-e">printf</span><span class="crayon-sy">(</span><span class="crayon-s">"%c\t"</span><span class="crayon-sy">,</span> <span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-v">i</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-v">j</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-14" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-e">printf</span><span class="crayon-sy">(</span><span class="crayon-s">"\n\n"</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-15" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-16" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-17" class="crayon-line"></div>
<div id="crayon-55a8abf48a6a4181057908-18" class="crayon-line crayon-striped-line"><span class="crayon-t">int</span> <span class="crayon-e">getmarkedcol</span><span class="crayon-sy">(</span><span class="crayon-t">int</span> <span class="crayon-v">row</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-19" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-t">int</span> <span class="crayon-v">i</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-20" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span></div>
<div id="crayon-55a8abf48a6a4181057908-21" class="crayon-line"><span class="crayon-h">      </span><span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-v">row</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-v">i</span><span class="crayon-sy">]</span> <span class="crayon-o">==</span> <span class="crayon-s">'Q'</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-22" class="crayon-line crayon-striped-line"><span class="crayon-h">         </span><span class="crayon-st">return</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-23" class="crayon-line"><span class="crayon-h">         </span><span class="crayon-st">break</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-24" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-25" class="crayon-line"><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-26" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-27" class="crayon-line"><span class="crayon-t">int</span> <span class="crayon-e">feasible</span><span class="crayon-sy">(</span><span class="crayon-t">int</span> <span class="crayon-v">row</span><span class="crayon-sy">,</span> <span class="crayon-t">int</span> <span class="crayon-v">col</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-28" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-t">int</span> <span class="crayon-v">i</span><span class="crayon-sy">,</span> <span class="crayon-v">tcol</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-29" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-30" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-v">tcol</span> <span class="crayon-o">=</span> <span class="crayon-e">getmarkedcol</span><span class="crayon-sy">(</span><span class="crayon-v">i</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-31" class="crayon-line"><span class="crayon-h">      </span><span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-v">col</span> <span class="crayon-o">==</span> <span class="crayon-v">tcol</span> <span class="crayon-o">||</span> <span class="crayon-e">abs</span><span class="crayon-sy">(</span><span class="crayon-v">row</span> <span class="crayon-o">-</span> <span class="crayon-v">i</span><span class="crayon-sy">)</span> <span class="crayon-o">==</span> <span class="crayon-e">abs</span><span class="crayon-sy">(</span><span class="crayon-v">col</span> <span class="crayon-o">-</span> <span class="crayon-v">tcol</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div>
<div id="crayon-55a8abf48a6a4181057908-32" class="crayon-line crayon-striped-line"><span class="crayon-h">         </span><span class="crayon-st">return</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-33" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-34" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-st">return</span> <span class="crayon-cn">1</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-35" class="crayon-line"><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-36" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-37" class="crayon-line"><span class="crayon-t">void</span> <span class="crayon-e">nqueen</span><span class="crayon-sy">(</span><span class="crayon-t">int</span> <span class="crayon-v">row</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-38" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-t">int</span> <span class="crayon-v">i</span><span class="crayon-sy">,</span> <span class="crayon-v">j</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-39" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-v">row</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-40" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-41" class="crayon-line"><span class="crayon-h">         </span><span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-e">feasible</span><span class="crayon-sy">(</span><span class="crayon-v">row</span><span class="crayon-sy">,</span> <span class="crayon-v">i</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-42" class="crayon-line crayon-striped-line"><span class="crayon-h">            </span><span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-v">row</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-v">i</span><span class="crayon-sy">]</span> <span class="crayon-o">=</span> <span class="crayon-s">'Q'</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-43" class="crayon-line"><span class="crayon-h">            </span><span class="crayon-e">nqueen</span><span class="crayon-sy">(</span><span class="crayon-v">row</span> <span class="crayon-o">+</span> <span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-44" class="crayon-line crayon-striped-line"><span class="crayon-h">            </span><span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-v">row</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-v">i</span><span class="crayon-sy">]</span> <span class="crayon-o">=</span> <span class="crayon-s">'.'</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-45" class="crayon-line"><span class="crayon-h">         </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-46" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-47" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-sy">}</span> <span class="crayon-st">else</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-48" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-e">printf</span><span class="crayon-sy">(</span><span class="crayon-s">"\nThe solution is:- "</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-49" class="crayon-line"><span class="crayon-h">      </span><span class="crayon-e">printmatrix</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-50" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-51" class="crayon-line"><span class="crayon-sy">}</span></div>
<div id="crayon-55a8abf48a6a4181057908-52" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-53" class="crayon-line"><span class="crayon-t">int</span> <span class="crayon-e">main</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-55a8abf48a6a4181057908-54" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-t">int</span> <span class="crayon-v">i</span><span class="crayon-sy">,</span> <span class="crayon-v">j</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-55" class="crayon-line"></div>
<div id="crayon-55a8abf48a6a4181057908-56" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-e">printf</span><span class="crayon-sy">(</span><span class="crayon-s">"\nEnter the no. of queens:- "</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-57" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-e">scanf</span><span class="crayon-sy">(</span><span class="crayon-s">"%d"</span><span class="crayon-sy">,</span> <span class="crayon-o">&</span><span class="crayon-v">n</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-58" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-59" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span></div>
<div id="crayon-55a8abf48a6a4181057908-60" class="crayon-line crayon-striped-line"><span class="crayon-h">      </span><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-v">j</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-v">j</span> <span class="crayon-o"><</span> <span class="crayon-v">n</span><span class="crayon-sy">;</span> <span class="crayon-v">j</span><span class="crayon-o">++</span><span class="crayon-sy">)</span></div>
<div id="crayon-55a8abf48a6a4181057908-61" class="crayon-line"><span class="crayon-h">         </span><span class="crayon-v">a</span><span class="crayon-sy">[</span><span class="crayon-v">i</span><span class="crayon-sy">]</span><span class="crayon-sy">[</span><span class="crayon-v">j</span><span class="crayon-sy">]</span> <span class="crayon-o">=</span> <span class="crayon-s">'.'</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-62" class="crayon-line crayon-striped-line"></div>
<div id="crayon-55a8abf48a6a4181057908-63" class="crayon-line"><span class="crayon-h">   </span><span class="crayon-e">nqueen</span><span class="crayon-sy">(</span><span class="crayon-cn">0</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-64" class="crayon-line crayon-striped-line"><span class="crayon-h">   </span><span class="crayon-st">return</span> <span class="crayon-sy">(</span><span class="crayon-cn">0</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-55a8abf48a6a4181057908-65" class="crayon-line"><span class="crayon-sy">}</span></div>
<div class="crayon-line">