You are on page 1of 13





 "!$#%&('*),+.-/#021314&5+7682),+.94:3#8#<;=),9>:?)$9!$#@&.!,AB#02-/9C4B)D:E9FG;3H)DI24;13!,9J68#%:$:),K4#%:,#L;32)$/FM9B!E),K4#8+.!:,C46868#%:$:?FMC4&9B1J'
#%!$2),+.9ONQP CR6DKS:T),9B!,+.3A!$#%UVC3+.!$#8-/#8V)$:L9J6868C3!/WK3#8SX689V),!$9&.&5+.3AY:TJ:T),#8-4#8#%;4:0)$9-/+5V)D2+.Z2ZC31J)$9 ;4H),#=:T)$H)$#"9F)$K3#
689V),!$9&.&5#<;:TJ:T),#8-=N[
FM#8W#8\J-/13&5#<:]9F:TC46DK^:,J:?)$#8-_:]+.468&5C4;3#"4# )?W`9!$a-_24A#%-b#%V)0:TJ:T),#8-=cd+54;3C4:?)$!,+72&`6 9BB)$!,9B&
:,J:?)$#8-=c4;XYCJ),9B13+.&59)@:,J:?)$#8-=N_efK3#%3#8gB#8!]:T),9!$+.3A>4;X13!,9J68#%:$:T+.3A>&.!,AB#/-/9C3V)$:9Fh;32)$>+7:i!,#<UBC4+5!$#%;jc>;4H)$k4:,#
-_2R2A#%-/#8V)l:,J:?)$#8-m+7:lC4:T#<;jNonhK3#4#8#%;0FM9!p;3H)D2k4B:T#-_24A#8-/#%B)p:, :T),#%-qFM9!p:T),9!D2AB#G2R;013!$9J6 #<:,:,+54A92FR&.!,AB#Gg9B&5C4-b#<:
9Fl;32)$/24;r),K4#kR:,+.6+7:,:,C3#%:h+.>!,#%&.2),+.94&s;4H)$k4:,#-/42AB#8-/#8V):TJ:T),#%-/:@tvuEwx`XP3y`K4zg#k{#8#8=13!$92FMCR:T#%&5I;J+7:$6 C4:$:T#<;r+.
:T)$4;32!D;b;3H)D2k4B:T#h&.+()$#8!DH),C4!,#:,C46DK_:E|5}2cB~3cHR4;bW#EB:,:,C3-/#`),K42)p),K3#!,#<;J#%!l+7:&5!$#%B;J@F2-/+.&5+72!pW+5),K/)$K3#%:,#+7:,:,C3#%:%NonhK3#
FM9J6 CR:92Fs)$K3+.:`6DK41J),#%!+.:G!,#<2&5'v)$+5-/#;4H)$k4:,#-_24A#%-b#%V)G:TJ:T),#8-_:tuonwxhP4yo),KRH)`!,#CR:T#<;/+5I;32)$@+.V),#%4:T+.g#!,#<2&5'v)$+5-/#
1313&.+.6%H),+.9R:8c3:,C46DK=:h3#8)?W9B!,a_-_2R2A#%-/#8V)E:TJ:T),#8-_:%cJ+5R;JC4:T),!$+.&O6 9V)$!,9B&s:,J:?)$#8-_:%c42CJ)$913+.&.92)E:TJ:T),#%-/:%cJ# )D62N
[:p),!D;3+()$+59B42&{;3H)D2k4B:T#E:,J:?)$#8-_:;394cV!,#<2&5'v)$+5-/#E;32)$2kR:,#:TJ:T),#%-/:2&7:T9]:,#8!$g#:!$#81{9B:,+5),9!$+.#%:o92FO&72!$A#gB9&.C3-/#%:G92F;32)$
4;Y13!,9Hg +7;J#/# I6 +.#8V)0:T),9B!$A#cj!$# )$!,+.#8gH&vcl24;Y-_23+.13C3&7H)$+59B92F;3H)D3NIE9HW`#8gB#8!<cj),K4#8!$#I2!$#/"FM#%W+.-/1R9B!T)D2V)];J+5{#%!,#%46 #<:
k{# )?W`#8#%")$!$B;J+5),+.94&s4;>!,#<2&5'v)$+5-/#i;3H)D2k4B:T#<:8N
E<(hJ {.z88p28v%2h`83<<%$ 4zVV<TVzz,GVz.<V v$(GB<TVHzTE `(zp?]2 7V 2z7H
?M T$ Gj<?? 7%LB<TJ$(i(z0 4<T7(<?`(]2BT%L3<B<TVHzT322<$ 3z%VVH]z@22.M *Vz8
BBV %
eY#h#8&72k{9!DH),#),K4#%:,#`+7:$:TC3#<:l+5L),K3+7:6DK41J),#%!%N)pW9BC3&.;Lk{#%6 9B-/#h68&5#<2!),K42)p),K3#<:T#h+7:,:,C3#<:-_a#h;J#%:,+5ABb4;b;J#8gB#8&.913-/#8V)o92F
/:$H),+7:TF6)$9!$/!,#<2&5'v)$+5-/#@;3H)D2k4B:T#i21413&5+7682),+.9"-0C46DK>-/9!$#i;3+(I6 C4&()4;"689-/13&.+.6%H)$#%;>6 9-/14!,#<;_)$9L)$!$B;J+5),+.94&s;4H)$k4:,#
1313&.+.6%H),+.9N
nhK3+7:06DKR21J)$#8!0KR:LkR#%#8^9B!,AV23+.8#<;YB:]FM9B&5&.9HWE:%NeX#"4!D:?)0k4!,+.# 4#8\J-/+53#"FM#8W
1313&.+.6%H)$+59B4:]3#%#%;J+.3AY:TC3141R9B!T)b92FE
!$#%&('*),+.-/#E;3H)D2k4B:T#BNE#8\ )%cVW#!$#8g +.#8W:T9B-b#9Fs),K3#EkR:,+.6689468#81J)D:+./),!D;J+5),+.94&3;3H)D2k4B:T#h)$#%6DK34+.UVC3#)$K4H)`2!$#`!$#8&.#8gHB)p)$9
)$K3#];J+7:,68C4:,:,+.94:`+.r)$K3+.:KR21J)$#8!<NGP C3k4:,#%UVC3#%B)$&5BcJW#i#%&.kR9B!$2),#+.-/13&.+.6%H),+.9R:h92F)$K3#i),#%-/1R9B!$&O6DK42!D6 ),#8!$+7:?)$+.6%:92Fo;3H)Db+5=
!$#%&('*),+.-/#i;4H)$k4:,#Nol+5R2&.&5Bc3W#@;J+7:$6 C4:$::T9B-/#i689468C3!$!,#%46 I689V),!$9&j13!$92)$9J6 9&7:),K42)68"k{#@C4:,#%;>+5>!$#%2&5'*),+.-b#@;32)$k4:,#%:%N
"] 88o8L=0E]D{8 l]=@lE
"),K3+7:h:T#<6)$+59BrW`#!$#8g +.#8W0FM#8W:,-b14&5#i21314&5+7682),+.94:G),K42)3#8#<;_),9/C4:,#!,#<2&5'v)$+5-/#i;3H)D2k4B:T#<:8NonhK3#%:,#i21313&.+768H)$+59B4:`2!$#)$K3#
!$#813!$#%:,#8V)DH),+.g#<:9F`>6 !$9B:$:?':,#%6)$+59B92Fh21314&5+7682),+.94:K4zg +.3A>:T),!$+.3A#%B)),+.-/+54A>!$#%UVC3+.!$#8-/#8V)$:%NL[C34;J#%!$:T)$4;J+.3A"9FG)$K3#%:,#
1313&.+.6%H),+.9R:hW9BC3&.;"&.# )EC4:hg +.#8W),K3#@+7:,:,C3#<:;3;J!$#%:$:,#%;I+.>),K3#]:,C3k4:,#%UVC3#%V):,#%6 ),+.94:h+.b13!,9B1R#%!1R#%!$:,1{#%6)$+5gB#N
iHOBV<_0{s8H{?h[:&5!$#%B;J_;J+.:$6 CR:,:,#%;"+5=p\3-b14&5#b}9FoP #<6b}N.}c +5R;JC4:T),!$+.&s689V),!$9&j:,J:?)$#8-_:h2!$#C4:,C4&5&.IH),)$6DK4#%;_)$9
:,#84:,9!D:4;B6)$C4H)$9!D:8NinhK3#L:,#8R:T9B!$:-/93+5),9B!)$K3#b:T)$2),#L92F:,9-/#0!$#%&('W`9!$&.;=13!$9J6 #<:,:,#%:%c{4;=)$K3#b689V),!$9&.&.#8!D:E-_23+.13C3&7H)$#
)$K3#igz&5gB#%:%NG9V),!$9&s;J#%68+.:,+.94:h2!$#-_B;J#ik4:,#%;r9I)$K3#i+5413CJ)E;3H)DL4;>6 9V)$!,9B&5&.#8!h6 9BJ4AC4!$2),+.9_14!$-b#8),#%!$:%N413CJ);32)$
!,#/A#%3#8!DH)$#%;XFM!$9-R#8&7;Y;3#8g +.68#%:]:,C46DKd:0:T#%4:T9B!$:%cj)$!$4:T-/+5)T)$#8!D:8cl24;:,W+()D6DK3#%:i)$K4H)b2!$#/68934#%6)$#%;X),9=)$K3#r689V),!$9&.&5#%!% :
;32)$_B68UVC3+7:T+5),+.9>+5V)$#8!,F6 #<:8cR24;=2&7:,9LFM!$9-92)$K3#8!689V),!$9&.&.#8!D:g +7/+5V)$#8!,'689V),!$9&.&5#%!6 943#%6 ),+.94:%NGnhK3#]+.313C3);3H)D_24;")$K3#
689V),!$9&.&5#%!p6 934AC3!DH)$+59B014!$-/# ),#%!$:l!$C3/+5V)$9i:,#8gB#8!D2& -/#8AV2k V),#%:o9F{+.JFM9B!,-_H)$+59BL#%g#%0FM9B!-/9 ;3#8!DH),#%&50&.!,AB#`:,J:?)$#8-_:8No39B!
:,C46868#%:$:?FMC4&O91{#8!DH)$+59B>9Fo_)?V14+.6%2&O13!$9J6 #<:,:689V),!$9&O1313&.+.6%H),+.9c3),K4#]gH2&.g#]6 9BV),!$9&jK4B:h),9_k{#06DK4+5#%g#%;>W+5),K=)$K3#06%6 C3!D68
9F`rFM#8W-/+.&5&.+G:,#%6894;3:%N0nhK3#%!,#8FM9!$#cs)$K3#_;3H)D2k4B:T#L),!D24:$6 ),+.94:K4zgB#]),9=k{#_6 9-/13&.# )$#%;XW+()$K3+.rFM#8W-/+5&.&5+7:,#%6 9B4;3:%cO#8gB#8
}

Version 2 CSE, IIT Kharagpur


C3R;J#8!W`9!D:?),'6%:,#&.9BB;I9B")$K3#]:, :T),#%-=N
s<VzlV OV B 
3 { QVsB/B)$#8!$3# )i)$!$2_6LK4B:AB!,9HW13K3#849-/#84&5&.+.)$K3#_&.B:?)FM#8W#<2!D:8N][&.:,94cB;JgH2468#%;
3#8)?W9B!,a:,#8!$g +.68#%:i2!$#b+5468!,#<:,+54A&.kR#<6 9-/+.3AzgH2+.&.k3&5#/:)$K3#_V),#8!$3#8)@:,#8!$g +.68#L14!,9Hg +7;J#8!D:/tMTP :$yg +5#b)$9>-_+5V)$+5X),K4#8+.!
#<;JA#"9Hg#8!0#%6DKd9),K3#%!%NYn9HWh2!D;X),K3+7:L#84;jc:T#%!,g +76 #I13!$9Hg +.;3#8!D:]2!$#I+.46 !$#%B:T+.3A&.X;3#813&.9H +53AX:T#%!,g +76 #I-_2R2A#%-/#8V)b:,J:?)$#8-_:
t*PJP3y N4[EPJP"&.# )D:2=TP 6 !$#%2),#i24;"13!$9HgV+7;J# :T#%!,g +76 #%:h:,C46DK=:h# '-_2+.&vc G0c wE[ ;J+5!$#%6 ),9B!,I:,#8!$g +.68#%:%cV#8)$6NnhK3#
PJXP0:T),!$#%-b&.+.3#%:l2&.&59J6%H),+.9L92F4!$#%:,9C4!$68#%:j)$9@:TC3kR:,68!,+.kR#%!$:%cz!,#<:T9BC3!D6 #G-_42AB#8-/#8V)%c24;0689V),!$9&.&.+53A2&.&V),K3#h!$#8&.#8gH2V)4# )?W`9!$a
689-/1R9B3#8V)D:EH)_:,+.3A&.#06 #%V),!D2&.+5%#%;>1R9B+5V)+.=),K4#]3# )?W`9!$asN[PJP=3#%#%;3:),9IC4:,#0/!$#%&('*),+.-/#];3H)D2k4B:T#iFM9B!E1R#%!TFM9B!,-/+.3A
CJ),K39B!,+.%2),+.9OcOCJ),K4#8V),+7682),+.9Oc4;Y68689C3V)$+53A"FM9!i)$K3#_V),#%!,3#8)@C4:T#%!$:%N/nhK3#IPJPX-0C4:T)@-_24A#/:TC46DK;32)$=:i:,#%:$:T+.9
:T)$2),C4:B:W`#8&.&j:`+.JFM9!$-_H),+.9>2k{9CJ)h)$K3#i3# )?W`9!$asc :,C3k4:$6 !$+.kR#%!%cJ2R;r1{9&.+.68+5#<:  +5"),K3#FB6 #i92F),K3#i C3-0k{#8!h9Fl:,C3k4:$6 !$+5k{#8!D:
!$C333+.3A/+.B)$9_-/+5&.&5+.9R:8Npu#<2&5'v)$+5-/#];32)$2kR:,#-_2R2A#%-/#8V)E:TJ:T),#8-_:!,#C4:,#%;"),9/-_2+.V)$2+.>),K3#<:T#@;32)$4N
 4 2 *LRs%z{ O8< fir:,1468#%68!$2F)%csI6 9BB)$!,9B&:,J:?)$#8- +.:!$#%:,1R9B4:T+.k3&.#@FM9!),K3#/:,C46868#%:$:?FMC3&9Hg#%!$&5&O9B1R#%!$2),+.9
9Fp),K3#b:T14B6 #<6 !DHF)%N)+7:&.:,9I!$#%:,1R9B4:T+.k3&.#@FM9!!,#<6 #%+5g +.3Ar6 9B-/-/4;4;6 9BV),!$9&O+.JFM9!$-_H)$+59BFM!,9B- )$K3#0AB!,9BC34;689-/13CJ)$#8!<N
[m:,14B6 #%68!$2F)6 9BB)$!,9B&O:TJ:T),#%- -_2+.V)$2+.4:E689V)$B6)EW+5),K)$K3#]AB!,9BC34;>6 9V)$!,9B&OC4:,+53AIV),#8442#Bc3!,#<6 #%+5gB#8!D:8c34;>),!D24:,-/+(),),#%!$:%N
nhK3#E689V),!$9&3:,J:?)$#8--b9B3+5),9!D:p:,#8g#%!$& 142!D2-/# )$#8!D:l!,#%&5#%gzV)l)$9i),K3#:TC46%6 #<:,:TFMC3&J91{#8!DH)$+59BL9FR)$K3#:,1468#%68!$2F)l)$K3!$9C3ABKb:,#8gB#8!D2&
:,#84:,9!D:-/9BC3V),#%;I9r4;_W+5),K3+.r)$K3#:,14B6 #%68!$2F)%Nl"B;3;J+5),+.9_)$9L6 9BV),!$9&.&5+.3A@)$K3#!$#8ABC3&72!G9B1R#%!$2),+.9_9Fj),K3#i:T1R6 #<6 !DHF)<c)$K3#
689V),!$9&.&5#%!@2&7:T9=-/93+5),9B!$:)$K3# TK4#%2&5),"K !"9F)$K3#r:,1468#%68!$2F)+5)$:,#8&5F]tM1{9HW#%!%cj)$#8&.#8-/# )$!,Bc#8)$6N y NrnhK3#_!$#8&.+.k3+5&.+5)?!,#<UVC3+5!$#8-/#%B)D:
FM9B!h:,C46DK=:TJ:T),#%-/:h;J+76)DH)$#!$#%;3C34;346 _+.>&5&jKR2!D;JW`!,#24;":T9F)?W`!,#6 9B-b1{94#8V)$#:  +.46 !$#%B:T+.3AL),K3#ig9B&5C4-b#92Fo;3H)DL4;
B;3;J+.3A])$9@),K3#i6 9B-/13&5#8\J+()?b92F;32)$0-/42AB#8-/#8V)<NlnhK3#6 9BB)$!,9B&5&.+.3A@+53FM9!$-/2),+.9_-_2+.V)$+53#<;_k b),K3#6 9V)$!,9B&5&.#8!+.468&5C4;3#)$K3#
)$!$B6Dab+.JFM9B!,-_H)$+59BONpnhK3#g9&.C3-/#92F;32)$L-_2+.B)D2+.3#%;IkV/)$K3+7:haV+.4;r92Fl1313&.+.6%H)$+59B4:G+7:`!,#%&.2),+.g#%&5_:,-/&5&j4;I!$#%:T),!$+.6 ),#<;/),9/
FM#%W-/#8AV2k V),#<:9Fl+.JFM9B!,-_H)$+59BOcJk3CJ))$K3#i),+.-/+54AI24;"1R#%!TFM9B!,-_46 #@H),),!$+5k4CJ),#<:2!$#gB#8!$I:?)$!,+.3AB#8V)%N
$V& %0R( ')
3 { ^ s* O%% fG[f4# )?W`9!$a0-_24A#%-b#%V)G:TJ:T),#8-FM9!G-b9J;J#%!,_4# )?W`9!$a :p6%2_k{#UVC3+5),#689-/13&.# \jNonhK3#
3#8)?W9B!,a=-_2R2A#%-/#8V)i:,J:?)$#8-:T),9B!,#<:4;;J#<2&7:W+()$KX&72!$A#b2-/9C3V)D:9F`;32)$"1R#%!T)D2+.3+.3Ar)$9"9B3#8)?W9B!,a>)$91{9&.9ABcO6 9BJ'
4ABC3!DH),+.9c3#%UVC3+.13-/#8V):,# ),),+.3AB:%c4#8)$62NhB;3;J+5),+.9Oc{:TW+5)$6DK3#<:E6 !$#%2),#@&72!$A#]-b9BC3V)$:9F;3H)D/1R#%!T)D2+.3+54A/),9I3#8)?W9B!,ar),!DHI6
4;"F2C3&5)$:%N`nhK4#]3# )?W`9!$ar689V),!$9&*cJ-_24A#8-/#%B)<c42R;;J-/+.3+.:T),!DH)$+59B"9B1R#%!$2),+.94:E&5#<;"),9I:,#8gB#8!D2&j!$#%2&5'*),+.-b#i)$!$4:$6)$+59B4:
9Br)$K3#];3H)D2k4B:T#FM9B!E:?)$9!$+53A/2R;>B6868#%:$:T+.3AL),K3#@!$#8&.#8gH2V)E;32)$3N
nhK3#i;32)$2kR:,#E!,#<UVC3+5!$#8-/#%B)D:FM9B!`),K3#i2k{9Hg## \32-/13&.#1313&.+.6%H),+.9R:GgH2!$/+5"),K4#8+.!G)$+5-/+.3A/!,#<UBC4+5!$#8-/#8V)D:8cBFM!,9B--/+.68!,9V:T#<6'
9B4;3:)$9r-_2aB#]!$9CJ)$+53A";J#%68+.:,+59B4:E+._4# )?W`9!$a"-_2R2A#%-/#8V):TJ:T),#%->cR),9"-/+5&.&5+7:,#%6 9B4;3:EFM9!91{#83+.3Ar4;6 &.9B:,+.3A_92FgH2&.g#<:
+.^2d+.4;JC4:T),!$+72&13!$9J6 #<:,:]689V),!$9&1313&.+.6%H)$+59BOcl4;d:,#%6 9B4;3:iFM9B!]-_H)$#8!$+.&.:@-/9HgB#8-/#8V)]9d=FB6)$9!$49 9!<N"9HW#%g#%!%c+5!,'
!$#%:,1R#<6)$+5gB#]92Fp)$K3#0-_2AB3+5),C4;J#L92Fp)$K3#])$+5-/+.3A"6894:T),!D2+.V)%c{WK4H)+.:-/9!$#]+5-/1{9!,)$B)+.:),K42)C34&5#<:,:),K3#0),!D24:$6 ),+.9=)$+5-/+.3A
6894:T),!D2+.V)$:h2!$#i-b#8)%cJ)$K3#]:, :T),#%-
W`9C3&7;IF+5&*N
+ - ," / . L1 0
@o l]=@l3 2L="o
X),K3+7:@:,#%6)$+59BXW`#b!,#%gV+.#8WIFM#%W!$#8&.#8gH2V)@;3H)D2k4B:T#/6 9B46 #%1J)$:%N/E9HW`#8g#%!%cjB:&5!$#%B;J=!,#%-_2!$a#%;),K3#<:T#b)$913+768:i2!$#bW+.;J#%&5
689Hg#8!$#%;>+.X:T)$4;32!D;;32)$2kR:,#]&5+5),#%!$2),C3!$#0:,C46DKB:0|5}cj~ cjz*cj4;=),K4#L!$#8g +.#8Wq+5),K3+7:i:T#<6),+.9+7:kV=39"-/#%2R:+.V),#8R;J#%;=)$9
k{#06 9B-/13!,#%K3#8R:T+.g#BN`[!,#%&.2),+.94&O;3H)D2k4B:T#]6894:,+.:T)$:E92FI:,# )9FlFB6)E)D2k3&.#%:%NGB6DK"FB6)E)D2k3&.#06894:,+.:T)$:E92F:T#%g#%!$&O!,#<6 9B!$;3:%N
d-_2 1313&.+.6%H)$+59B4:8cl+5)]+.:0!,#<UBC4+5!$#%;),K42)]),K4#r;3H)D2k4B:T#/!$#%689!D;3:@2!$#/13!,#%g#%B)$#%;XFM!$9- B:,:,C3-/+.3A6 #%!T)D2+.XgH2&.C3#<:@9!068#8!,'
)D2+.06 9B-0k3+.4H)$+59B@92FJgH2&.C3#%:%N[:,:,#8!,),+.9R:2k{9C3)),K4#GgH2&.C3#%:O),K42))$K3#G!$#%689!D;3:O680:$:,C3-/#G2!$#68&5&.#%5; 4&687 9;:<9;=?>@7A4@B4&679;=DCFE8:G7=D9N
wH)D2k4B:T#21313&.+768H)$+59B4:`2!$#39B!,-_&5&._:?)$!,C46 ),C3!$#%;r+5V)$90)$!$4:,B6)$+59B4:8No[),!D24:$6 ),+.9I+7:hL:,#%UVC3#%46 #92F!$#%B;3:`24;"W!,+5),#<:
9BL)$K3#E;32)$2kR:,#G)$9]6DK3+.#8gB#h:,9-/#hK3+.AKJ'&.#8g#%& FMC346 ),+.9/92F{),K3#E1313&.+.6%H)$+59BONl[f;4H)$k4:,#`),!D24:$6 ),+.90),!D24:TFM9!$-_:p;4H)$k4:,#
FM!$9-
9B3#]6 9B4:,+.:T),#%B)E:T)$2),#i),9_392)$K3#8!<NE9B!,-_2&.&.c3;J+5{#%!,#%V)`)$!$4:$6)$+59B4:h9=/;3H)D2k4B:T#i9B1R#%!$2),#i+5"+.V),#8!$&.#%zg#<;r-_J'
3#%!%N/V),#%!,&.#%zg +.3A"),K3#_6%6 #<:,:i9F`;J+5{#%!,#%V))$!$4:$6)$+59B4:),9>),K4#I;3H)D2k4B:T#/68X!$#8-_2!$aH2k3&.+.-b14!,9HgB#0)$K3#/),K3!$9C4AK313C3)@4;
!$#%:,9C3!D6 #CJ),+.&.+5<H),+.9>92F),K3#];32)$k4:,#NonhK3#8!$# FM9B!,#Bc 93#+5-/1{9!,)$B)E+5-+.r)$K3#@;J#%:,+.A>92F;32)$k4:,#:,J:?)$#8-_:`+.:`)$9L-_2\ +.-/+5%#
)$K3#iVC4-0k{#8!92F),!D24:$6 ),+.94:G),KRH)E68rk{#]6)$+5gB#2)E])$+5-/#N[14!T)$+.68C3&72!:T#<UVC3#8468+54AL9Fl6 ),+.94:`9Fl;J+5{#%!,#%V)`)$!$4:$6)$+59B4:
+7:]68&5&.#%;d HIE=JELK&E9@>59@4NM>&HOPQ>8NE9HW`#8g#%!%c6 9R6 C3!$!,#%V)i#8\J#%6 C3),+.992Fh),!D2R:,B6),+.9R:@682&.#%B;)$9:T9B-/#I;3H)D2k4B:T#I:$6DK3#%;3C3&5#<:
~

Version 2 CSE, IIT Kharagpur


)$K4H)0g +.9&7H)$#_+5V),#%A!$+()?X92Fh),K4#r;3H)D2k4B:T#BN>wC3#r),9=),K4#r1{9B:$:T+.k3+.&5+5)?9Fhg +.9&7H)$+59BY9F+5V),#%A!$+()?Bcl;4H)$k4:,#%:i49!$-/&5&.!$#%:T),!$+76)
689468C3!,!$#8V)h# \J#%68CJ),+.9=9F),!D2R:,B6),+.9R:G)$K3!$9C3ABKr)$K3#@C4:,#9F-4&687A4@OC;CF> 7 4 B54&687= CF6P CF6=J6 4&68P 9
 

9B46 C3!$!$#8468X6 9BV),!$9&G14!,9),9J6 9B&.:0-/+5V)D2+.d),K3#"+5V)$#8A!$+5)?X9F),K3#=;3H)Dk !,#<UVC3+5!$+.3A=),K3#"),!D2R:,B6),+.9R:@),9Y:,2),+7:?FMXFM9C4!


+.-/1R9B!T)D2V)13!,9B1R#%!T)$+5#<:ha 39HW>B:[?w 13!$91{#8!,),+.#%:%NpnhK3#@[?w 13!$91{#8!,),+.#%:2!$#ik3!$+5#84I# \J13&72+.3#<;r+.>),K3#iFM9B&5&.9HW+54A 

%A vL M&  ]G+()$K3#8!@2&.&o9!i39B3#L9F),K4#b9B1R#%!$2),+.94:92FhI)$!$4:$6)$+59B2!$#b1R#%!TFM9B!,-/#%;ON0nhK4H)i+7:8c&5&l)$K3#/91{#8!DH),+.9R:9F


),!D24:$6 ),+.9>2!$#)$9A#8),K3#%!h),!$#%2),#%;>:/:,+54A&.#@+54;3+5g +7:T+.k3&.#C43+()<N
 

{( %% l8  h[),!D24:$6 ),+.9"3#8#<;3:h),9/-_2+.V)$+5>),K4#@+5V),#%A!$+()?I6894:T),!D2+.V)$:`9>)$K3#];3H)D2k4B:T#BN




%{ 3 { n!$4:,B6)$+59B4:h2!$##8\ #<6 CJ)$#%;=6 9B46 C4!,!$#8V),&.I:h&.94A/B:`),K3#%";J9/39)+5V),#%!TFM#%!,#i+.=#%6DK>92)$K3#8!< :6 9-/13C3)$H)$+59B4:%N


 v N  d[&5&6DKR23AB#%:b-_;J#k Qd689-/-/+(),),#%;Z)$!$4:,B6)$+59BZk{#%689-/#=1R#%!,-_24#8V)I+5S)$K3#;3H)D2k4B:T#Bc:,C3!$gV+.g +54A 
:TC4k4:T#<UVC3#8V)hF2+.&5C4!,#<:8N



# )C4:39HWq# \3-b+.3#]K49HWq[?w13!$91{#8!,),+.#%:2!$#@#84:,C3!$#%;=+.I;32)$2kR:,#]+5),K3#L13!,#<:T#%46 #@9F+5V)$#8!$&5#<zg#%;>#8\ #<6 CJ)$+59B92F


)$!$4:,B6)$+59B4:8NlefK3+.&5##%B6DK_),!D24:$6 ),+.9_13!$#%:,#8!$g#<:6 9B4:,+.:T),#%46 /92Fj)$K3#i;3H)D2k4B:T#2)+5)$:`k{9C34;42!$+5#<:8c @)$!$4:,B6)$+59B/),K42)GF2+.&7:
)$906 9B-b14&5#8),#-/+5ABKV)68C4:T#h)$K3#E+.V),#8AB!,+5)?09Fs),K3#;4H)$k4:,#h),9@k{#Eg +.9&7H),#<;jNou9&.&5kR6Da014!,9),9J6 9B&.:p!,#C4:,#%;b)$9]#8R:TC3!$#EH)$9-/+76 +5)?
4;;JC3!D2k3+.&.+()?"13!,9B1R#%!T)$+5#<:WK3#%/),!D24:$6 ),+.9>F2+.&7:h),9r689-/13&.# )$#Nh?:T9B&.2),+.968kR#0#84:,C3!$#%;>),K4!,9BC3AK>),K4#]C4:,#]92Fp&.9 6Da +.3A
4;r!$9&.&.k46Da_13!$92)$9J6 9&7:%N
# )EC4:# \32-/+.3#@K39HWq_!,9B&5&.k4B6DaI13!$92),9J689&jW`9!$a :%NGFb)$!$4:,B6)$+59B ]!$#%B;3:_gH2&.C3#i),KRH)Wh:W!$+5)T),#%k "2kR9B!T)$#%;
)$!$4:,B6)$+59B ,c ),K3#% -0CR:?)Ek{#]2k{9!,),#<;I)$9b#%JFM9!D6 #)$K3#]H)$9-/+.68+()?r13!,9B1R#%!T)?BN=9),K3#%!W9B!$;3:%cJL),!D24:$6 ),+.9r-/+.AKV)E3#%#%;


)$9bk{#@!$9&.&5#<;rk4B6Dar2R;r!$#%:T)$!T)$#%;"kR#<682CR:T#i+5)EK4;"!,#<;>bgz&5C4#)$K4H)EWh:h14!,9J;JC468#%;"k r:T9B-/#9),K3#%!h),!D24:$6 ),+.9"WK3+.6DK=AB92)


 

kR9B!T)$#%;jN_E9HW`#8gB#8!<cj+()L-0C4:T)@kR#_!$#8-/#8-LkR#%!,#<;)$K4H)]!$9&.&pk4B6Da :@6%2Y&5#<;),96%:$68;3#%;kR9B!T)D:8N_X),K4+.:]689V),#8\ )%c!$9&.&.k46DaJ:


K4zgB#L+.-/1R9B!T)D2V)@+5-/13&.+768H)$+59B4:FM9!@!$#%&('*),+.-/#b1313&.+.6%H),+.9R/:  !$9&.&.k46DaJ:92F),#%X+.-/13&.C34;39+.3A>:,+.A3+5R68V)@-/9C3V)$:9F`6 '
689-/13&.+.:,K3#%;"W`9!$a  ),K3#@!$#%:,C3&5)$B)E;J#%&.zr+5=!$#%;J9B+53AL),K4#@W9B!,aI689C3&7;>-/a#@L),!D24:$6 ),+.9"-b+7:$:h+()D:E;J#%B;J&.+53#BN
n9/#84:,C3!$#)$K3#];JC3!D2k3+.&.+()?I14!,9B1R#%!T)?BcV9B46 #@L),!D2R:,B6),+.9>6 9B-b-/+5)$:%c3+5)682>39)hk{#]2k{9!,),#<;jcJ3#%+()$K3#8!+5)$:h#8{#<6)$:6DK423AB#%;
;JC4#I),9Y68B:,6%;J+.3A2k{9!,)$:%NY`B:,6%;J#%&5#<:,:]kR9B!T)D:06%2dk{#>B6DK3+5#%g#<;Xk #8R:TC3!$+.3A),KRH)L#%g#%!,X),!D24:$6 ),+.9!$#%;4:]94&5d;32)$
gH2&.C3#<:hW!,+5)T)$#8=k r6 9B-b-/+5)T)$#%;"),!D24:$6 ),+.94:%N
 E]${8 l]=@lE
x`# FM9B!,#bW`#LC3R;J#8!D:?)D24;),K3#/gH2!$+.9C4:+.:$:,C3#%:i:$:,9 68+.2),#<;W+()$KX!$#%&('*),+.-/#b;4H)$k4:,#%:%csW#b-0CR:?)@C34;3#8!D:?)D24;K39HW"!,#<2&5'v)$+5-/#
;32)$k4:,#_;J+(s#8!D:iFM!$9->)$!$B;J+5),+.94&;3H)D2k4B:T#BNInhK3#8!$#I2!$#b),K3!$#8#_-_2+.d6 9BC3V)$:i9WK3+76DKY),K3#<:T#/)?W`9=)? 1R#<:@92F;32)$2kR:,#%:
;J+5s#8!<N+.!D:?)<cJC33&.+5aB#)$!$B;J+()$+59B42&j;32)$k4:,#%:%cV),+.-b+.3A_6 9B4:T),!D2+.B)D:!,#i:$:,9 68+.2),#<;_W+()$Kr)$K3#@;J+5{#%!,#%B)9B1R#%!$2),+.94:h68!,!$+.#%;_9BCJ)
9B>!$#%&('*),+.-/#];3H)D2k4B:T#<:8NhP #%6894;Oc4!$#%2&5'*),+.-b#];4H)$k4:,#%:hKRzg#i),9I;3#%2&W+()$K=),#%-b1{9!D2&;3H)DI6 9B-b1R2!$#%;r),9r:T)$2),+76@;3H)DI:+.
)$K3#b6%:,#09F),!D;J+5),+.9R2&o;3H)D2k4B:T#<:8N@nhK3+.!$;OcR)$K3#b1R#%!TFM9B!,-_2R6 #0-/#8),!$+.6%:)$K4H)@2!$#0-/#<23+.3A2FMC4&)$9r)$K3#L),!D24:$6 ),+.94:92F)$K3#%:,#
)?W`9b)?V1{#%:h9Fo;4H)$k4:,#%:h!,#ig#%!,I;3+(s#8!$#8V)%NpeY#@39HW#8&72k{9!DH),#),K4#%:,#i),K3!$#8#i+7:,:,C3#%:%N
  GR 4 J wH)DLWK49B:,#gH2&.+7;J+()?r+.:`&.9B:T)2F),#%!h),K3#i#8&721R:T#92Fo:T9B-b#i13!$#%:,1{#%6 +54#<;_),+.-/#@+5V)$#8!$gz&j2!$#6%2&.&5#<;I)$#8-/1R9B!$&
;32)$b9!1{#8!$+7:TK4k3&.#i;4H)$4Npp\32-/13&.#%:h9Fl:,C46DK;3H)DL+.468&5C4;3#i),K3#iFM9B&5&.9HW+54A4N
 


94:,+7;J#8!0),K3#>1R#%!,+.9J;J+76r;32)$AB#83#%!$2),#<;kVd),#8-/1{#8!DH)$C3!,#>:T#%4:,9!<NXnhK3#r),#8-/1{#8!DH)$C3!,#>:T#%4:,9!])$!$4:,-b+5)$:b:$2-/13&.#%;

),#%-b1{#8!DH)$C3!$#;3H)DX1{#8!$+.9 ;3+.6%2&.&5Q),9),K4#6 9BB)$!,9B&5&.#8!<c:$zQ#%g#%!,} Y-/+5&.&.+.:,#%6894;3:%N[:_3#%W )$#8-/1R#%!$2),C3!$#!$#%B;J+54AB:
kR#<6 9B-b#@zgH2+.&72k3&.#cV),K4#@9&7;r)$#8-/1{#8!DH),C4!,#@;32)$bkR#<6 9B-b#]:T)$&5#@4;"!,#i!$#%;JCR6 #%;r),9I!$6DK4+5gH2&j;32)$4N


94:,+7;J#8!E:T),9J6Dar-_!,aB# )13!$+.68#]UBC492)$2),+.94:%N[:3#%W14!,+76 #]UVC39)$H)$+59B4:6 9B-/#@+5Oc{;3H)D/1R#%!T)D2+.3+.3A/),9I14!,#%gV+.9CR:UBC492)$2'



),+.94:hk{#%689-/#%:h9Bk4:,9&.# ),#BN

Version 2 CSE, IIT Kharagpur


94:,+7;J#8!),K3#_689V),!$9&.&5#%!9Fr4V'*k V'*W+.!$#L2+.!D6 !DHF)%NLnhK3#0RB'k V'*W+.!,#b2+.!$68!$2F)+7:# \J1{#%6)$#%;),9"),!Dzg#%&l&59B3A>"13!$#%;J#8'

),#%!,-/+.3#%;1RH),KNiGg#%!,rFM#8Wm-/+.&5&.+.:,#%6894;4:8c{),K4#b689V),!$9&.&5#%!E!$#%6 #%+5gB#%:E),K3#/6 C3!$!$#8V)&()$+()$C4;J#csgB#8&.9 68+()?Bcj24;B6868#8&.#8!DH),+.9
;3H)DLFM!,9B-gH2!$+.9C4::,#84:,9!D:h-/9C3V)$#%;>9>),K4#02+.!$68!$2F)%NG4!,9B-
)$K3#]!$#%6 #%+5gB#%;>;3H)D_24;")$K3#]&7:T)6 9-/13C3),#%;=1{9B:,+5),+.9=92F
),K3#2+.!$68!$2F)%c+5)689-/13CJ)$#%:p)$K3#68C3!,!$#8V)G1{9B:,+5),+.9/92Fj)$K3#2+.!D6 !DHF)G2R;b),K3#;3#8g +.2),+.9_9F{)$K3#+5!D6 !DHF)pFM!$9-),K3#13!,#<;J# )$#8!,'
-/+53#<;=14H)$KON#8!$#c4),K3#068C3!$!,#%B)1{9B:,+()$+59BOcR&()$+()$C4;J#Bc4g#%&59J68+()?Bc424;=B686 #%&5#%!$2),+.9>gH2&.C3#%:E!,#i)$#8-/1{9!D2&;32)$ 3WK3#8!$#%B:
),K3#";3H)D=!,#%13!,#<:T#%V),+.3A>),K3#I14!,#<;J# )$#8!$-b+.3#<;X1RH),Kd+7:]>)$!$B;J+()$+59B42&G39J'*),#%-/1R9B!$&G;3H)D3N>nhK3+.:0# \32-/13&.#I21413&5+7682),+.9
:TK49HWE:),K42)L=!,#<2&5'v)$+5-/#_;32)$2kR:,#_W9BC3&.;YK4zgB#b),9;J#<2&GW+5),Kdk{92)$K),#%-b1{9!D2&:iW`#8&.&:@!$6DK4+5gH2&;3H)D3Nrd:,C46DKd
:TJ:T),#%->co;32)$2kR:,#b9B1R#%!$2),+.9-/+5ABKV)L6 9B-b14CJ),#_!$#%:,C3&5)$:]k Y6 9-Lk3+.3+54A=),K3#IgH&5C3#<:@92FE:,#8gB#8!D2&o),#%-/1R9B!$&G:@W`#8&.&B:
2!D6DK3+.gz&j;3H)DL+5),#%-_:8N
D L{%8 vs%{ J( 4%  GV J vRl =nl:,aJ:04;d)$!$4:,B6)$+59B4:0!,#>:T+.-/+5&72!/2k4:T),!D6 ),+.94:0+5Q),K3#:,#84:,#
)$K4H)]k{92)$K!,#/C34+()D:@92FhW9B!,aB:iW#%&5&B:]:$6DK3#%;JC4&5+.3A4N_9HW#%g#8!<cjC33&.+.a#_!$#%2&5'*),+.-b#b)D:,a :%c"),!D2R:,B6),+.9Y# \J#<6 CJ)$+59BX-/+.AKV)



!$#%UVC3+.!,#-/ /;4H)$0!,#<6 9B!$;3:G+5"# \36 &.C4:,+5gB#E-/9J;J#Np[E&7:,94c WK3+.&5#),K3## \J#%68CJ),+.9I),+.-b#<:`92FO)D:,a :68I!,#<:,94k3&.Lk{#B:,:,C3-/#%;/)$9


k{#;J#8),#%!,-/+.3+.:T),+762cz)$K3#)$!$4:$6)$+59Bi# \J#%68CJ),+.9i)$+5-/#%:l2!$#-LC46DK@-/9!$#C3313!$#%;3+.6 )$2k4&5#Bc<#<:T1{#%68+.&5&.i+(F4;3+.:,aB6868#%:$:T#<:O2!$#!$#%UVC3+.!,#<;jN
B R  3B) mV8  nhK3#L-b9V:?)i6 9B-b-/9B1R#%!TFM9B!,-_46 #@-/# )$!,+76@FM9B!&5&l;3H)D2k4B:T#<:  !,#<2&5'v)$+5-/#]9B!39/)  +.:),!D2R:,B6'
)$+59BX!$#%:,1R9B4:,#]),+.-/#Nb39!)$!$B;J+()$+59B42&o;32)$2kR:,#L:, :T),#%-_:8cs)$K3+.:@6DKR2!D6)$#8!$+.:T),+76]k{9+.&7:;39HW),9"),K4#b C3-LkR#%!i92FG)$!$4:$6)$+59B4:


689-/13&.# ),#<;Y1R#%!@C33+5)@),+.-b#BNInhK3+7:@-/#%:,C3!$#8-/#8V)),K3#%!,#8FM9!$#/+.:iC4:,#%;YK3#<zg +5&.+59B1J),+.-/+5%+53A=)$K3#Izg#%!$A#]!$#%:,1{94:,#b),+.-b#/FM9B!


)$!$B;J+()$+59B42&t393'*!$#%&('*),+.-/#<yh21413&5+7682),+.94:%NG49!!$#%2&5'*),+.-b#];4H)$k4:,#%:h9B>),K3#@9),K3#%!EK42R;jcJ),K4#@)? 13+.6%2&O-/#8),!$+.6i9Fl+.V),#8!$#%:T)E+7:
)$K3#@ C3-0k{#8!9F)$!$4:,B6)$+59B4:`-b+7:$:T+.3Ab),K3#%+5!;J#%B;J&5+.3#<:h1R#%!C33+5)E),+.-/#N


   !"
$# % %&(') *,+.-/
0!1,23-/4"!1!"5
0!
w #%:,+5AB92F_!$#%&('*),+.-/#0;3H)D2k4B:T#]1313&.+.6%H)$+59B+.:-0C46DK-/9!$#]+.V),!$+.6%H),#i)$K42X;J#%:,+5AB92F;32)$2kR:,#%:hFM9B!39BJ'*!$#%&('*),+.-/#@21313&.+5'
6%H),+.9R:8N # )C4:+. g#<:?)$+5AVH),#i)$K3#b!,#<:,94:k{#8K4+54;),K3+7:8N!,!$#%:,1{#%6)$+5gB#]92FWK4# ),K4#8!!$#%&('*),+.-/#09B!39)%cs;3H)D2k4B:T#@)$!$4:$6)$+59B4:
K4zgB#I# \ )$#84:,+5gB#";32)$!$#%UVC3+.!$#8-/#8V)$:%NXnhK4#8!$# FM9!$#co+.Z6%:,#I92FE!$#%&('*),+.-/#";32)$2kR:,#%:%cl+5F),K4#>;32)$+.:b:?)$9!$#%;+.ZX:T#<6 9R;32!$
:T),9B!$A#c2),K3#;J#8&7z0+.r6%6 #<:,:,+54A)$K3#;4H)$0682_-_a#Ei)$!$4:,B6)$+59Bb-/+7:,:G+()D:;3#%;3&5+.3#No[E&7:,94cV+()`kR#<6 9-/#<:G2&.-/9B:T)+5-/1{9B:$:T+.k3&.#
)$9>14!,#<;J+.6 )@),K3#_!$#%:,1{94:,#b),+.-b#/FM9B!i),!D24:$6 ),+.94:i;JC4#L)$9=),K3#_+.V),!$+.6%H)$#b14!,9),9J6 9B&.:i:,C46DKYB:@6 9B46 C3!$!$#84686 9V)$!,9B&l14!,9),9J6 9B&.:%c
689-/-/+()h13!$92),9J689&7:8c 24;I!,#<6 9Hg#%!,b13!$92)$9 689&7:C4:,#%;I),9L-/+5V)D2+.I),K4#6894:,+.:T),#%46 /9FO),K3#i;32)$2kR:,#NpP #%6894;J&.c !$9&.&RkR6DaJ:G6%2
K4zgB#6%:$68B;J+54AL#8{#<6)$:24;=68"+.V),!$9J;JC46 #iC3413!,#<;J+76)$k3&.#]2-/9C3V)D:9Fo;3#8&7zN
)$K3#]FB6 #]9Fp),K3#b2k{9Hg#]-/#%B)$+59B3#%;13!,9Bk3&.#8-_:8cR+()i-/+5ABKV)2131{#%!E)$K4H)C4:T#L92FG;32)$k4:,#%:+7:+5-/13!D6 ),+7682&+5K42!D;=!,#<2&5'
)$+5-/#I21413&5+7682),+.94:%N/E9HW`#8g#%!%cO:,#8gB#8!D2&o:T+.&.g#8!@&.+.3#%:i#8\ +7:T)%N_l+5!D:?)<cC4:,#/92Fh2Y+5J'-/#8-/9!$;32)$k4:,#b6%2Y-_2a#/-_2 9F)$K3#
13!$9k4&5#%-/:gH23+7:TKN3C4!T)$K3#8!<cR+5)-LC4:T)k{#L!$#8-/#8-LkR#%!,#<;>),K42)+.!$#%2&5'*),+.-b#L21313&.+768H)$+59B4:%c4)$K3#L:,# )92Fp),!D2R:,B6),+.9R:E2!$#0:,+5-/13&.#
4;X!,#La 39HWXk{# FM9B!,#bK44;Zt#N A4NL1R#%!,+.9J;J+.6/:,#84:,9!C31s;3H)$#<y NbnhK3#<:T#b)$!$4:,B6)$+59B4:!,#L3\J#%;X+.)$K3#_:T#%4:T#L),KRH)i),K3#%C4:,#
)$K3#]:,-/#]2-/9C3V)4;")?V1{#%:E92Fp;3H)DL#<6DK>),+.-/#N`nhK3#8!$# FM9B!,#BcJ13&.4:`FM9!# s#%6)$+5gB#@!,#<:T9BC3!D6 #C4:,A#@68=kR#]-_B;J#),9I6DK4+5#%g#
;J#8),#%!,-/+.3+.:T),+76),!D2R:,B6),+.9"# \J#%68CJ),+.9R:8N
6 287=: 9p@`l 9 o  LZ Y; 9p]Q o
[)? 13+768&l!$#%&('*),+.-/#_:TJ:T),#8- 6 9R:T+7:?)D:92F`=689V),!$9&.&5#<;:,J:?)$#8- t#8 g +5!$93-/#%B)y24;Y"689V),!$9&.&.+53A=:, :T),#%- t689-/13CJ)$#8!yN/
9),K3#%!W9B!$;3:%c ),K4#]6 9V)$!,9B&5&.+54Ab:,J:?)$#8- -_+5V)$+5R:2>+5-_2AB#i92Fl),K3#@#%Vg +.!,9B3-/#8V)h),K3!$9C4AK>1R#%!,+.9J;J+.6i1{9&.&.+53A/9Fo:,#84:,9!E;4H)$4N
< )$K3#r9),K3#%!LK44;jcl),K4#r#8 g +.!,9B3-/#8V)0+7:0;J 4-b+76I+.^42),C3!$#r4;a#%#814:L6DK423AB+54A+()D:0:T)$2),#rC4313!$#%;J+76)D2k3&.NnhK4#";32)$
!$#813!$#%:,#8V)$+53Ar),K3#I68C3!$!,#%B)@:T)$H)$#L9FG)$K3#_#8 g +5!$94-b#%V)+7:@2Y# \32-/13&.#L9FG)$#8-/1R9B!$&;3H)D"4;X+.:K3+.AK3&.1{#8!$+.:,K4k3&5#BNL[:@2
#8\J-/13&5#Bc6 9B4:,+.;J#%!@22V),+.-/+.:$:T+.&.#b:,J:?)$#8-=NLY)$K3+.:%cj)$K3#I6 9BB)$!,9B&5&.#8!-_2+.V)$2+.4:i6%6 C3!DH)$#L+.JFM9B!,-_H)$+59BYkR9BCJ)i),K3#_:T)$2),#/92F
)$K3#r-/+7:,:,+5&.#IAB+5gB#8k X+5)$:01R9V:T+5),+.9OcogB#8&.9 68+()?Bcl4;d6%6 #%&5#%!$2),+.9;3H)D3NnhK3#_)$!$> =?#%6)$9!$9Fd+5R6 9-/+.3A-/+7:,:,+5&.#I+7:]C3413!,#8'
;J+76)D2k3&.#4;/)$K3#V),+.-b+7:$:T+.&5#:TJ:T),#%--LC4:T)-_2+.V)$2+._)$K3#:T)$2),#92Fj),K4#-/+.:$:,+5&.#AB+5gB#8_k /+()D:68C3!$!,#%B)`1R9V:T+5),+.9cBgB#8&.9 68+()?BcV4;
B686 #%&5#%!$2),+.9_gH2&.C3#<:`2)h /),+.-b#BNnhK3#i6 C3!$!,#%V)+.JFM9!$-_H),+.9"-_2+.B)D2+.3#%;rk /),K3#i6 9BB)$!,9B&5&.#8!h:,K39C3&7;Ik{#i6 9R:T+7:?)$#8V)hW+()$Kr)$K3#
B6),CR2&s:?)DH),#92FO)$K3##8 g +5!$93-/#%B)<NlnhK4+.:&5#<;3:G),90),K3#39),+.9I9FO),#%-b1{9!D2&s6 9B4:,+.:T),#%46 BNlnhK3#3#%#%;/)$9L-_2+.V)$+5r6894:,+7:?)$#8468
k{# )?W`#8#%Z6 ),C4&`;4H)$92FE)$K3#>#8 g +5!$93-/#%B)<cp24;^),K42)b1{#8!D6 #%+5gB#%;dk Y),K3#=6 9BV),!$9&.&5+.3A:,J:?)$#8-3#<6 #%:$:,+()DH),#<:])$K3#>392)$+59B^92F
?

Version 2 CSE, IIT Kharagpur


=J>  6CFE8P 4&67 9;:<9;=J> 7 4 BHN=:,C3k4:,#%6)$+59B N ?4N.}c W#i#%&.kR9B!$2),#),K3#@492),+.9>92F),#%-b1{9!D2&6 9R:T+7:?)$#8468N
P +.468#I),K4#rgH2&.C3#%:L92F:T#8)L92FE1R2!D2-/# )$#8!D:@92F)$K3#"#% gV+.!$93-/#8V)L!,#r!,#<6 9!D;J#<;X+.QX;3H)D2k4B:T#_)D2k3&.#"AB+5d2R;^2AV2+.Oc
)$#8-/1R9B!$&H),),!$+5k4CJ),#<:_92F),K3#<:T#;4H)$Y-LC4:?)Ik{#:T),9B!,#<;jNf:TC4k4:T#<6)$+59B JN ?RN5}BcW`##8&72k{9!DH)$#"K39HW),#%-/1R9B!$&E;3H)Dd682k{#
!$#813!$#%:,#8V)$#%;=+.Xr;4H)$k4:,#NX;4;J+()$+59B),9r),#%-b1{9!D2&o;32)$3cjr!,#<2&5'v)$+5-/#0;32)$k4:,#]-_z2&7:T9r689V)$+5X2!D6DK3+5gH&;32)$I:,C46DK


B:),K4#0;J#%:,+.!$k3&5#@#% gV+.!$93-/#8V):T)$2),#rt#N A4Nh!$9k{92)142),KRy NEnhK3#8!$# FM9B!,#Bc4!$#%&('*),+.-/#];3H)D2k4B:T#<:E:TK49C3&7;=kR#L2k3&.#@),9rK424;3&5#LkR9),K


)$#8-/1R9B!$&B:@W#%&5&`:L2!D6DK3+5gH&G;3H)D3N ),!D2R:,B6),+.9R:@-/+5ABKB)LK4zg#/)$96 9B-0k3+.3#r:,#8gB#8!D2&p)$#8-/1R9B!$&;32)$4;1R9V:,:,+.k3&5
:,9-/#_2!D6DK3+.gz&p;3H)Dr)$9;J#8!$+.g#/3#8W;3H)D3NI49!@# \3-b14&5#BcO+5d>!$9 6DaB# )<cj),K3#I:$2-/13&.#%;Xg#%&59J68+()?Bc6%6 #%&5#%!$2),+.9OcO4;1{9B:,+5),+.9
gH2&.C3#<:682>k{#@C4:T#<;>W+()$K")$K3#@13!$# ':?)$9!$#%;";J#%:,+5!$#%;"142),K;3H)DL),9b),!D6Da_)$K3#@142),K>#8!$!,9B!%N
  
0%:+*  +.-&!1(! 
0- '

n#8-/1{9!D2&R6894:,+7:?)$#8468b9F;3H)D@!$#%UVC3+.!,#<:p),K4#6 ),C4&{:T)$2),#92Fj),K4##8 g +.!,9B3-/#8V)2R;/),K3#:?)DH)$#!$#813!$#%:,#8V),#<;/k L)$K3#;4H)$k4:,#


{k #/g#8!$6 &.9B:,#b4;+.2 68:,#bW+()$K3+5X),K4#b&.+.-b+5)$:!$#%UVC3+.!,#<;k =),K4#/1313&.+.6%H)$+59BON]n#%-/1R9B!$&o6894:,+7:?)$#846892F;32)$"K4:)$K3#
FM9B&5&.9HW+54AL)?W`9b-/+5=!$#%UVC3+.!,#%-/#8V)$: 

o%{ % 3D  M&  nhK3+7:E+7:h)$K3#039),+.9=92F6894:,+.:T),#%46 "kR#8)?W#%#8=)$K3#]#8 g +.!,9B3-/#8V)24;=+5)$:!,#84#%6 ),+.9=+.=),K3#0;4H)$k4:,#


A+.g#%rk I)$K3#];3H)D/6 9&.&.#%6)$#%;"k _),K3#]:,J:?)$#8-2k{9CJ)h),K4#@#8 g +5!$93-/#%B)<N
  

 r J(  {0{l v8<Vl8  hnhK3+7:h+.:),K3#@39),+.9>92Fo6 9R:T+7:?)$#8468r2-/9B3Ab),K3#];32)$L),KRH)2!$#C4:T#<;"),9_;J#8!$+.g#i3#8Wq;32)$3N



x`# FM9B!,#W## \3-b+.3#),K3#<:T#39),+.94:`+.r-/9!$#;3# )$+5&*c &5#8)C4:`# \32-/+.3#K49HW;3H)D]+5),#%-/:6%2"kR#!,#%13!$#%:,#8V),#<;I+."L!,#<2&5'v)$+5-/#
;32)$k4:,#4;"),K3#@492),+.9>92Fpb!,#%&.2),+.g#i6 9B4:T+7:T),#8R6 r:,# )<N
 %< r H <Vs J )< ^ v " 4  ^ 3 3<
[;3H)D_+()$#8-;6%2k{#0!$#813!$#%:,#8V)$#%;=:/),!$+514&5#8); 7tMgH2&.C3#Bc zg +*c )$+5-/#%:T)$-/1RyNnhK3#@),K4!,#%#L6 9B-/1R9B3#8V)$:92FGI;4H)$I+()$#8-;2!$#
 
   


;J#%392)$#%;/: VWK3#8!$# ];J#8492),#<:o),K4#),+.-/#EWK3#8/-/#%B:TC4!,#%-b#%V)92Fj;0)$9 9a014&.B6 # j+7:




)$K3#]2k4:,9&.CJ)$#gH&5+7;J+5)?r+.B)$#8!$gH2&sFM9!h)$K3#];32)$b+()$#8- ;"4;>!,#%13!$#%:,#8V)$:),+.-/#@+5V)$#8!$gz&jFM9&.&.9HW+53AL),K4# I;JC3!$+53A/WK3+76DK


 "!$#%&' %#()*+-, /.0!213,'.4 5-, /.0!213,'.4 &&' 

)$K3#_;3H)DI+5),#8- ;+7:6894:,+7;J#8!$#%;=)$9"KRzg#Lk4:,9&.CJ),#bgH2&.+.;J+5)?) ]!$#814!,#<:T#%B)D:E)$K3#bgz&5C4#L!$#%689!D;J#%;=FM9B!;ON039B!#8\32-/13&.#cj


6-, /.0!213,'.4

;32)$>+5),#8- ; bt?}z~ 3c 2-_:T#<62c.} -_:T#<6%y!$#814!,#<:T#%B)D:E)$K3#_gH2&.C3#b92FG)$K3#I;32)$"+()$#8-)$9=kR#=}<~ 3cj!$#%689!D;J#%;2)_} -_:T#<62cjW+5),K2


789:!

k4:T9B&5C3),#igH2&.+.;J+5)?I+.V),#8!$gH2&j9F 2-/:,#%6N
<;  7=  
  
>=

"VD J  RL{( %% l8  V


9B4:T+7;J#%!E_:T+5),C42),+.9=WK3#%!,#]_:,# )E9Fo;32)$/+5),#%-/:EC4:T#<;>),9I;J#%!,+.g#@/3#%W;4H)$4N49!h),K4#0;J#8!$+.g#%;>;32)$/+5),#8-_:E),9_k{#]6 9!$!$#%6)<c


)$K3#:T#8)o9Fs;4H)$+5),#8-_:o9BLWK3+76DKb+()+7:ok4:,#%;0-0C4:T)pkR#!$#8&7H)$+5gB#8&.@6 9R:T+7:?)$#8V)pW+()$K/#%6DKL92)$K3#8!<N49!p# \3-b14&5#BcH+5_2/2V)$+5-/+7:,:,+5&.#


:,J:?)$#8-=cJ),K4#06 C3!$!$#8V)Eg#%&59J6 +5)?r4;>1R9V:T+5),+.99Fo/-/+7:,:,+5&.#]68=kR#]CR:T#<;r)$9_13!$#%;J+76)+5)$:E3#8Wq1{9B:,+()$+59BONG>),K4+.:68:,#c4+()W`9C4&.;
k{#]+.46 9B!,!$#%6 )`)$9_C4:,#]2=#%!,&.+5#%!E:,-/13&5#<;>1R9V:T+5),+.9=W+5),K=),K4#@g#8&.9J6 +5)?rgH2&.C3#i)$9I;J# )$#8!$-b+.3#i)$K3#]3#%W1{9B:,+()$+59B=92Fo),K3#@-/+7:,:,+.&5#BN
I9),K3#%!GW`9!D;3:%c!$#8&7H),+.g#6 9R:T+7:?)$#8468L#%4:,C3!,#<:p)$K4H)`93&._6 9V)$#8-/1R9B!$!,b;3H)D@+5),#8-_:`2!$#EC4:,#%;/)$9L;J#%!,+.g#3#8W;32)$4NlnhK3#:T#8)
9Fp;4H)$/+5),#%-_:E)$K4H)!,#@!$#8&7H)$+5gB#8&.r6 9B4:,+.:T),#%B)W+()$K#%6DK9),K3#%!%c3FM9!$-/!$#8&7H)$+5gB#]6 9R:T+7:?)$#8468":,# )u]N{6DK=u +.::$:T9J6 +7H)$#%;
W+5),K^!$#8&7H)$+5gB#_gH2&.+.;J+5)?+.V),#%!,gH2&tM!$g +7y cl;J#%392)$#%;k  ?NnhK3#I!$#8&7H)$+5gB#I6 9B4:T+7:T),#8R6 9Fh),K3#r;4H)$+()$#8-_:]+.),K3#r!,#%&.2),+.g#
6894:,+.:T),#%46 ":T#8)6%2=k{#];J# )$#8!$-b+.3#<;rk rCR:T+.3A p:h#8\J13&.+54#%;"kR#%&59HW@N
?A@B 
C?A@B 

xh:,#%;r9>),K4#]2k{9Hg#i;J+.:$6 CR:,:,+59B4:%cVW`#]68"49HW;J#843#i),K4#]6 9R;J+()$+59B4:`FM9!Ek4:,9&.CJ),#@2R;r!$#8&7H)$+5gB#gH&5+7;J+5)?r:`FM9B&5&.9HWE: 

D L{ M( { R o<R < 3D  M&  [ ;3H)Db+()$#8-;>+7:2k4:,9&.CJ)$#8&.IgH2&.+.;jc4+(Zt


 E   GFIH<J"J:KL) Vy
NM3OPK0QR, /.S!T13,'.4 VUW&' 

D L{ M( { 4 r D J  R0{l v8<Vl8  `[:,# )hu9F;3H)D0+5),#%-/:+7:!$#8&7H)$+5gB#8&.b6894:,+7:?)$#8V)%c +5


C  EXYZ#2X[8\[]^?`_  ,  .0!213,.4 Q
8,\  .0!21N,'.4 _&UW? @B 

  o O +5gB#8I)$#8-/1R9B!$&R;32)$i+5),#%- t?} D~ 8} %yj24;L)$K3#gH2&.C3#9Fj68C3!$!,#%B)p)$+5-/#B:G~ HN


?:`)$K3#@A+.g#%>;32)$b+5),#8-2k4:,9&.CJ)$#8&.IgH2&.+.;
aAb c d e fg; h# -=  $O iLKLj$#  $O iLKLj  -OPiLK"j
Zk

Version 2 CSE, IIT Kharagpur


R ( { )K4:k{#8#%A+.g#%")$K4H) } 3NhP 94c{;=+.:Egz&5+7;;JC3!$+.3A_),K4#]+5V)$#8!$gz&Ok{# )?W`#8#8~ b4;~ 4NGE#%46 #Bc4)$K3#
AB+5gB#8=;3H)DL+5),#%- _+7:h39)2k4:,9&.CJ),#%&5rgz&5+7;>H)),K4#i),+.-b#@+.4:T)$B)~ L-_:T#<62N
 8  ;  =    
 8 


  o O O#8)h!$#8&7H),+.g#p6894:,+.:T),#%46 :T#8)ukR# %),#%-b1{#8!DH)$C3!$#c<13!,#<:,:,C3!$# p24;i&7H) JkR#`~JNGtvByj[!,#o)$#8-/1R#%!$2),C3!$# z>? bc


-_:,#%6bc L-/:,#%6 ]4;r14!,#<:,:,C3!$# ]k4!%c.} 0-_:T#<62c 0-_:T#<6 @!,#%&.2),+.g#%&5I6894:,+.:T),#%V)
aAb 6c     7?I@B  ";  
'F =

tkRyh[E!$#i),#%-b1{#8!DH)$C3!$# < ? bc b-_:,#%6bc L-/:,#%6 ]2R;"14!,#<:,:,C3!$# 2k4!%c.} -_:T#<62c B~z-_:,#%6 h!$#8&7H),+.g#%&5"6 9R:T+7:?)$#8V)
8=  "; "=  8  k
";  &
'F = 8=  "; "=   k

R ( { /tVyh)$#8-/1R#%!$2),C3!$# z>? bc I-_:,#%6Ic _-/:,#%6 b4;13!$#%:$:TC4!,# bk4!%c.} I-/:,#%6c b-_:T#<6 /2!$#]!,#%&.2),+.g#%&5=6 9BJ'
:,+.:T),#%V)%N
 ";  
'F = =  :; "=   & 

tkRy),#%-b1{#8!DH)$C3!$# < ? bc L-_:,#%6/c 0-/:,#%6 ]4;r14!,#<:,:,C3!$# 2k4!%c.} -_:T#<62c B~H-_:,#%6 h!,#i39)h!$#8&7H)$+5gB#8&.r6 9B4:,+.:T),#%B)<N
";  &
F = =  "; "=  


  o j +.g#80),K42)E!$#8&7H),+.g#`6 9B4:T+7:T),#8R6 ]:,# )pu %1{9B:,+()$+59BOc g#8&.9J6 +5)?cH6%6 #%&5#%!$2),+.9 4; } p24;]FM9&5'
&.9HW+54Ah;4H)$h+5),#%-_: tv~ $~ $~ 8yc mtv $~ , 8yc
aAb gc  e A;   +? @B  ; $O iLK"j

t*~ D~ ? ~ $~ 8yc ~ HNI[E!$#/),K3#rA+.g#8d;32)$=+5),#%-/:L2k4:,9&.CJ)$#8&.gH2&.+.; [&.:,94co2!$#


$i M NM")P; =:OR# -=-OPiLK"j:# -OPiLK"j 6K:j'M  ; -O-i# -== -OPiLK"j:# -OPiLKLj ! jj K" KLJ"( NM")P;

)$K3#8"!,#%&.2),+.g#8&.I6 9B4:,+.:T),#%B)
$O#$i"$:# -=:O iLK"j:# $O iLK"j *FIH JLJ:KL) NMGOPKE;  $O iLK"j <k
'k

R ( { o9B:,+()$+59Br+7:E2kR:T9B&5CJ)$#8&.IgH2&.+.;>:@t*~ ~ By ~
p#%&59J6 +5)?r+7:2&7:,9/k4:,9&.CJ),#%&5_gH2&.+7;>B:@tv~ d~ By 
  IQ =   &% 

[686 #%&5#%!$2),+.9>+.:&.:,9_2k4:,9&.CJ)$#8&._gz&5+7;=:@t*~ >~ ?V~ By f~


 IQ -==  &%   

49!!$#8&7H),+.g#i6 9B4:,+.:T),#%46 BcJW#iK4zgB#)$9_6DK3#%6DaIWK4# ),K4#8!h),K4#];J+(s#8!$#8V);32)$b+5),#8-_:E!,#14+5!,'*W+7:,#i6894:,+7:?)$#8V)%No)68"k{#@#%B:T+.&.


  IQ -= '%  

6DK3#<6Da#<;@),KRH)p),K4#`AB+5gB#8/:T#8)p92F{;4H)$+7:o392)p!$#8&7H)$+5gB#8&.]6 9R:T+7:?)$#8V)%cB:T+.46 #`FM9B!lgB#8&.9J6 +5)?024;b6%6 #%&5#%!$2),+.9 t*~ />~ ?V~ y } 4N  -=-= Q = )% ( 


* 2L= ,+ 99 p= 2L/9pLS8 ]${8 l]=@lE


-

6DK;32)$k4:,#])$!$4:,B6)$+59BC4:,C42&.&5+. g9B&5gB#%:6868#%:$:T#<:E)$9>:,#8gB#8!D2&l;3H)Dr+5),#%-/:%cOC4:,+.3A"WK4+.6DKX+()]68!,!$+.#%:9CJ)),K3#/3#<6 #<:,:$2!$


13!$9J6 #<:,:,+54A4N=G6DKdB686 #<:,:@),9;32)$+5),#%-/:])$a#%:06 9R:T+7;J#8!D2k4&5#/)$+5-/#co#<:T1{#%68+.&5&.X+5FE;J+7:Ta6%6 #%:$:,#%:]!,#_+. g9&.g#<;jN=nhK3+.:L6 9BJ'
)$!,+.k3CJ)$#%:p)$9@-_2a +54A]n!D24:$6 ),+.94:)$9]kR#92Fs&59B3A#%!;JC3!DH),+.9b)$K42I)? 13+768&J)$B:TaL# \J#%68CJ),+.9/+.Ii39J';32)$2kR:,#h1313&.+.6%H)$+59BON
49!+.-/13!,9HgB#%;L),K4!,9BC3AK314CJ)%cB+()G+7:GiAB9 9 ;/+7;J#<),90:T)$!T)p)$K3#E# \J#<6 CJ)$+59B_92FO),!D24:$6 ),+.9/::T9 9_B:o),K3#E),!D24:$6 ),+.9bkR#<6 9-/#<:
!$#%B;Jt),KRH)h+.:%cJ6 9R6 C3!$!,#%V),&.b&59B3A]W+5),K>92),K4#8!),!D24:$6 ),+.94:2&.!,#<;JbC34;J#%!#8\J#%6 C3),+.9Ry cJ!$2),K3#%!),KR2r#8\J#%6 C3),+.3A])$K3#8-9B3#
2F),#8!E),K3#]9),K3#%!%Nh9468C3!,!$#8V)h),!D2R:,B6),+.9R:H)2 _)$+5-/#0!,#)$K39B:,#@WK3+76DK2!$#iB6)$+5gB#/t+vN #Nh:T)$2!,),#<;>k3CJ)E39)#8)6 9-/13&.# )$#<y N
nhK3#/6 9B46 C4!,!$#8V))$!$4:$6)$+59B4:6%2X91{#8!DH),#L#8+5),K3#%!i+5Y2+.V),#%!,&.#%zgB#%;=9!+.X ?),!$C3&.6 9R6 C3!$!,#%VN) !_-_243#8!  +()@;J9 #%:39)
!$#%&5&.-/2)T)$#8!<N^efK4H)/+7:L+.-/1R9B!T)D2V)bFM9!_X:,# )/92F),!D24:$6 ),+.94:0),9YkR#=6 9B46 C4!,!$#8V)L+7:L),K42)/),K3#%^2!$#>B6),+.g#>H)b),K3#:$2-/#
)$+5-/#Np)`+.:g#%!,bC33&.+.a#8&.L),9]R4;r]689-/-/#8!D6 +72&{;3H)D2k4B:T#)$K4H)h;J9 #%:392)`# \J#%68CJ),#+()D:)$!$4:$6)$+59B4:689468C3!,!$#8V)$&5BNl9HW#%g#8!<c
C34&5#<:,:L),K4#>689468C3!,!$#8V)L),!D24:$6 ),+.94:L2!$#r13!$91{#8!$&5d689V),!$9&.&5#<;jco),K4#8d-_z13!,9J;JCR6 #>+54689!$!,#<6)b!,#<:TC3&5)$:Lk dg +59B&.2),+.3AX:,9-/#
[?w13!$91{#8!,),+.#%:%cs#N A4Ni!,#<:TC4&()i!,#<6 9B!$;J#<;k =93#L),!D24:$6 ),+.9+7:+5-/-/#%;J+7H)$#8&.9Hg#%!,W!$+(),),#%kV392)$K3#8!<N@[?w13!,9B1R#%!T)$+5#<:
W`#8!$#b;3+.:$6 C4:$:,#%;X+5dP #%6N JN ~3NLnhK3#/-_2+.Y+.;J#<>kR#%K3+5R; 4&67 4 OC;CN> 7 4 B 4&67"=DCF68PR+7:),9=#%4:TC4!,#b393'*+.V),#8!,FM#8!$#8R6 #=tM+7:T9B&.2),+.9X4;
2),9-/+76 +5)?3y-/93A_;J+5{#%!,#%V)`)$!$4:$6)$+59B4:%N
C

9B46 C3!$!$#84686 9BB)$!,9B&2:,6DK4#8-/#%:j49!$-/&5&.#%4:,C3!,#p49J'+5V)$#8!,FM#8!$#8468#o-/93Ah)$!$4:,B6)$+59B4:sk !$#%:T),!$+.6 ),+.3AE6 9B46 C3!$!$#8V)s),!D24:T'


B6),+.9R:),9rkR5# 9 >@C;: EP : EIK P > Ni[689468C3!,!$#8V)E#8\ #<6 CJ)$+59B92FI:,# )92Fo),!D2R:,B6),+.9R:+.::$2+7;>),9Ik{#L:,#8!$+.&5+.%k3&.#c3+5X)$K3#L;4H)$k4:,#
9B1R#%!$2),+.94:6%2!$!,+.#%;"9CJ)Ek r),K3#%- +7:#%UVC3+.gH2&.#8V)),9I:,9-/#]:,#8!$+.&j# \J#%68CJ),+.9=92Fl),K4#%:,#i),!D24:$6 ),+.94:%Np92)$K3#8!W`9!D;3:%c36 9R6 C3!,'
/.

!$#846806 9BV),!$9&V13!,9),9J6 9B&.:o&5&.9HWQ:,#8g#%!$&V),!D24:$6 ),+.94:),9@6%6 #<:,:oi;3H)D2k4B:T#h6 9B46 C4!,!$#8V),&.cHk4CJ)&5#<zg#),K3#E;4H)$k4:,#h6 9R:T+7:?)$#8V)


k I#%JFM9!D6 +.3A_:T#%!,+72&.+.%2k4+5&.+()?BN
9B46 C3!$!$#8468r6 9BB)$!,9B&j13!$92),9J689&7:hC4:TCR2&.&5=;J9B1J)2 "92Fl),K3#@FM9B&5&.9HW+.3A/)?W9/)? 1{#%:92Fp21313!$9BB6DK3#%:%N`9B46 C3!$!$#8468r6 9BB)$!,9B&
6%2=kR#L6DK3+.#8gB#%;"#8+5),K3#%!Ek ";J+7:,&5&.9HW+.3A_6 #8!,)$+5>)? 1{#%:E9F)$!$4:$6)$+59B4:`FM!$9- 14!,9BA!$#%:$:T+.3A4c 9B!kV=2&.&.9HW+53A_&5&j)$!$4:$6)$+59B4:


Version 2 CSE, IIT Kharagpur


)$9Q13!$9AB!,#<:,:_W+5),K49CJ)=2 !,#<:?)$!,+76)$+59B4:_+.-b1{9B:,#%;9f)$K3#8-=c4;)$K3#813!,C43+54AQ:T9B-/#92F@)$K3#)$!$4:$6)$+59B4:%NnhK3#%:,#)?W`9
)? 1{#%:h92Fl6 9R6 C3!$!,#%46 I689V),!$9&{13!$92)$9 689&7:689!$!,#<:T1{9R;/),9/1{#%:$:T+.-/+.:T),+76i24;"91J)$+5-/+7:?)$+.613!$92)$9J6 9&7:%N=01{#%:$:,+5-/+7:?)$+.613!$92)$9 689&*c
1{#8!$-/+.:$:T+.9/-LC4:?)kR#E9BkJ)$+54#%;bk Li)$!$4:,B6)$+59BOc2k{# FM9!$#+5)G1R#%!TFM9B!,-_: 091{#8!DH)$+59BL9BI@;3H)D2k4B:T#h9Bk =?#%6 )%N o#8!$-/+.:$:T+.9R:)$9
)$!$4:,B6)$+59B4:p)$9bB686 #<:,:;3H)D]+5),#%-/:`+7:`!,#<:?)$!,+76)$#%;_39B!,-_&5&.0)$K3!$9C3ABK_),K3#C4:,#9F:T9B-/#&.9 6Da +.3AL:$6DK3#%-b#BN < 1J),+.-/+.:T),+76:$6DK3#%-b#<:
3#%A&.#%6 )h:,C46DKr1{#8!$-/+.:$:,+59B"6 9BV),!$9&7:4;r&5&.9HWf),K4#)$!$4:,B6)$+59B4:)$9bFM!,#%#8&.I6868#%:$: /;4H)$L+5),#8-
),K3#%I!,#<UVC3+5!$#NoE9HW`#8gB#8!<cV2)
)$!$4:,B6)$+59B=689-/-/+()$-/#8V)%cj_gH2&.+7;3H)$+59B),#<:?)+.:6 9R;JC46)$#%;=)$9rgB#8!$+(FM"),K42)&5&l;3H)D2k4B:T#0B6868#%:$:T#<:-_2+.B)D2+.:T#%!,+72&.+.%2k4+5&.+()?BN
X),K3#/FM9B&5&.9HW+.3A4cjW`#b4!$:T)@;J+.:$6 CR:,:@"),!D;3+()$+59B42&o&.9 6Da +.3A2'k4B:T#<;6 9B46 C3!$!$#8468=689V),!$9&o13!$92)$9J6 9&p6%2&.&5#<;YL~ Q),K42)i+7:ik{#8+.3A
1{913C4&.!,&.rC4:,#%;+5689-/-/#8!D6 +72&O39BJ'!,#<2&5'v)$+5-/#];32)$2kR:,#@-/42AB#8-/#8V):,J:?)$#8-_:8NheY#@),K4#8;J+7:$6 C4:$:EK39HW),K4+.:13!$92),9J689&OK4B:
k{#8#%# \ ),#%4;J#<;=FM9!!,#<2&5'v)$+5-/#]21413&5+7682),+.94:%NP C3kR:T#<UBC4#8V),&.c{W#0# \32-/+.3#L/FM#%W 91J)$+5-/+7:?)$+.606 9R6 C3!$!,#%46 >6 9BB)$!,9B&13!$92)$9J6 9&7:
;J#<:T+.A4#%;rFM9!!$#%2&5'*),+.-b#@1313&.+.6%H),+.9R:8N
 ;+' (- 2  !"
  +.- ' 5 h*
0-&'
+.-3*+.

eY#/4!D:?)0;J+7:$6 C4:$:0~8#cO>1{913C3&72!01R#<:,:,+5-/+7:?)$+.6_689468C3!$!,#%46 689V),!$9&o13!$92)$9J6 9&4;X),K3#%# \32-/+.3#_K39HWm)$K3+7:]13!$92)$9 689&pK4B:


k{#8#%>#8\ ),#8R;J#%;"FM9!!$#%&('*),+.-/#@21313&.+768H)$+59B4:%N
4  J)G+7:Gi1{#%:$:,+5-/+7:?)$+.6h13!$92)$9J6 9&3),K42)!,#<:?)$!,+76)D:o),K3#;J#8AB!,#%#`9Fs689468C3!$!,#%46 ]+.I@;32)$2kR:,#N/)$K3+7:G:$6DK3#8-/#c),K3##8\J#%6 C3),+.9
9F),!D24:$6 ),+.9d6 9B4:T+7:T)$:]9Fh)?W914K4:,#%: bA!$9HW+53A=13KR:,#r24;d:TK3!$+.3a +53A13K4:,#N=d)$K3#rAB!,9HW+.3A=13K4B:T#Bco&59J6DaJ:]2!$#
 

B68UVC3+.!,#<;dk ^)$!$4:,B6)$+59B^9Q),K3#;J#<:T+.!,#<;^;32)$X+()$#8-_:8N O9J6DaJ:b!,#"!,#%&5#<:,#%;d+.^)$K3#:TK4!,+.3a +54A13K4B:T#BN < 468#>X&59J6Da+7:




!$#8&.#%B:T#<;Ik "L),!D2R:,B6),+.9cV+5)$::TK3!$+.3a +53A/13KR:,#i:T)$!T)D:8c34;"39bFMC3!T)$K3#8!&59J6DaJ:68"k{#]6%UBC4+5!$#%;rkVr),K3#i)$!$4:$6)$+59BON


[:?)$!,+76)rL~ +7:L),K3#=-/9B:T)_6 9-/-/9Z13!$92),9J689&h+5-/13&.#8-/#%B)$#%;Z+5S6 9B-b-/#%!$68+.&h;4H)$k4:,#%:%N^nhK3+7:b13!,9),9J6 9B&+.-/1R9V:T#<:/2
B;3;J+5),+.94&R!$#%:T),!$+.6 ),+.9I9B>L~ +."),K42)h]),!D24:$6 ),+.9r6%2r492)h!,#%&5#<:,#2 _&.9 6Da/C3V)$+5&jHF)$#8!h+5)`)$#8!$-/+542),#<:t+vN #N689-/-/+()D:9B!
kR9B!T)D:$y NnhK42)+.:%c4&5&B68UVC3+.!,#<;>&59J6DaJ:E2!$#i!,#8),C3!$3#<;"k =b),!D24:$6 ),+.9>93&."2F),#%!),K3#]),!D24:$6 ),+.9"),#8!$-/+5RH),#<:9!6 9-/-/+5)$:%N
nhK39BC3AKc4)$K3+.::,+5-/13&.+(R#%:+5-/13&.#8-/#8V)DH),+.9X92Fp)$K3#013!$92)$9J6 9&*cR":?)$!,+76)@8~ #d+.:),9 9 $:?)$!,+76&) !I2R;13!$#8g#%V)$:689468C3!$!,#%B)# \J#%68CJ'
)$+59B4:iWK3+76DK689C3&7;XK4zg#/#%B:T+.&.kR#%#8d2&.&59HW`#%;W+()$K39C3)0682CR:T+.3A2 g +.9&7H),+.9X92F6 9B4:T+7:T),#8R6 92F`),K4#I;3H)D2k4B:T#BNb[:T),!$+.6 )
L~ X),K3#%!,#8FM9!$#+.V),!$9J;JC46 #<:h# \ ),!D/;J#8&7zJ:8N
nhK3#_689 g#%B)$+59B42&L~ S+.:]C34:$H),+7:TF6)$9!$=FM9!@!$#%&('*),+.-/#/1313&.+.6%H)$+59B4:FM9!]:,#8gB#8!D2&o!,#<:,94: i1R9V:,:,+.k3+5&.+5)?92Fh13!$+59B!,+5)?+53'
gB#8!D:T+.94:%c4&.94AIk3&.9 6Da +.3Ar;J#%&.zJ:%cR&76Da>92FG6894:,+7;J#8!DH)$+59B"FM9B!)$+5-/+.3Ar+.JFM9B!,-_H)$+59BOcs24;;3#%;3&59J6DasN[m14!,+.9!$+()?>+.VgB#8!D:T+.96%2


9J6868C3!<cJWK3#8b&.9HW13!$+59B!,+5)?_)$!$4:,B6)$+59Br+7:K39&7;J+.3AIb&59J6Da"9=_;3H)DL+5),#%-=cR2R;"/K3+.AK=13!$+.9!$+()?/)$!$4:,B6)$+59B"3#%#%;J+.3A/)$K3#
;32)$+()$#8-mWh2+5)$:lC3V)$+5& )$K3#&.9HW^13!$+.9!$+()?),!D2R:,B6),+.90!,#%&5#<:,#%:),K3#h&.9 6DasNl[Q)$!$4:$6)$+59B]-/+5ABKV)lC3R;J#8!$A9&59B3Ak4&59J6Da +54A;J#%&.zJ:%c
:,+5R6 #i2 /92),K4#8!`92),K4#8!`),!D24:$6 ),+.9IWK4+.6DK"-b+.AKV)`K4zg#68UVC3+.!$#%;/)$K3#@;3H)D]k{# FM9!$#+()hW9BC3&7;IK39B&.;r+()`),+.&5&j+5)$:h689-/13&.# ),+.9c 4;
-/9B:T)h),!D24:$6 ),+.94:h!,#iC4:,C42&.&.I92Fo&59B3A_;JC3!DH)$+59BI)? 1R#<:8N
_)$K3#EFM9B&5&.9HW+.3A]W`#+.&5&.C4:T),!DH),#K39HWf;J#%B;J&.9 6DaJ:682_9J6%6 C3!`+5>8~ C4:T+.3Ab2I#8\J-/13&5#BNp9B4:,+.;J#%!)$K3#FM9B&5&.9HW+.3A0:,#%UVC3#8R6 #
9FoB6),+.9R:k r)?W9L),!D24:$6 ),+.94 : 
2R ;  WK3+76DK"4#8#%;=B686 #<:,:)$9/)?W9_;32)$b+()$#8-_:E;j}@4;";R~JN
$


 !#"$%!#"$
 $ & !#"$%!#"$

[:,:,C3-/#),K42') 
K4B:hK3+5ABK3#8!h13!$+.9!$+()?/)$K42(  N  :?)D2!,)$:`!,C433+.3Ab4!$:T)E24;r&59J6DaJ:;32)$L+()$#8-;R~JNp[F)$#8!:,9-/#),+.-b#Bc)

&.9J6Da :;j}]24;>)$K3#8=)$!,+.#%:),9I&.9J6Da";4~bWK3+76DK+7:kR#%+54AIK3#8&7;=k   Nh[:_6 9B4:T#<UVC3#8468#


k3&59J6DaJ:%cR2R;% 4#8#%;4:h),9I&.9J6DaI)$K3#
$ $

;32)$b+5),#8-;j}@k{#8+.3A/K3#8&7;>kV  
NE9HW@c )$K3#i),!D24:$6 ),+.94 : 
2R;  2!$#kR9),K;J#%B;J&.9 6DaB#%;jN
$ $

4  +* o8~ #j'1e mtMWh2+5)13!$9-/9),#<yE+.:r:$6DK3#%-b#L13!$91{9B:,#%;=)$9r9Hg#%!6 9B-/#L:,9-/#09Fp),K3#/:TK49!,)$6 9B-/+53AV:E9Fp),K3#b13C3!$#b~L


$

13!$92)$9J6 9&*NpnhK3+7::,6DK3#%-/#i6%2=k{#@W!,+5)T)$#8>+5=14:,#8C4;39/689J;J#iFM9!$- :`FM9B&5&.9HWE:


 > 


,-/.0&13254&6 78!:9)7; .0&1  0 1 9<=$>?9 0)@ !&; @ 9 1 A ! 4#-:,


1 > 2B.0&13254C 6ADAE0&1254$F&6$6 :9 G7A! ,)-H4F G":;I9$G7"$ 0 7$JAK7;9)7:/L< 4 CM-:,
4C=N)@#1 9 ;PO
4FQ1 !G7 0&1 9 ; .0&1  0&1 9<?$> 4$C O
7");A7

Version 2 CSE, IIT Kharagpur


4C=N)@#1 9 ;PO
7A!) 1 >
)r6%2SkR#9Bk4:T#%!,gB#%;QFM!,9B-),K4#14:,#8C4;J9d689 ;3#=),K42)IWK3#8f;3H)D+()$#8- !,#<UBC4#%:T),#%;Zk ZYK3+.AK13!$+59B!,+5)?d)$!$4:,B6)$+59BQ+7:
{k #8+.3A/K3#8&7;"kVIL&.9HW#%!13!$+.9!$+()?b),!D2R:,B6),+.9cB)$K3#8"),K4#&.9HW13!$+.9!$+()?b),!D2R:,B6),+.9"+54K3#8!$+()D:),K3#i13!$+59B!,+5)?/92F),K3#iK3+.AK"13!,+.9!$+5)?
)$!$4:,B6)$+59BON~Lj'e1)$K3#8!$# FM9B!,#0;3#813&.9HJ:I14!,+.9!$+()?>+.3K3#8!$+5)$2R6 #L:$6DK3#%-b#BN9HW#%g#%!%cR+5X~LO'*e1fC43&5+.a#bI13C4!,#L13!,+.9!$+5)?
+.3K3#%!,+5)$46 #0:$6DK3#%-b#BcR+5FG_K3+.AK4#8!E13!$+.9!$+()?"),!D24:$6 ),+.9=+7:2k{9!,),#<;=WK3+.&5#L+()+.:kR#%+53Ark3&59J6DaB#%;jcR),K3#L#8&.#8gHH)$#%;=13!$+.9!$+()?r),!D24:T'
B6),+.9r!,#8)$2+.4:),K3##8&.#8gHH)$#%;_14!,+.9!$+()?bC3V),+.&{+()D:G)$#8!$-/+542),+.9ONonhK3+7:6%2I&.#%B;/),90),K3#FM9&.&.9HW+53A0C34;J#<:T+.!$k3&.#:T+5),CRH),+.9N 4;J#%!
K3+.AKd;32)$=6 9BV),#8V)$+59BY:,+()$C4H)$+59B4:%cl8~ #j'1e W`9C4&.;X!,#<:TC4&()]+.-b9V:?)]9FG)$K3#_),!D2R:,B6),+.9R:+.Y),K3#I:,J:?)$#8- # \J#%68CJ),+.3AH)@)$K3#
:$2-/#h13!$+59B!,+5)?NL)$K3+7::T+5),CRH),+.9cH),K3#kR#%K4zg +59B!l9F{@;32)$k4:,#`;3#813&.9H +53A]L~ j'1e XW9BC3&.;L!$#%;JC468#h),9),KRH)92Fji6 9BVgB#8V),+.9R2&
;32)$k4:,#CR:T+.3Ar8~ #NJE9HW`#8gB#8!<c C34;J#%!&59HW&59V;>:T+5),C42),+.94:%c48~ #j'1e Z:,K39BC3&.;>1{#8!,FM9!$-
k{# )T)$#8!)$K42L~ N
4  l8~ #j' mtK3+.AK14!,+.9!$+()?3yE9Hg#8!D6 9B-/#%:E:,9-/#09Fp),K3#b13!$9k3&.#8-_:W+()$KYL~ j'1e oN{X8~ #j' oc4WK4#8XI),!D24:$6 ),+.9
!$#%UVC3#<:?)D:"&.9 6Da9BX>;3H)Dr9Bk =?#%6 )@K3#8&7;k "&59HW`#8!13!$+59B!,+5)?>),!D24:$6 ),+.9X+5Y>689JR+.6 ),+.3A"-/9J;J#Bcj),K3#/&.9J6Da>K49&7;J+54A>&.9HW`#8!
 > 

13!$+.9!$+()?>),!D2R:,B6),+.9+.:i2k{9!,),#<;jN]nhK3+7:13!,9),9J6 9B&+7:i2&7:T9"a 39HW:13!$+.9!$+()?=2k{9!,)/Dt j[y13!$92)$9 689&*N@nhK3+.:13!$92)$9J6 9&o68k{#


#8\ 14!,#<:,:,#%;r+5>),K4#iFM9!$- 92F),K3#iFM9B&5&.9HW+.3A/14:T#%C4;J9_6 9J;J# 

1 > 2 ! A A!)>" 1 9 6 9$G7A! 4C @ A7);;A7; ), -H4C 1 ;/9$G7 0 7$J:K7);9 1 !H9 )0 @ ! ; @ 9 1 A! :- ,
7");A7 ), - 9 0)@ ! ; @ 9 1 A! 4F 1 ;IG"A 1 !?9$G)7 @ 9 @ 1 9)7' -A,
,)-H0 7;A" )7 9$G7 A8!)>)" 1 9 @ ; > ""$ N ;
-:,
1 > 25E0&132B4C&6ADAE$0&13254F 6$6 9$G7A! @ L) 0 9 4F
7");A7 4CN@#1 9 ;/> 0 9$G7="$ O ,)-H4C L#"$#; -:,
~Lj' Z+.=B;3;J+5),+.9"),9_k{#8+.3A/FM!$#8#FM!,9B-
13!$+59B!,+5)?_+.VgB#8!D:T+.9cV+7:E&.:,90FM!$#8#iFM!$9-;J#%B;J&59J6DaJ:%N
\ 1{#8!$+.-b#%V)$2&!,#<:TC3&5)$::TK49HW)$K4H)!,#<2&5'v)$+5-/#]689468C3!,!$#8R6 "689V),!$9&13!,9),9J6 9B&.:Ek4:,#%;=9BX~8#j' 9C3),1{#8!,FM9!$-13!$92)$9J6 9&7:
k4B:T#<;9B#8+5),K4#8!]8~ #Q9B!iL~ j'1e oNsnhK3+.:i!$#%:,C3&5)-/+.AKV)@2131{#%!)$9"k{#/C33#8\ 1{#%6 ),#<;jc:,+5468#LC44;J#8!0~LO'fW9B!,a=+7:iW`B:?)$#%;
;JC4#)$90)$!$4:,B6)$+59Br2k{9!,),+.94:9J6868C3!,!$+.3A]WK3#%3#8gB#8!h0K3+.AK4#8!`13!,+.9!$+5)?L)D:,a_!,#<UVC3+5!$#%:0!$#%:,9C4!$68#E&59J6DaB#%;Ik _L&59HW`#8!13!,+.9!$+5)?
)$!$4:,B6)$+59BONIE9HW`#8gB#8!<cs),K3#_!$#%:,C3&5)0682k{# =?C4:T),+54#%;YFM!$9-),K3#/FM9B&5&.9HW+54A=6894:,+7;J#8!DH)$+59BO N E3&.+5aB#/)$B:TaJ:@:,K42!$+54A>!$#%:,9C4!$68#%:
+.V),#8!$-/+(),),#%B)$&5BcJ),!D2R:,B6),+.9R:hC34;J#%!8~ Y9B46 #i)$K3#8>68UVC3+.!$#;32)$4c3K39&7;"),K3#%- C3V)$+5&j)$K3#8+.!689-/13&.# ),+.9=9B!E2k{9!,),+.9ONpnhK C4:%c
)$K3#0;32)$_K39B&.;3+53A/)$+5-/#L92Fb),!D24:$6 ),+.9=+7:6 9B-/142!D2k3&.#),9_)$K3#]&.+(FM#0),+.-/#]92Fo),K4#]),!D2R:,B6),+.9>WK3+76DK+.:C4:,C42&.&5>UVC3+()$#0&.93ARN
n!$4:$6)$+59B4:`W+()$K!,#<:T9BC3!D6 #i6 9V)$#8V),+.9Oc )$K3#8!$# FM9B!,#iC3R;J#8!$A9_:,#8!$+.&j# \J#%68CJ),+.9=C34;3#8!8~ #Y!$2),K3#%!h),K4=:,#8!$+72&.+5<2k3&.#i# \J#%68CJ'
)$+59BONpnhK3+.:`+.-/13&5+.#%:)$K4H)6DK42R6 #%:92Fl;J#%B;J&5+.3#-/+.:$:T#<:Gk _K3+.AK4#8!`13!,+.9!$+5)?0)$!$4:,B6)$+59B4:GC44;J#8!8~ #-_z/kR#i-/9!$#E)$K42r),K42)
+.X8~ #j' oN3L~ Y)$K39C3ABK),K4#06DK42R6 #%:92F68B:,6%;J#<;>!,9B&5&k46DaJ:E!,#@&.#%:$:8c{k3CJ)),K3#Lzg#8!D2AB#),!D24:$6 ),+.9=# \J#%68CJ),+.9=)$+5-/#<:
K4zgB#k{#8#%=!,#%1R9B!T)$#%;r),9_k{#@&59B3A#%!%N
i R M& m0 v  iH4<O{ O#8)]C4:i39HW;J+.:$6 CR:,*: G!,+.9!$+5)?X#8+.&5+.3A !$92)$9 689&t h yFM9B!];3H)D2k4B:T#<:8 N E4&5+.a# h FM9B!
!$#%:,9C3!D6 #@:,K42!$+.3AI2-/94A/)$:,aJ: A` +.;32)$2kR:,#]6 9R6 C3!$!,#%46 "6 9V)$!,9B&;J9 #%:392)-_a#@C4:,#]92FV>13!$+59B!,+5)?I+.3K3#%!,+5)$46 #BN


nhK3#0-/+5689468#81J)E+. g9B&5gB#%;>+5=)$K3+7:E13!$92)$9 689&O+7:)$K3#]#<:?)D2k3&.+.:,K3-/#8V)9Fo_),92)D2&O14!,+.9!$+()?"9!D;J#8!$+.3A_2-/93AI&5&),!D24:$6 ),+.94:%N


nhK3+7:13!$92)$9J6 9&jB:,:,9J6 +7H),#<:),K3#iFM9B&5&.9HW+54A0)$K3!,#%#@gH2&.C3#%:hW+5),K=#8gB#8!$I;3H)D/9k =?#<6)<N
r L  v /nhK3+.:]gz&5C4#_+54;3+.6%H),#<:i),K4#_13!,+.9!$+5)?gH2&.C3#_92F`),K3#rK3+5ABK3#%:T)]13!$+59B!,+5)?=),!D2R:,B6),+.9X),KRH)]-_zW!$+()$#/),9=)$K3#
;3H)Db9k =?#<6)%N
 h 

 o%{ %L  v nhK4+.:h+7:h),K4#@K3+5ABK3#%:T)13!$+59B!,+5)?_),!D2R:,B6),+.9r),K42)E-_zI!,#<;r9!W!$+()$#)$K3#];32)$/9*k =?#%6)<N




r 5*m M<=L D  nhK4+.:`gH2&.C3#+.:h;J#843#%;";J 42-/+768&5&.IH)`!,C3r),+.-/#NpefK3#%>]),!D24:$6 ),+.9IW!$+()$#%:G),9/L;4H)$09k =?#<6)<c


),K3#L!,#<; 'W!$+()$#06 #%+5&.+54Ar+7::,# )#%UVC42&),9r),K3#b2k4:,9&.CJ)$#L6 #%+5&.+.3A4NE9HW`#8g#%!%cR!,#<; 'W!$+()$#06 #%+5&.+54AI+.:i:,# )#%UVC42&),9r),K3#b!,#<;
 h7 

6 #%+5&.+54ALFM9B!Eb!,#<;"91{#8!DH),+.9N
nhK3#i13!$+.9!$+()?I68#8+.&5+.3A_!$C3&5#i+7:h),K4#FM9B&5&.9HW+.3A4N
7Vz,H $ 3=7 <%?$(z>H% 8,?IV<TI4 % i i3V%?<><b,VV `VH=3V > Gz>2 M  _2Gz
V<$H$ 4_. z8T$(<bziV<TL3 *%   3z2jHV@</7%HvM ?@8z( (zLoV B<T03 *% ?%


Version 2 CSE, IIT Kharagpur


)E68rk{#@:TK39HWr),K42/) ` Z+.:;J#<;J&.9J6Da/FM!,#%#4;>:T+.3A&.#k3&59J6Da +.3A4Npu#<6 9&.&.#%6)`),KRH):,+53AB&5#k3&.9J6DaV+.3Ab-/#%2R:G)$K4H)9B46 #i
)$!$4:,B6)$+59B":T)$2!,)$:h#8\J#%6 C3),+.3A_HF),#%!Ek{#8+.3A/k3&59J6DaB#%;jcJ+5)E-_zI392)Ek4&59J6DarAB2+.ON
# )C4:h24&5 %#0FM#8W+5V)$#8!$#%:T),+.3AL14!,9B1R#%!T)$+5#<:9FO),K4+.:14!,9),9J6 9B&vNo[13!,9B1R#%!T)?_9F)$K3+.:h14!,9),9J6 9B&R+7:`),K42)h),!D24:$6 ),+.94:`W+5),K
13!$+.9!$+()$+5#<:)$K4H)!,#`&59HW`#8!),KR2b9!o#%UVC4& ),9),K3#h!$#%B;06 #%+5&.+.3A@2!$#39)2&.&59HW`#%;i)$9i!,#<;@)$K3#;3H)D9k =?#<6)$:l#%g#8b+.b6 9B-b1RH),+.k3&.#
-/9J;J#NGPJC46DK"L1R#<:,:,+.-b+7:T),+76-/#%B:TC4!,#K4:`k{#8#8")$a#%_),9b#84:,C3!$#)$K4H)E]FMCJ),C3!$#iK3+.AKr14!,+.9!$+()?b)$!$4:,B6)$+59BIW+5&.&s392)k3&.9J6Da/9
&.9HW13!$+59B!,+5)?/W!,+5),#%!$:%Np[E&7:T9RcJHF),#%!E])$!$4:$6)$+59BIW!$+()$#%:b;3H)D0+5),#%->cJ49b9),K3#%!`),!D24:$6 ),+.9I+7:h1R#%!,-/+5)T)$#%;r),9/#8+5),K3#%!h!,#<;I9B!
W!$+()$#),9/),KRH);32)$b+()$#8-C3V),+.&j),K3#@9B!,+.A+.4&{W!$+5),#8!h)$#8!$-/+542),#<:8N
  o O [:$:,C3-/#)$K4H))$K3#i!,#<;>6 #%+5&.+54A0FM9B!Eb;4H)$b+5),#%- ;>+.:E~ L4;I)$K3#]2kR:T9B&5CJ)$#68#8+.&5+.3A/+7: ? 3NpnhK3+7:h-/#%4:`),K42)
K3+.AK4#%:T)i14!,+.9!$+()?-b9B3A=2&.&)$K3#b),!D24:$6 ),+.94:),KRH)@-/+5ABKB)@!$#%B;;X+.:@~ 4N0[F)$#8!0 =),!D24:$6 ),+.9!$#%B;3:;Ocj),K3#_!$#%B; 'W!,+5),#
aAb c    

68#8+.&5+.3A/+.::T#8)`)$9r~ 4NonhK4+.:h13!$#8gB#8V)$: _),!D24:$6 ),+.9"WK3+.6DK>3#%#%;3:h)$9/!,#<;>;rFM!$9-6868#%:$:T+.3A/;jN



 

  % *! ' 


 +.- ' 5 h*
0-&'
+3-.*+3*++ ')+.(!
< 1J)$+5-/+7:?)$+.6]9B46 C3!$!$#8468_9BB)$!,9B&lt < hy !$92),9J689&RB:),K3#42-/#i:TC4AA#<:?)D:;39V#<:`392)+."2 _Whz/13!,#%g#%B)h2 b),!D24:$6 ),+.9
FM!$9-B6868#%:$:T+.3A" ;3H)Dr+5),#%-_:i+()]!$#%UVC3+.!,#<:8NbE9HW`#8gB#8!<cs")$!$4:,B6)$+59B+7:igz&5+7;32),#%;YH)),K4#/),+.-b#_9F+5)$:@689-/-/+()$-b#%V)@4;
V"6 934+.6 ),+.3Ab),!D24:$6 ),+.94:h!,#@2k{9!,),#<;jN
E<@ 4z82<

    vV T 2zz]z
 h h82<7VV?_V Z272?J83 %
  "!#  $ &%(')'

F)$K3#8!$#I+7:0&.+(),),&.#"689V),#%B)$+59B^24;^+5V),#%!TFM#%!,#%46 #"2-/93A=)$!$4:$6)$+59B4:%c-/9B:T)0)$!$4:$6)$+59B4:@W`9C3&7;k{#":,C46868#%:$:?FMC3&.&.XgH2&.+5'
;32),#<;jN E4;3#8!EK3#<zg I&59V;"6 9R;J+()$+59B4:K39HW`#8gB#8!<c)$K3#8!$#]68"k{#@&72!$A#i C3-0k{#8!9F)$!$4:,B6)$+59B4:),K42)F2+.&s),K3#]gH&5+7;3H)$+59Br)$#%:T)
4;_2!$#E2k{9!,),#<;jNlnhK4+.:-/+5ABKB)&5#<;b),9L:T#%g#8!$#!$#%;JC46 ),+.9/+._),K3!$9C4AK313C3)24;_:,K4!,1/+.46 !$#%B:T#+.r;J#<;J&.+54#E-/+.:$:T#<:8NonhK C4:%c)$K3#
1{#8!,FM9!$-_2468#]92F < 13!$92)$9 689&7:6%2:,K39HW I-_2!$a#<;;J!,9B1H)K3+5ABK&59V;3:%NEeY#L49HWq;3+.:$6 C4:$:IFM#8W +.-/1R9B!T)D2V)9B1J),+.-/+.:T),+76
689468C3!,!$#8R6 I6 9BV),!$9&s13!$92),9J689&7:8N
4 % J "/ b),K4+.:G13!,9),9J6 9B&vcz)$!$4:$6)$+59B4:o!$#%;b2R;LC41{;32),#E;32)$i+5),#%-/:pFM!,#%#8&.cB:T),9B!,+.3A),K4#8+.!C31s;3H)$#%:p+.V),9]13!$+5gHH)$#
W`9!$a13&768#NnhK3#<:T#_C31s;32),#%:b2!$#_-_;J#r13C3k3&.+.6I93&.Y2)]),!D2R:,B6),+.9d689-/-/+()])$+5-/#BNx#8FM9!$#I=),!D2R:,B6),+.9+7:0&5&.9HW#<;)$9
* : 

689-/-/+()<c{+5)iK4:),9>14:$:rgH2&.+.;32),+.9)$#%:T)%N@nhK3#bgH2&.+.;32),+.9)$#%:T)i6DK4#%6DaJ:EWK3#8),K3#%!)$K3#8!$#b+.:2 6 9BJ4+76)k{# )?W`#8#%)$K3#0gH2&.+5'


;32),+.3A@)$!$4:,B6)$+59BI24;/9),K3#%!G)$!$4:,B6)$+59B4:o),KRH)KRzg#E6 9B-/-b+5)T)$#%;":T+.46 #E),K3#gz&5+7;32),+.3A])$!$4:,B6)$+59B/:T)$!T)$#%;/#8\ #<6 CJ)$+54A4Np[
)$!$4:,B6)$+59B0+7:p2k{9!,),#%;OcH+(Fs+();J9 #<:o392)p14B:,:),K4#`gH&5+7;3H)$+59B0)$#%:T)%NonhK3+7:oAC4!$B)$#8#<:O)$K3#H),9B-/+.68+()?04;0;3C3!$k3+.&5+5)?]13!$91{#8!,),+.#%:%N
P +.468#W!,+5),#<:o9 6%6 C3!p9B3&.0H)6 9B-/-b+5)p),+.-/#c),K3#E:,#8!$+.&5+.%2),+.9]9B!$;3#8!p+. < d+.:o)$K3#9!D;J#%!l+./WK3+76DK0)$K3#h),!D24:$6 ),+.94:o689-/-/+()<N
"b LzA lL 3%=LA  ` < x!$9BB;368B:?)9B-b-/+5)bt < G'xEhyh13!$92)$9J6 9&*c4WK4#8/)$!$4:$6)$+59B6 9-/-/+5)$:%cR+5)39'
)$+(4#<:E+5)$:+5V)$#8V),+.9=)$9r2&.&9),K3#%!6 C4!,!$#8V),&.r!$C334+53AI),!D24:$6 ),+.94:%NG6DK=9Fl)$K3#%:,#]!$C333+.3A_)$!$4:$6)$+59B4:E6%2!$!,+.#%:9BCJ)/)$#%:T)
,+ h 

)$9"6DK3#<6Da"+5FG+5)K4B:V=6 9BJ4+76)D:W+5),K),K3#b6 9-/-/+5)T),+.3Ar),!D24:$6 ),+.9ONEF`2 >689JR+.6 )$:2!$#0;J# )$#%6 ),#%;OcR)$K3#8),K3#0),!D24:$6 ),+.9


6%2!$!, +.3AL9BCJ)h),K3#]6DK4#%6DaI+.-/-b#<;J+7H),#%&5>2k{9!,)$:`+5)$:,#8&5Fo4;>!,#<:?)D2!,)$:%N
92),#G),K42))$K3#8!$#`+.:394#8#%;]FM9!o689-/-/+(),),+.3A)$!$4:$6)$+59B@),96DK3#%6DaFM9B!l689J4+76)D:W+5),Kb2&.!,#<;Ji6 9B-/-b+5)T)$#%;0),!D24:$6 ),+.94:%c
k{#%6%2C4:,#@+(Fp+5)W`#8!$#+.6 9BJ4+76)W+5),KV"92Fo),K4#]6 9-/-/+5)T),#<;>),!D24:$6 ),+.94:%c3+5)EW9BC3&7;"KRzg#]2&.!$#%;3IkR#%#8kR9B!T)$#%;jNGnhK C4:%c4+.
< G'xEZ9468#0),!D24:$6 ),+.9I!$#%B6DK3#%:G+()D:hgH2&.+.;32),+.3A014K4:,#c +5)h+7:`AC4!$V),#8#<;I6 9B-/-b+5),-/#%B)<NG9-/142!$#%;_),9 < G'vFM9B!,Wh2!D;jc
+5)#84689C3V),#%!$:`#<2!$&5+.#8!`!,#<:?)D2!,)$:h2R;I&.#%:$:hW`B:?)$#%;r689-/13CJ)DH)$+59B4:8NpnhK3#%!,#8FM9!$#cV),K4+.:h13!$92)$9J6 9&j:,K39C4&.;r1R#%!TFM9B!,-
k{# ),),#%!h),K4r)$K3#
< G'*FM9!$W`!$;b13!$92)$9J6 9&{+.r-/#8#8),+.3A0)D:,aI;J#%B;J&.+53#<:8Np9HW#%g#8!<cB013!$9k3&.#8-W+5),Kr),K3+7:h13!$92),9J689&4+7:),K42)`+5)E;J9 #%:392)6 9B4:,+.;J#%!
)$K3#r13!$+.9!$+()$+5#<:@92F)$!$4:,B6)$+59B4:8N < d)$K3#r9),K3#%!0K44;jco+5)L-_zXk{#r1{9B:$:,+5k3&.#_)$9X6DK4+5#%g#_k{# )T)$#8!b1R#%!TFM9B!,-_46 #Ik Y# \J13&.+.68+()$&5
6894:,+.;3#8!$+53AL),K4#@13!,+.9!$+5),+.#%:h92F),K3#i)$!$4:$6)$+59B4:%N
"b  3  o dnhK3+.:I13!,9),9J6 9B&# \J13&.+.68+()$&5S6 9B4:T+7;J#%!$:b)$K3#13!$+59B!,+5),+.#%:/9F),!D2R:,B6),+.9R:8N[&.:,94c),K3+7:_13!$92)$9J6 9&+.V),!$9J;JC46 #<:
)$K3#Y689468#81J)>92FL 4&67 : 4@= 9 >@=*N[6 9BJ4+76):T#8)"+7:I)$K3#Y:,# )=92F068C3!$!,#%B)$&5!$C333+.3AQ),!D24:$6 ),+.94:I),K42)>6 9BJ4+76)=W+()$K)$K3#
6 .- 
/

Version 2 CSE, IIT Kharagpur


gH2&.+7;3H)$+53Ah)$!$4:$6)$+59BON[Y)$!$4:,B6)$+59B9B46 #p!$#%B6DK3#%:{+5)$:gz&5+7;32),+.9@:?)D2AB#c%6DK4#%6DaJ:sFM9!6 934+.6 )$:jW+5),Ki)$K3#G68C3!,!$#8V)$&5E#8\J#%6 C3),+.3A
)$!$4:,B6)$+59B4:8NlF689J4+76)D:h2!$#;J# )$#%6 ),#%;>2R;_93#9!`-/9!$#9FO),K3#),!D2R:,B6),+.9R:+.I),K4#689J4+76):,# )hK4:K3+.AK3#%!13!$+.9!$+()?b),KR2
)$K3#/gz&5+7;32),+.3AI)$!$4:,B6)$+59BOc{),K3#%)$K3#/gz&5+7;32),+.3AI)$!$4:,B6)$+59B+.:ikR9B!T)$#%;4;!$#%:T)$!T)$#%;jN < )$K3#8!$W+7:T#Bcs&5&l)$!$4:,B6)$+59B4:+.
)$K3#L689J4+76)i:T#8)!,#0kR9B!T)$#%;4;!$#%:T)$!T)$#%;jNE9HW#%g#8!<c3)$K3+7:13!$92)$9J6 9&l:TC3{#%!$:FM!,9B- )$K3#b13!,9Bk3&.#8-),K42)i/)$!$4:$6)$+59B-_z
k{#b:$68!,+5R68#%;=9k{#8KR2&5FG92FG392)$K3#8!),!D24:$6 ),+.9=),KRH)i+.::,B6 !$+({6 #%;=&7H)$#8!<c{4;:,9I9  &.#%B;J+.3A_),9"W`B:?)$#%;689-/13CJ)DH)$+59B4:
4;";3#%;3&5+.3#@-/+.:$:,#%:%N
  %:
0' 5 ( *.
 +.- ' 5 h*
0-&'
+.-3*+.

P 1{#%68C3&7H),+.g#E9R6 C3!$!,#%46 ]9V)$!,9B&RtvPRhy14!,9),9J6 9B&2),!$+.#%:),99Hg#8!D6 9B-/#-_=?9B!W`#%aV4#%:$:O92F4),K3# < X13!$92),9J689&7:8NuE#%6 9B&5&.#%6 )


)$K4H) < 13!,9),9J6 9B&.:+5AB39!$#@)$K3#L9J6%6 C3!$!,#%46 #092FG6 9BJ4+76)kR#8)?W#%#8)?W`9_)$!$4:,B6)$+59B4:EC3V)$+5&l),K4#0gH2&.+.;4H),+.913K4:,#09F93#L92F
)$K3#8-=Np[`)),K4+.:o)$+5-/#BcB+5)G-_z02&.!$#%;3]K4zg#k{#%689-/#h),9 9@&7H)$#h),9]6 9B!,!$#%6 )o),K3#E14!,9Bk3&5#%-k 0!$#%:T)$!T)$+54A9B3#92F{),K4#),!D24:$6 ),+.94:%c
#<:T1{#%68+.&5&._+(Fl),K4#)$!$4:$6)$+59B4:`K4zg#),+.AKV)E;J#%B;J&.+53#<:8Nn9b9Hg#8!D6 9B-/#E),K4+.:h13!$9k4&5#%->cJ+.P4c36 9BJ4+76)$:!,#i6DK3#<6Da#%;"H)h#8gB#8!$
!$#%B;Y4;W!$+()$#I91{#8!DH)$+59B4:8N"efK3#84#8g#%!0689J4+76)L+.:L;J# )$#%6)$#%;jcp=3#%Wg#8!D:,+59Btv68&5&.#%;X),K4#":,K4;J9HWg#%!$:,+59BRy92F#<6DK92F
)$K3#I6 9BJ4+76),+.3A>),!D2R:,B6),+.9R:+7:@+.3+5),+7H),#<;jNInhK3#_13!$+.-/!,g#8!D:,+59B# \J#<6 CJ)$#%:@:@ ),!D24:$6 ),+.9XW9BC3&.;X# \J#<6 CJ)$#_C34;J#%!]2
< ^13!$92),9J689&*c2+5AB39!$+.3A),K3#689JR+.6 )$:p)$K4H)G;3#8g#%&59B1ONo#%VWK4+5&.#c),K3#:,K4B;J9HWQgB#8!D:T+.9b# \J#%68CJ),#<:GB:2 @)$!$4:,B6)$+59BbW`9C4&.;
;J9XC34;J#%!L1R#<:,:,+5-/+7:?)$+.6r13!$92),9J689&  :TC4k =?#%6 ),#%;d),9&.9J6Da +53AX24;d!$#%:T)$!T)D:8NnhK4#r+7;J#%+7:0),9X&5WhzJ:ia#%#81Q68&5#<2^gB#8!D:T+.9
tvIg#%!$:,+.9W+5),K39BCJ)V689J4+76)D:$yE+5Y68B:T#]+5)i+.:#8gB#8!4#8#%;3#%;jNinhK3+7::,K39C4&.;K4#8&.1+.-/#8# )$+54AI),K4#b;J#<;J&.+.3#%:92Fp)D:,a :W+5),K
)$+5ABKB)h;J#%B;J&.+53#<:8NlefK3#%r]:,K4;J9HWS!$#%6DK4#%:@1{9+.V)9F6 934+.6 )%cV+()`k3&.9 6DaJ:B:GVL),!D2R:,B6),+.9/C3R;J#8!`]1{#%:$:T+.-/+.:T),+7613!$92)$9 689&*N
efK3#%^)$K3#r13!$+.-/!,Yg#%!$:,+.9d6 9B-b-/+5)$:%c2 :TK4B;J9HW:$:T9J68+.2),#%;YW+5),KZ+()b+.:b;J+7:,6%2!D;J#%;jNQ;3;3+()$+59BOc2 :TK4B;J9HWWK39B:,#
:,#8!$+.&5+.%k3+.&5+5)?>;3#81{#84;3:9B),K3#b;J+7:,6%2!D;J#%;:,K4B;J9HWE:E+7:&.:,9r;J+7:$682!D;J#<;jN9HW#%g#8!<c4WK4#8)$K3#b13!,+.-_2!$r)$!$4:$6)$+59B2k{9!,)$:%c
)$K3#]:TKR;J9HW:T)$!T)D:h92#8\J#%6 C3),+.3A/C34;J#%! < B:`),K3#@3#%W13!$+.-/!,BN
[:+5=)$K3# < 13!$92),9J689&7:8c3+.P413!$92),9J689&O2&7:,9I2&.&OC31s;3H)$#%:E-_B;J#@k >b)$!$4:,B6)$+59B>!,#@-_;3#@9=&59J6%2&68913+.#%:E4;
)$K3#8!$# FM9B!,#@2!$#392)Eg +7:T+.k3&.#C4B)$+5&O),K3#i)$!$4:,B6)$+59B>689-/-/+()D:8N
 +3 %&  (!"+.- + 
 +.- ' 5 h*
0-&'
+.-3*+. 
 *++ ')+.(!
`x # FM9B!,#=W`#;J+.:$6 CR:,:/)$K3#!$#8&7H),+.g#=1{#8!,FM9!$-_2468#>9F)$K3#;J+5{#%!,#%V)r68H)$#8AB9!$+5#<:09F13!$92)$9J6 9&7:%cGW`#K3+5ABK3&.+5ABKB)I:,9-/#:,1{#%6)D:/92F
689468C3!,!$#8R6 =6 9V)$!,9B&13!$92)$9J6 9&7:),K42)K4zgB#L:,+5AB3+5R68B)kR#<2!$+54AB:9)$K3#8+.!i1R#%!TFM9B!,-_46 #BNinhK4+.:W`9C3&7;K3#%&51XC4:C34;J#%!$:T)$4;
)$K3#_!,#<:TC4&()D:i9kJ)D2+.3#%;FM!,9B-#8\ 1{#8!$+.-b#%V)$:i+.Y14!,9B1R#%!1{#8!D:,1R#<6),+.g#BN O9J6Da +54A2'k4:,#%;&5AB9!$+()$K3-_:),#%4;X),9=!,#<;JC468#L)$K3#I;J#%A!$#8#
9Fp689468C3!$!,#%B)E#8\J#%6 C3),+.992Fp)$!$4:$6)$+59B4:%c4:h)$K3#86894:T),!$C46):T#%!,+72&.+5<2k3&.#@:,6DK4#%;JC3&.#%:%N < =),K4#092)$K3#8!K424;OcR9B1J),+.-/+.:T),+7601J'
13!$9BB6DK3#%:GH)T)$#8-/1J)),9]+.46 !$#%B:T#1R2!D2&.&5#%&5+7:T-),9L+()D:-_H\J+.-0C3-=cVk3CJ)G)$K3#8/13!$C33#:T9B-b#92Fj),K4#),!D24:$6 ),+.94:+5I9B!$;3#8!p)$90:,2),+7:?FM
:,#8!$+.&5+.%k3+.&5+5)?N8~ O' oc3/),!D2R:,B6),+.9=6 9BC3&7;=kR#]!$#%:T)$!T)$#%;>k cR9!Wh2+5)EFM9!392)$K3#8!E),!D24:$6 ),+.9"),K42)W+.&5&kR#0kR9B!T)$#%;
&7H)$#8!<NpPJC46DK=!,#<:?)D2!,)$:h24; z9!hWh2+5)$:6%2C4:,#i1R#%!TFM9B!,-_2R6 #i;J#8AB!$B;3H)$+59BON


3&5+.a#EL~ j' oc<+.L9B1J),+.-/+.:T),+7621314!,9V6DK3#<:OWK3#%L+.46 9B!,1{9!DH)$+54Ak3!$9BB;368B:?)o6 9B-b-/+5):,6DK3#%-/#%:ht < G'xEhycH94&5]gH&5+7;3H),'


+.3Ai),!D2R:,B6),+.9R:l6%2/68C4:T#!$#%:T)$!T)o92Fs92)$K3#8!o)$!$4:$6)$+59B4:%NlP +.46 #E&5&4gz&5+7;32),+.3A),!D24:$6 ),+.94:p!,#hACR2!D2V),#%#%;0689-/-/+()$-/#8V)
2)@689-/13&.# )$+59BOc2&.&p!$#%:T)$2!,)$:A#%3#8!DH)$#%;kVX:TC46DKX91J)$+5-/+7:?)$+.6/14!,9),9J6 9B&.:2!$#LCR:T#8FMC3&| ?H*N_4C3!T)$K3#8!<cj)$K3# < q13!$92)$9 689&7:KRzg#
)$K3#];JgHB)D2AB#9Flk{#8+.3A/393'*k3&.9J6Da +53A/2R;rFM!$#8#FM!$9-;J#%B;J&59J6DaJ:  bg#%!,I;J#<:T+.!D2k3&.#FM#%H)$C3!$#+.=!,#<2&5'v)$+5-/#@21413&5+7682),+.94:%N
o#%!TFM9B!,-_2R6 #:T),CR;JI!$#%:,C3&()D:`FM9!h)$K3#];J+5{#%!,#%B)E6%H),#%A9B!,+.#%:`92Fo6 9B46 C3!$!$#8468I6 9V)$!,9B&{14!,9),9J6 9B&.:h2!$#i:TK39HW>+.>l+.A4N N.}Np[:
6%2Ik{#+.V),C3+5),+.g#%&5/# \J1{#%6 ),#%;Oc 2)%#8!$906 9BB)$#8V),+.9cV&5&R),K3#),K3!$#8#)? 1R#<:G9FO13!,9),9J6 9B&.:G!,#<:TC4&()G+.r+7;J#%B)$+.6%2&{1R#%!TFM9B!,-_46 #BNl4!,9B-


l+.A4N JN5}i+5)68"k{#0:,#8#8>)$K4H)2)E&59HW6 934+.6 )$: < 9C3),1{#8!,FM9!$-/:h1{#%:$:,+5-/+7:?)$+.6i13!$92)$9J6 9&7:%NE9HW`#8g#%!%c 1{#%:$:T+.-/+.:T),+76@13!$92)$9J6 9&7:


1{#8!,FM9!$-k{# )T)$#8!b:),K4#_&59V;St2R;)$K3#8!$# FM9B!,#b)$K3#I6 9BJ4+76)$:Dyk{#%6 9B-/#_K3+5ABK3#8!<N < Y),K3#_9),K3#%!]K42R;jclP4m1{#8!,FM9!$-/:ik{# ),),#%!
V

689-/142!$#%;_),9/kR9),K < 2R;r1{#%:$:T+.-/+.:T),+7613!,9),9J6 9B&.:%c WK3#8"),!D2R:,B6),+.9R:GK4zgB#E)$+5ABKB)E;J#<;J&.+.3#%:h2R;_),K4#&.9BB;I+7:h-/9 ;3#8!DH),#BN


 2L 9pE8]Q]${8 l]=@lE
[6 9B-/-b#%!$68+.&o!,#<2&5'v)$+5-/#/;3H)D2k4B:T#L3#8#<;3:),9=zg9B+.;C4:T+.3A=2 V),K3+.3A"),K42)]682X+5V)$!,9J;JC468#/C3313!$#%;J+76)D2k3&.#b&.2),#8R6 +.#%:%NLnhK C4:%c
=6 9B-/-b#%!$68+.&p!,#<2&5'v)$+5-/#_;32)$2kR:,#b4#8#%;4:i),9zg9B+.;XC4:,+54A=;3+.:,a < 91{#8!DH)$+59B4:%cO-/#%:$:,A#b14:$:T+.3A=9!@AV2!$k42AB#b689&.&5#<6)$+59BON


 }

Version 2 CSE, IIT Kharagpur


Low Load High Load

Throughput
Pessimistic

Optimistic

SCC

 +.AC4!,#/} o#%!TFM9B!,-_46 #92Flw+5{#%!,#%B)`2),#%A9!$+.#%:`92FG9468C3!$!,#%46 "9BB)$!,9B& !$92),9J689&7:


0 Contention



u#<2&5'v)$+5-/#b;3H)D2k4B:T#<:),K4#8!$# FM9!$#])$#84;),9"kR#/;J#%:,+.A3#<;:+53'*-/#8-/9B!,;32)$2kR:,#0:TJ:T),#%-/:%NJ'*-/#%-b9B!,;32)$k4:,#%:;J9"zWhz
W+5),K>;J+.:,a/ < #%B)$+5!$#8&.cJ4;/),K4#8+.!h:,+.-b14&5+54#%;";J#%:,+.Atv6 9-/14!,#<;/),9b6 9BVgB#8V),+.9R2&R;4H)$k4:,#%:Dyo-/+.3+5-/+.8#<:-/#<:,:$2AB#E14:$:,+53ARN
P +.-/+5&72!)$9>49J'!,#<2&5'v)$+5-/#b;J+.:,aV'*kR:,#%;;32)$k4:,#%:%cj+53'*-/#8-/9B!,;32)$2kR:,#%:13!,9Hg +7;J#/;3H)D2k4B:T#L+5V),#%A!$+()?=)$K3!$9C3ABK),K4#bCR:T#b92F


689 g#%B)$+59B42&R;J+.:,aJ:pFM9B!&.9ABA+.3A]24;/1{#8!$+.9 ;3+.66DK3#%6Da 1{9+.B)D:8Non9]-/#8# )),K3#K3+.AKIzgH2+.&72k3+.&5+5)?/;J#8-_2R;3:9F21313&.+768H)$+59B4:%cV:,9-/#


+.J'-b#%-/9!$r;3H)D2k4B:T#<:`92s#8!E;32)$b!,#%13&.+.6%H),+.9N
[#8\32-/13&.#p92F36 9B-b-/#%!$68+.&H!,#<2&5'v)$+5-/#p;3H)D2k4B:T#o+7:6 < k =?#%6 )% :j# ),!$#8-/#%wxQtKV)T),1 zWWW@N -/689k =?#<6)<N 689-IyN# !$#8-/#<wk
K4B:G:,C46868#%:$:?FMC4&5&.Lk{#8#%IC4:,#%;_+.I21413&5+7682),+.94::TCR6DKI:p)$#8&.#%689-/-0C34+.6%H),+.9cFB6),9B!,b2CJ)$9-_H)$+59BOcV13!,9J68#%:$:6 9BB)$!,9B&vcV6 9B4:TC4-b#%!
   

#%&5#<6),!$94+.6L;J#8g +76 #%:%cj24;-b#<;J+7682&o#<UBC4+513-/#%B)D:8Ni# E),!$#8-/#<wxq13!$9Hg +.;3#%:1313&.+.6%H)$+59B4:W+5),KY;J+.!,#<6)@6868#%:$:)$9>;32)$4NnhK42)+7:%c


)$K3#>;4H)$k4:,#r+7:b-_2131{#%;Z;J+5!$#%6 ),&.d+5V)$9)$K3#>1313&.+.6%H)$+59BO :b;4;J!,#<:,:b:,1468#c#%&5+.-/+542),+.3AY# \J1R#%4:,+5gB#rk3CJs#8!/-_2R2A#%-/#8V)$:%N


nhK3## ),!$#8-/#%wx!$C3V),+.-b#@689-/1R9B3#8V)`+.:h;J+.!,#<6)$&5_&.+54a#%;I),9L),K3#@1313&.+.6%H),+.9cB#%&5+.-/+542),+.3AL),K3#i3#%#%;_FM9B!h!,#%-b9),#13!,9J68#%;JC3!$#
6%2&.&.:FM!$9- # \J#%68CJ),+.9142),KONrn9=13!$9HgV+7;J#/1{#8!,FM9!$-/46 #_4;14!,#<;J+.6 )$k3+5&.+5)?c# E)$!,#%-b#<wxC4:,#%:i+5)$:@9HW-/#8-/9B!,-_42AB#8!


FM9B!b&5&.9J68H)$+59B4:b24;^;3#%2&.&.9 6%H)$+59B4:0-_B;J#rk ),K4#>;32)$k4:,#r!$C3V),+.-/#NdE9)b!$#8&. +53AX9Q),K3#>91{#8!DH)$+53AY:TJ:T),#%-> :L-b#%-/9!$




-_2R2A#%-/#8V)]2&7:T9=#8R2k3&.#%:i# E),!$#8-/#<wxm),9!$#8-/9Hg#L),K3#_k{92),),&.#83#<6Da9F14A+.3A;3H)D"+.^2R;9BCJ)0;JC3!$+54A> < 9B1R#%!$2),+.94:%N


49!i:TC3141R9B!T)$+53Ar),!D24:$6 ),+.9;J#<;J&.+.3#L-_42AB#8-/#8V)%c{# ),!$#8-/#%wx :,C3131{9!,)$:4g#b13!$+59B!,+5)?"&.#8gB#8&7:E)$K4H)@68k{#bB:,:,+5AB3#%;>)$9
 

)$!$4:,B6)$+59B4:8N


  
[),!D2R:,B6),+.9i+7:C43+()92FJ# \J#%68CJ),+.9@+.0;32)$k4:,#21314&5+7682),+.9Ocz24;i+7:6 9R6 #813):T+.-/+5&72!O),9h)D:,a+.]39BJ';3H)D2k4B:T#

21314&5+7682),+.9ON
 =?9B!G;J+5{#%!,#%46 #<:Gk{# )?W`#8#%r@)D:,ab4;I]),!D24:$6 ),+.9_+.46 &.C4;J#K3+5ABKr;32)$]CR:,A#Ek b),!D24:$6 ),+.94:%N4C3!,),K3#%!%c +5)+7:GgB#8!$

;J+5_68C3&5)L)$913!$#%;J+76)L),!D24:$6 ),+.9d!$#%:,1R9B4:,#_),+.-/#%:b;JC3#"),9+7:$:TC3#<:0:,C46DKQB:0 < :$6DK3#<;JC3&.+53ASt;J+7:,aB6868#%:$:$y clk4CJ{#%!,+.3ARc
6 9B46 C3!$!$#8468r6 9BB)$!,9B&vc{6 9B-b-/+5)2R;=!,#<6 9Hg#%!,r13!,9),9J6 9B&.:EC4:T#<;jc4#8)$6NE[:I6 9B4:T#<UVC3#8468#c3!$#%&('*),+.-/#0;32)$2kR:,#%:C4:,#%;=+.


K42!D;"!,#<2&5'v)$+5-/#i21313&.+768H)$+59B4:2!$#i!$!,#%&5I;3+.:,aV'*k4B:T#<;jN
:,#I92F^21314!,9B13!,+7H)$#I6 9B46 C3!$!$#846813!$92)$9 689&+7:L+5-/1{9!,)$2V)])$9-/#8#8)0),!D2R:,B6),+.9d;J#<;J&.+.3#%:%NnhK3#>:?)D24;3!$;dL~ 

13!$92),9J689&VWK3#8bC4:,#%;L+5b!,#<2&5'v)$+5-/#h;3H)D2k4B:T#<:!$#%:,C3&5)$:l+.L-_2 @13!$9k4&5#%-/: &.94A4;]C3413!,#<;J+76)$k3&.#h;3#8&7z :%cHC3 k{9C34;3#%;
13!$+59B!,+5)?_+5 gB#8!D:T+.94:%cJ24;>;J#<;J&.9J6Da :%N


39B!"!$#%&('*),+.-/#X21413&5+7682),+.94:%c+5-/13!$9Hg#%-/#8V)"9Fb8~ #m+7:>L~ j'1e oc`k3CJ)=+()=kR#%K4zg#<:"B:rkR;J&.fWK3#8 C3-0k{#8!>92F



),!D24:$6 ),+.94:i4;Y!,#<:T9BC3!$68#b:,K4!,+.3A2!$#/&.!,AB#Nr8~ #j' 9Hg#%!$689-/#%::T9B-/#_92F`),K3#_13!$9k4&5#%-/:]92FE8~ O'*1e ocsk3C3)0-_z
!,#<:TC4&()+.>Wh:T)$A#92Fl&.!,AB#-b9BC3V)$:h9Fo689-/13&.# ),#<;rW`9!$asN
< 1J),+.-/+.:T),+766 9R6 C3!$!,#%46 /6 9BV),!$9&t < hy14!,9),9J6 9B&.:`2&.&59HWC34!,#<:?)$!,+76)$#%;r;4H)$0C4:$2A#kV/)$!$4:$6)$+59B4:%Nl9HW#%g#8!<c2)$K3#8

:TC4k =?#%6 )@>6 9B-/-b+5)T)$+54A=),!D24:$6 ),+.9)$9=>gH2&.+7;3H)$+59B)$#%:T)@2)i),K3#b),+.-/#_92Fh6 9-/-/+5),-/#8V)%N_nhK3#<:T#b13!$92)$9 689&7:W9B!,a=)$K3#
kR#<:?)EC44;J#8!&.9HW!$#%:,9C4!$68#6894:T),!D2+.V)$:h24;"&.9HW&.9B;>:,+()$C4H)$+59B4:8N
}}

Version 2 CSE, IIT Kharagpur


 2
 

}BNPV)$2),#IWK4# ),K4#8!b9Cd6894:,+.;3#8!])$K3#_FM9B&5&.9HW+54A:?)DH)$#8-/#8V)$:]),9k{#  9!   0NCR:?)$+(FM9BC3!04:TW`#8!0+5^#<6DK


68B:T#BN
  ^a *  7a

tVyr49!p)$#8-/1R9B!$&4;32)$C4:,#%;/+./i!$#%&('*),+.-/#21313&.+768H)$+59BOcB@:,# )9Fs;4H)$)$K4H)+7:Gk4:,9&.CJ),#%&506894:,+7:?)$#8V)%cB+.:pABC42!D2V)$#8#%;
)$9_kR#@!$#8&7H)$+5gB#8&.I6 9R:T+7:?)$#8V)%N
tMkRy>nhK3#1R#%!TFM9B!,-_46 #9F{)$K3#L~ O'*1e 13!$92)$9J6 9&4+.:GkR#8)T),#%!G)$K42I),K3#EkR:,+.6L~ =13!$92)$9J6 9&RWK3#8/)$K3#;4H)$06 9V)$#8V),+.9
-b9B3AI)$!$4:$6)$+59B4:E+7:&59HW@csk3C3))$K3#L1{#8!,FM9!$-_2468#0k{#%689-/#%:W`9!D:T#@)$K42),K3#bk4B:T+76LL~ ^14!,9),9J6 9B&C3R;J#8!K3+.AK
;32)$/6 9BV),#8V)$+59B>-b9B3Ab),!D24:$6 ),+.94:%N
t6%y=L~ j'1e Z13!,9),9J6 9B&jC4:,#%;"+56 9B46 C4!,!$#8468I6 9BB)$!,9B&s+5=!$#%2&5'*),+.-b#@;32)$k4:,#%:`+7:hFM!,#%#FM!,9B- ;J#%B;J&.9 6DaJ:%N
t;4y=L~ j' Q13!$92),9J689&4CR:T#<;I+."6 9B46 C4!,!$#8468_6 9V)$!,9B&4+."!$#%&('*),+.-/#;32)$2kR:,#%:%c+7:GFM!$#8#FM!$9-13!$+59B!,+5)?b+5 g#%!$:,+.9I2R;I+7:
&.:,9bFM!,#%#FM!$9-;J#%B;J&59J6DaJ:%N
tM#<y 4;J#8!),K4# < G'xE14!,9),9J6 9B&C4:,#%;@+.L689468C3!$!,#%46 6 9V)$!,9B&+.0!$#%2&5'*),+.-b#;3H)D2k4B:T#<:8c<9468#E),!D24:$6 ),+.9@!$#%6DK4#%:
)$K3#@gH2&.+.;32),+.9>13K4B:T#BcJ+()E+7:ACR2!D2V),#%#%;r689-/-/+()$-/#8V)%N
tF$y>ri!$#%&('*),+.-/#;32)$2kR:,#-/42AB#8-/#8V)G:,J:?)$#8-=cV_91J)$+5-/+7:?)$+.66 9B46 C3!$!$#846806 9BB)$!,9B&t < hy13!$92),9J689&4:,K39C4&.;/k{#
C4:,#%;=+5Fl),K3#06DK49+76 #@+7:k4:,#%;>13C4!,#%&5"9=1R#%!TFM9B!,-_46 #_tM1{#8!D6 #%V)$2AB#@92Fl)$B:TaJ:h-/#8#8),+.3A_),K4#8+.!;J#%B;J&.+53#<:$yh6894:,+7;J#8!,'
2),+.94:%N
tMA y < G'xEX13!,9),9J6 9B&!$#%UVC3+.!,#<:6 9B-b-/+5)T)$+53A),!D2R:,B6),+.9i)$96DK4#%6DaFM9!o1R9V:,:,+.k3&5#`6 9BJ4+76)$:W+5),KL&5!$#%B;J@6 9B-b-/+5)T)$#%;
)$!$4:,B6)$+59B4:`kR#8FM9!$#+5)6%2=6 9-/-/+5)%N
tMKRy>nhK3#I:,#8!$+72&.+5<H),+.9X9!D;J#8!@C44;J#8!]=1{#%:$:,+5-/+7:?)$+.6_689468C3!,!$#8R6 6 9BV),!$9&p13!$92)$9 689&o+7:i),K3#I:$2-/#_:@),K3#I689-/-/+(),),+.3A
9B!$;J#%!h92Fl),K3#i)$!$4:,B6)$+59B4:8N
t+7y>u#<2&5'v)$+5-/#];32)$k4:,#%:)? 13+7682&.&.IC4:,#iu[E?w;3+.:,aJ:`FM9!E;32)$/:?)$9!D2AB#;JC4!,+.3A_:TJ:T),#%-
91{#8!DH)$+59BON
t =,y < 1J)$+5-/+7:?)$+.6@9R6 C3!$!,#%46 I9V)$!,9B&lt < hy13!$92)$9J6 9&7:CR:T#<;/FM9!6 9B46 C4!,!$#8468b689V),!$9&R+5"!,#<2&5'v)$+5-/#;3H)D2k4B:T#<:G2!$#
FM!$#8#iFM!$9- ;3#%;3&59J6DaJ:8N
taJy>[&5& < 13!,9),9J6 9B&.:l#<:,:,#8V),+72&.&.@1R#%!TFM9B!,- FM9B!,Wh2!D;@gH2&.+7;3H)$+59B4: =?C4:?)k{# FM9B!,#`)$K3#8+.!6 9B-b-/+5),-/#8V)<c+*N #BNl),!D24:$6 ),+.9
gH2&.+7;3H)$#%:h+5)$:,#8&5FlW+5),K2&.!$#%;3r6 9B-b14&5#8),#%;r),!D2R:,B6),+.9R:8N
~3NEp\J13&72+.rK39HW/!,#<2&5'v)$+5-/#i;3H)D2k4B:T#@;J+5s#8!D:`FM!,9B- _6 9BVgB#8V),+.9R2&s;3H)D2k4B:T#BN
4NEp\J13&72+."bFM#%W13!D6 ),+768&s1313&.+.6%H)$+59B4:h!,#<UVC3+5!$+.3A0)$K3#@C4:,#i92FpL!$#%&('*),+.-/#@;3H)D2k4B:T#BN
?RNefK4H)`;J9]9BC_C34;J#%!$:T)$4;/k  =J> 6CFE8P HIE=JE 9HWf2!$#h),#8-/1{9!D2&{;3H)D@;J+(s#8!$#8V)FM!,9B-)$!$B;J+()$+59B42&R;3H)D +.g#:,9-/#
# \32-/13&.#%:`9F)$#8-/1R9B!$&O;3H)D3N  k k e

3NP C3131{9B:,#co)$#8-/1{9!D2&;4H)$X2!$#r;J#%392)$#%;dC4:,+.3A),!$+.13&5#8)$:L92F)$K3#rFM9B!,- %gH&5C3#Bczg +vcl),+.-/#%:T)$-b1 >2R;),K42)0)$K3#";J+5s#8!,'


#8V)_6 9-/1{93#%V)$:L92F)$K3#"),#8-/1{9!D2&;32)$XK4zg#r),K3#%+5!/C4:,C42&h-/#%3+.3AB:%Nd[:$:TC3-/#>),KRH)b),K3#=!$#8&7H),+.g#>6 9B4:T+7:T),#8R6 d:T#8)
=  

u %14!,#<:,:,C3!$#c ),#8-/1{#8!DH)$C3!,# i4; ~ HNhPJC3131{9B:,#]),K4#@),#%-b1{#8!DH)$C3!$#024;=14!,#<:,:,C3!$#]:,-b14&5#<:)$a#%H):,9-/#


),+.-/#G+.4:?)D2V)l!,#GA+.g#80kV H~~2 8c H-_:T#<62c.}}z~H-_:T#<6 2R; %c.} -_:T#<62c.}} ?B-_:T#<6 p!,#<:T1{#%6 ),+.g#%&5BN[`))$K3#)$+5-/#`+5R:?)D2V)
A;   ?I@% >; :O iLK"j

}<~ /-/:,#%6c{;3# ),#%!,-/+.3#0WK4# ),K4#8!E)$K3#])$#8-/1{#8!DH),C4!,#04;13!$#%:$:,C3!,#]:$2-/13&.#%:2!$#]+yE2kR:T9B&5CJ)$#8&.>6894:,+7:?)$#8V)%cR+5+y!$#8&7H)$+5gB#8&.



=  :
 

6 9B4:T+7:T),#8V)<N


NefK4H)o+7:)$K3#`!,9B&5#92FR 4N687A4@OC;CF>@7A4@B 4&687= CF6P CN6=J6 4&6P<+.b;3H)D2k4B:T# IefK @+7::,#8&.#%6 ),+.909FR2L21313!$914!,+7H)$#6 9B46 C4!,!$#8468
6 9BB)$!,9B&H13!$92),9J689&2+.-/1R9B!T)D2V)j),9E-/#%# ))$K3#p)$+5-/#8&.+.3#%:$:O!$#%UVC3+.!,#%-/#8V)$:sFM9B!j),!D2R:,B6),+.9R: rp\J13&72+.)$K3#G;J+5s#8!$#8V)682),#%A9!$+.#%:
  "k

92Fi6 9R6 C3!$!,#%46 d689V),!$9&h13!$92)$9 689&7:L),K42)_6%2SkR#CR:T#<;Q+.Z!$#%&('*),+.-/#;3H)D2k4B:T#<:8NS[E&7:T9RcG# \J13&72+.SWK3+.6DK682),#%A9!$92F


Bk

13!$92),9J689&s+.:hk{#%:T):,C3+()$#%;>C34;3#8!EWK42)E6 +.!$68C3-_:?)D2468#%:%N
JNefK r+7:Eb),!D;J+5),+.9R2&~b13K4B:T#@&.9J6Da +53At*8~ #yk4:,#%;=689468C3!,!$#8R6 r689V),!$9&j13!$92)$9J6 9&j-_z"392)Ek{#0:,C3+()D2k3&.#iFM9!C4:T#@+.
!,#<2&5'v)$+5-/#@;32)$2kR:,#%: p\J13&72+."K49HW),K4#@),!D;J+5),+.9R2&8~ #Y13!,9),9J6 9B&O68"k{#]# \ )$#84;J#<;"),9_-_2aB#+5):,C3+5)$2k4&5#FM9!C4:T#@+.


!,#<2&5'v)$+5-/#i;3H)D2k4B:T#@1313&.+.6%H),+.9R:8N
k

 NE39B!_!,#<2&5'v)$+5-/#=21313&.+768H)$+59B4:%cG!D23aZL~ GcGP4cG2R; < 13!,9),9J6 9B&.:b+.S),#8!$-_:/92F),K3#1{#8!D6 #%V)$2AB#"9F)$!$4:$6)$+59B4:


-/#8# )$+54A)$K3#8+.!_;J#%B;J&5+.3#<:8NZ9B4:T+7;J#%!L&.9HW
24;QK3+.AKZ;3#8A!$#8#<:09F6 9BJ4+76)D:b-/93A),!D24:$6 ),+.94:%c24;^),+.AKV)_24;Q&.2\
),!D24:$6 ),+.9>;J#%B;J&5+.3#<:8N +.g#]bk3!$+5#8F!$#%:,94+53Abk{#8K3+.4;=9BC3!24:,W`#8!<N
e

}<~

Version 2 CSE, IIT Kharagpur


E 9p=E
|5} ]wH),#LN RN E=JELK&E9 > :G7 > = M N < u#8+.&.c4~ 3N
  =

| ~z]uE-/a !,+7:TK442>uE2ABKVCN E=JELK&E9 >E7 E> > 7"="B9;=?> 9DNp6 !$zWh'E+.&.&vc4~ B~3N
 Le 

| H][Ek4!$K42-PJ+5&.kR#%!$:,K42),
c i9B!T)$KOc32R;=PJC4;32!D:,K42ON E=JELK&E9@> "B9;=J> 687A4&> =D9DN6 !DzWh'+5&.&*cJ~ JN
  e 8=

| ?20P 9B3A 0N{24; +5Ce N PsNE+5V)D2+.3+54A/),#8-/1{9!D2&l6 9R:T+7:?)$#8468 #o#%:$:,+5-/+7:?)$+.6igJ:%N391J)$+5-/+7:?)$+.6L6 9B46 C3!$!$#8468r6 9BB)$!,9B&vN
 CFE79 EI4 = : 679 67 7 6 PQ>&H> E7AH E=JE  7L:G7A>&>@C;:G7c 3t y   c < 6),9BkR#%!@} JN

[ =     =

}%

Version 2 CSE, IIT Kharagpur

You might also like