Sie sind auf Seite 1von 190



 

!#"%$'&)(*"%+%,.-!%/0&21!430".1*5(76)"%98:1*;"$#<1*1*$#=%,1*>?".@A0-B1DCC%"%(EGFH>0I(J6)*#-K/?*#23L!"%@%&)+%>0$#C;6M=32ON
I3
2


3:O@Q1*
".#@2-R"%%STUVS".@)3
/M(W1WNXTUY"(%-Z%/0&01*#@0+)E[FH>0\
".#@2-R"%4!9"]H"%(G"%*83
6C^2/M!@)(* P V!%/0&21!9(
P
1>)"_1`]U!;aQ&0<1
&0@)".bM30"%60$#6CcO@)30 P I32&)".$I(S"%@)3d"%9>e/0&21*=(*! P 3d"f$I".+%@Q&)=6M!`%-U&)(*!9(E:FH>0;TUg!9"f(*"h]
1>0!+%!@?`%-G32(*8Q1*%/?(J]7>0I9>c!%&0$I3L6M="(W#$#C 6M".bM303L".@?3i&)(*3L6C1*>)=#@)32 P I32&)"%$K&)(W(E4FH>0/M(W1WNXTUj!9"
I(
(*!O@0+!*+!@)!%-(W
"%$O$"%@)3i/M%*1"%60$O/0&21*(S".@?3c!%/0&21!9(V=6M30303cO@d P !C3)"hCf"%/0/0$##"_1O@)(!Sk
".8#@0+f".@
#@)32 P #32&?".$#@Q1*!9"%17]7<1>f(* P !9".$'/0&21*(H P *C230"hCE
l 5".$ONm1O="%@)3L=6M303253n!%/0&21O@0+"./0/)$OI!".1*#%@)(4O@L1>0A)(W141D]U:!%/0&21O@0+ !9"
]U!`".1*>049".=".@?3L*5(D1*Io13
1 "-R]g(W/M!#"%$O#p!53i"./0/)$OI!".1*#%@)(V(W&)9>i"(V(*/)"="%@)3L32-R@)(*%E4qX@i1*>0/?Q(D1*NrTHj!9".-G/0&21*#@0+?S?1>0=&?(W.-/)&21*
(*C2(D1!
(6)"(W53%@
".$ONs1*#J"%@)3!6?53032531*9>)@0%$#%+O5([>)"%(G".$#*5"%32C=1*%&?9>03 P !C`-t"1.-'%&0$OO-R4"%@)3#((D1O$#$)+*_]7#@0+
".1V"
/)"1>)"_1\]U"(7@0 P !4(*!@L6?!-R%%E7uv>0#$#=!6?5303253L/0!((W#@0+;"%@)3fqX@Q1*!@0!1WNr!@)"%60$O53L32 P I5(J>)" P @0_]w!"./01*&03
 P !C%@0%x (`#
".+O@)".1*#%@S1*>0Cy".`zD&)(W1;"c(*
".$#$U-R"o1*#%@Y.-,"./0/0$#I!"_1O@)(=1*>)".1>?" P :6M!@Y
"32f/?Q(*(*O6)$O6C{*5".$ONm1O
(*C2(D1!
(!EHqr-]U=!"(W&?".$#$OC $O%8f".%&)@)3&)(!S?]!".@i30#( P !J
".@C .-K1*>0}|~%-B1*!@f1>0!CL"%*`".%&2M".+%53O@)(*I32=(*O/0$#
$#%8O@)+32 P I5(!Eqr-Z]UV6)(*! P J!"%*!-R&0$#$OCSQ]UV".@;@).1*I,(* P "%$0+"32+%!1(U".@)3:"./0/0$#I!"_1O@)(]7>0#9>:>)" P 41*230"hC6?5VO@0N
32I(*/?@)(*"%60$#J1*=%&0 P *C30"hC$OO-R%S2"%*J#@
-t"o16?"%(*3%@:!=6M3)323
"%$<Ns1*#4(*C(W1*
(!E[0G!^2"%/0$OS]UJ>)" P J&060IaQ&0O1*%&?(
!%@)(*&0!7/0232&)1(7(*&)9>L"%(732#+%O1"%$!"."(!S2$O$Z/0>0%@)(S2I_]H" P 4 P !@)(S2!"%!%932!9(S P I32!+Q".(W!1(21*$O5%&2N
@0I!".1*#%@{32"%O@d/0232&)o19(`".@?3d"%/0/0$##"_1O@)((W&?9>e"((W!1WNs1*/c6Mh^2(S!"%60$#
232
(!S P %I P !,qDTR[qDToS".@)3 P #30!
!%@2-R*@)#@0+n"%/0/0$##"_1*#%@?(![%
!:/0232&)1(=(*&)9>"(`-t".^d
"%9>)O@05(!SK$I"%(*!/0*#@Q1*(S"%@)3(*!&0*O1DCe(WC2(W1*!
(EiU(*#325(!SK]U
@)&0@Q1*!,"%$<Ns1*#(*C2(D1!
(\O@d>0(*/0O1"%$#(\#@n1>0-R%.-532#".$K#@)(D1*&)@Q1"_1O@c5aQ&0O/)@Q1(,".@)3c#"%+%#@0+f(WC2(W1*!
(E
FH>0*"%*".$I(*"$I".+%\@&0=6M!J%-5aQ&0O/)@Q1(7".@?3 +Q"%32+19(6?"%(*3%@*5".$ONm1O(*C(W1*
(H]7>0#9>1>0%&0+> ]U@0*
".$#$#C;32
@0%17&)(W32#o1$OCS260&217@0 P !U1>0$O5(*(H"%*,(D1O$#$#/?W19".@Q11%&0730"%O$#C;$#<-REj-R]!^0"./0$#(U.-K(W&)9>f(*C(W1*
(U"%*\qX@Q1**@0!1
%&21!9(!S6)"(W(W1".1*#%@)(H#@L!$#$#&0$#"%J(WC2(W1*(S2#@)32&)(W1*#"%$'/0$I".@Q14".&21%
"_1O@(*C2(D1!
(S0".@)3 O@?32&)(W1*#"%$*6?%1(E
qr17!"%@:6M\5"%(*O$#CO@0-R!*53
-R%1*>),"%6? P V32I(&)((W#%@;1*>)".1H#@:!!@Q1U1*#5(H*5".$ONm1O\%/0&01*!9(U>)" P V6?5\&060IaQ&0ON
1%&)("%@)3>)" P 7/M!".1*3$I".+%H@&0=6M!G.-'"./0/0$#I!"_1O@
"."%(EU1/)*5(W@15S.1>04/0&21*(K&?(W53O@".$ONs1*#J"%/0/0$##"_1O@)(
P "%(W1*$#C%&21@Q&)=6M!1*>0\%/0&01*!9([1>)"_1H".76?O@)+=&)(*3
#@:!%@ P @1O@)".$?"./0/0$#I!"_1O@)(EV!30O@0+,1"%@
(W1*#".1* hrS)_
%-".$#$k/0*2!((W(G"%@&2-t"%1*&03:]*$I3Nr]7#32V".\32/0$#_C%3;O@ *5".$ONm1O\!=6M3)323 "./0/0$#I!"_1O@)(Euv>)O$#,<1H#(H"%$O"32C1*&0
1>)"_1V"%@L P *]7>0$O#@0+
"_zD%O1DC;.-".$#$Z/)*25(*(*%9(U6?O@)+;
".@&2-t"%1*&03f"%*+1W1O@)+:32!/)$O_C3O@L"%$<Ns1*#`"./0/)$OI!".1*#%@)(S
]7>)".1
#(%*"%*8_"%60$OI(1*>0f&0@0I(D19".8_".6)$O1*!@?3y%-\(W1*"32C#(*O@Y1*>0f-R9"%1*#%@Y.-\"%$O$7/)*25(*(*%9("%@&2-t"%1*&03
]U%$#32Ns]7I32VA)@)32#@0+1*>)!#J]U"hC1*5".$ONm1O"./0/)$OI!".1*#%@)(E
%-1*>0"(W@)(V".1W1*#60&219".60$#=1:1>0/0>0@0%!@?".$K+%_]H1*>i#@c1*>0&)(*%-"%$<Ns1*#(*C(W1*
(V#@c1*>0@Q1\C".9(
%" *1*>)
"%@0O-R%$I3n32&?o1*#%@?(,O@d1*>);(W#p!
".@?3n1>0;Q(D1%-1>0;/)&21*(SZ&0/0$#3c]7<1>e1*>0

"%+%I!".$K#/0* P !!@Q19(41
1>0!#/?W-R*
"%@)EFH>)" P "%O$I".60#$#<1DCL%-U/0&21*(".1`"%/0I32$OCf-t"%$O$##@0+f/0*I5(!SZ*532&)53n]U!#+%>Q15S"%/0I32$OCc(W>0#@08O@0+L(*Op(S
"%@)3e1*>)!##@)"(W#@0+i/)*25(*(*#@0+L/?_]U!>)" P ;1*%+1>0!%@Q1*#60&213e1i1*>) /0(*!@Q1(@)".#)En4/0/0$##"_1*#%@?(=]7>0I9>@0%1
1Q;-t".\6)"%98 ]*=!%@)(*I32!3f/0%>)O60O1* P $OC^2/M!@)(* P 1:".&21%
"_1%Sk!"%@L@0_]6?"_bk%930".60$#Cf".&21%
"_13'EJ)%4#@)(W1"%@)S
]7>0@cI%/025(*(*%9(4!(W1*3d(* P "%$1*!@?(,.-G1>0%&?(*"%@)30(,.- l &0/M!5(!SZ1*>0Ci]*
!%@)(*#30!3L1f6?1Qf!^/M!@?(W P 1*f6M
/0&01JO@)(*I32`"]U"(W>0#@0+
"%9>0#@0%)60&21J]7>0@ 1>0!CQ(D17%@)$OC:"-R]>&0@)30*53:&0/M!(S21>0!#7&)(*"%8%5(U!%!9I".$(*!@)(*%E
FH>0,9"./0I3 +%_]H1*>:%-"%/0/0$##"_1*#%@?(732!/0$#_CO@)+"%$<Ns1*#V19>0@)%$#%+%#(U>)"(H6?!@f
"_199>03 6C
1*>0 P $O&21O@)".C+%_]H1*>
%-M1>04&)@)32!$#CQ#@0+,19>0@0$O+%#((*&0/0/M%*1*#@0+,1>0V32 P $O/0!@Q1G.-'"%$<Ns1*#J(WC2(W1*!
(EqX@;1*>0I(6M%8kS]UJ32I(*!&)((G(*%J.-k1>0
!%=19>0@0$O+%#(\&)(*3cO@e32 P !$#%/)O@0+".$ONs1*#
(*C2(D1!
(!EJ_]U P !5Sk](W1*#1\&0(*!$ P 5(J1i(W%-B1D]U"%*#((*&0(\%@)$OCn"%@)3

Version 2 CSE, IIT Kharagpur

8!!/n>)".932]H".=32I(*!&)(*(*#%@)(41* 6)".=#@0O&0fE`FH>0(W%-B1D]U"%*`I((W&05(J1>)"_1,]U"3032((4".aQ&0O1*^2/)"%@)(* P `O@n1*>0


(*!@)(*
1>)"_1J6M(*#30(U1*>)%/M!9"_1*#@0+
(*C(W1* ".@?3 /)*+%9".32 P !$#%/0@17I(*(*&05(!S2]U`32I(*!&)(*(U1>0@0!1D]*8#@0+"%@)330"_19".6)"(W\#((*&0(E
qX@n1*>0I(,9>)"./21!5Sk]*5(D1*Io1\%&09(W$ P (J1*f(WO@Q1*232&)1**CL".@?3f-R&0@)30"%!@Q1"%$I((W&05(!E,qX@n1*>0@0^1,1*>)*9>)"%/21*(S
]UL32#(&?(*(
(*%L*1*>)!%#(&0@)32*$#CO@)+c1>0i32 P !$#%/)@Q1%-V/09"%1*I!"%$7*5".$ONm1OL".@)3Y!6?5303253 (*C2(D1!
(E qX@ 1>0
(*&06)(*aQ&0@1\9>)"./21!5S)]U=32I(*!&)((4(*%`#/M%*1"%@Q1J-R".1*&0(4.-G!#"%$".$ONs1*#=%/M!9"_1*#@0+;(*C2(D1!
(!EJJ-B1*41>)"_15S?]U
(*>0O-B1J%&0J".1W1*@Q1*#%@1*".$ONs1*#!%=&0@)#"_1*#%@ 1*59>0@0$O+%#(H".@)330".1".6?"%(*(E

   

  "$! #&%' #("daQ&)".@Q1*O1".1* P @0.1O@.-V1*#%E

l 5".$ONm1O#("(W&)*53{&)(*O@0+e"c/0>C(*I!".$,R"%$I$#298kE{uv>0!@0 P ]U
Qa &)"%@1<-RC;1*#,&)(*#@0+"/0>C2(WI!"%$'$#98kS]U,30".$k]7O1*>*5".$M1*#%E4@ !^2"%/0$O\&)(*,.-1>0#(7aQ&)"%@Q1*O1"_1 P V@).1*#%@.-Z1*#".@
6M`%6?(W P 3 O@i"
325(*!*#/21O@%-".@L".&21%
"_13f9>0I!"%$/0$I".@Q1EJ%@?(WI32!J1*>0I( ]7>0!@f1>01!/?".1*&0.-K1>0=9>0I!"%$
"o1*#%@e9>)"%=6M!`"_1*1"%O@)("L!!*1"%O@d/032!1*!O@)3c1*/M!9"_1&0%S("hC . VS1>0;(*C(W1* "%&21*".1*I!"%$O$#Cn(*]7<199>0(,%b
1>0;>05"_1*=]7O1*>0#@"L/0301**#@03c1O:#@Q1* P ".$sSK(*"hCc]7<1>0O@LO$#$#(*@)30(E qX@e1>0I(=325(*!*#/21*#%@{%-J"f/)".*1=.-H1>0
6M!>)" P #%.-"9>0!I!".$M/0$I".@Q1SQ1>041O P ".$#&0J1>)"_1H]U"(G-R*3132@0.1(1*>)V"32O@)+(%-Z(W4/0>C2(WI!"%$M!$O298/0(*!@Q1
#@1*>0/0$I".@Q1J".&01*%
".1*#%@f(WC2(W1*!fE

+*-, -.

)(

0/ 123!#&%4 &5768#:9;2<!#:%'

qX@
@Q1*9"%(W1[1*
S
t"%$#(*,8@0_]7@
"%( P #W1&)".$21Oh325".$I([]7<1>;"aQ&)".$#<19"_1 P 7@0.1O@%-k1*#V".@)3I(
!^/)*5(*(*3 &)(*O@0+
 P @1J30!O@0+!$I"_1O@)(7(W&?9>f"(76M-R%%SM"_-B1!5S)(W1*#(S0 P !@Q1*&?".$#$OCS0/0532(S)(*&)!!!530(!S)1%Euv>)O$#
325".$#O@)+`]7<1>:$#%+#".$21O%SQ1O4"32#@0+(-R* "=/0>C(*I!".$M$#298"%*J@).1G@055(*(".C=-RG32*#@0+,1>04 P !@Q19(!EK4(U".@;!^0".N
/0$#%S0!%@)(*I32!U1*>)V-R$O$#_]7#@0+/?".*1U%-Z1*>)\6M!>?" P #%U.-K"=$##60"%*C;"%&21*
"_1*#%@(W%-B1D]U"%*V&)(*3:1*".&21%
"_141>06?8Nr8%!/0#@0+
"o1* P <1O5(4%-G":!%$#$O+%=$##60"%*C *J-B1*\"
"%@)3LI(4+ P !@i6C1*>)=&)(*!5S'3219".#$#(V.-G"%$O$
"_19>)O@0+ 6?8(\".
32I(*/0$#"hC3:6QC1>0(W%-B1D]U"%*E iqX@:1>0#(H!^0"./0$#%S1*>)\ P @19( WI(*(*&04%-aQ&0*C
6M%8;"%@)3 ".@)3 *32I(*/0$#"hC
%-Z(*&0$<19( ".
$#%+#".$#$OCL32*53i#@d1*!
(.-U]7>0I9>d P @19(\-R%$#$O_] 1*>0
%1*>0E
U&215SZ@0iaQ&)"%@1<19"_1 P !^/)*5(*(*O@c%-G1O
]H"%(,aQ&0#*53'E
$#"%*$#C%S1>0#(J^0"./0$#6?>)" P OH#(J30 P #3 .-[".@C;"%$<Ns1*#%@?(WI32!9"_1O@)(Eud`".,@0_]j#@L"/?Q(WO1*#%@130A)@0]7>?"_1JI(
"".$ONs1*#(*C2(D1!

=(?>

A@ B C)DFEGIH$HJ

L>

2K

4>

MK

(
NOQPROQSQT;UWV OYX)Z[\[ T$]^Z`_bac1d eQfFgih^akjFl-jFfIa1hnm;oqp$T;rosT`rRT)T$]?t2uvZrSwV SxZ$SwV yRTTFz1{}|~T)OxOFV 2r0}<SwVUTLbV T-|~TZ[ SwVUT$SQ
]-T)OwXv|&V}TSFp$TL}T}pvZ$y;V 1|}<SFp$T0OxP$OxSQT}U`

 1O\5"%(*&0!!@Q1(U".
l !=6M!1*>?"_1HO@:1*>0I(H32A)@)<1O@:.-"`".$ONs1*#\(WC2(W1*SO1UI(O/0$##!<1H1>)"_17".$#$MaQ&)"%@Q1*O1"_1 P J
".*#3f&21\&?(W#@0+ ":/0>C2(WI!"%$$#298kE\ 9>0!I!"%$/0$I".@Q15SM]7>)(*=/)"%W1\6?>)" P OV325(*!*#/21*#%@n#(J|
.
,| #(V$#"%*$#C:"".$ONs1*#`(*C2(D1!fE V&0
!^2"%/0$O5((*-t".U]*V*5(D1*Io13
1=1>0,32(O/01*#%@:%-Z/)"%W1#"%$?6M!>)" P #%U.-(*C2(D1!
(EKFH>)\!%/0$#1*\6M!>)" P #%U.-"(WC2(W1*!
".@y6ML32(#6?536C$##(W1*#@0+d<19(*5(W/M%@)(*;1 P "%*#%&)(!^Q1!@)".$H(W1*#=&0$#mEYqr1
"hC{6Mf@0.131*>)".1
"%$O$U1>0L$I".&)(*(#@y1>0
325(*!*#/21O@
.-k1*>0V6?>)" P OG%-'"`*5".$ONm1O4(*C2(D1! @0!53
@0.1O@ P $ P JaQ&)".@Q1*O1".1* P J5"%(*&0*5([.-'1OEKFH>?"_1I(S$I".+%7/)"%W19(
%-'"=32(O/01*#%@.-k1*>)46M!>)" P #%%-'"(*C2(D1! 
"hC@0%1G>)" P J".@CaQ&)"%@1<19"_1 P 7^2/0((W#%@)(.-k1*#4"_1"%$O$sS".@)3
(W1*#$O$MaQ&)".$#<-RC
"("d"%$<Ns1*#(*C2(D1!fEvJ@Cy(*C(W1* ]7>0Q(W6?>)" P O
!".@ /0$O!1*$OC6ML32(#6?53y]7O1*>0&21;&)(*O@)+d"%@QCYa&?".@Q1*O1".1* P 
!^/)*5(*(*O@:%-1OI(H.-[%&)(*V@).14"*5".$ONm1O(*C(W1*fE

 ;2R 2-2-12
 212v=};$ R ;-12 $=;-28$-2;}<$ -42$ -2;2'2} n;-*-, -.As v7v2$
;2$=-=}1;RR8R 4-1-  1-2;R;-1'<;1 ;2;;28


)))`
" I7)k
3

l 5".$ONm1Oi(*C2(D1!
(>)" P f%-\$I"_1%S-R%&0@)3v"%/0/0$##"_1O@)(O@ ]7I32L9".@0+O@0+e"."(!EvqX@ 1>0f-R%$#$O_]7#@0+?S]Uf$OI(D1:(*%L%-V1>0
/0%#@0!@Q1G"%*5"%(.-'"./0/)$OI!".1*#%@.-k*5".$ONm1OJ(*C2(D1!
([".@)3#@
"9>I32!@Q1<A)53
!"(WS.]J30#(&)(("\-R]Y!^2"%/0$OJ"%/0/0$##"_1O@)(
#@j(*%n32!1".#$sE 4( ]c!".@v#
".+O@0SH1*>0d$##(W1:]U%&0$I3v6M P *C P "%(W1:<-`]Ui1*CY1*y^2>)".&?(D1 P !$#CY$##(W1"%$O$\"."(
."%/0/0$##"_1*#%@?(J.-["%$<Ns1*#=(WC2(W1*(EHuc>)" P ,1>0!-R*=*5(D1*Io13f%&)J$OI(W141*:%@0$#C";>)".@)32-R&0$%-G"."(!S)"%@)3f%&01V.-K1>0(*
]U,>)" P ,^2/0$I".#@053:@0$OC "=-R] (*!$#1*53"%/0/0$##"_1O@)(1*;@)(*! P ,(W/)"Eud>)" P V/M%#@Q1*3&2171*>0`aQ&)"%@Q1*O1"_1 P ,@0.1O@)(

Version 2 CSE, IIT Kharagpur

%-1O
&)(*3d#@c1>0;32I(*!&)((W53c"%/0/0$##"_1*#%@?(!E;FH>0!^2"%/0$O5(,]
/)*5(W@1`"%*#/M%*1"%@Q1\1L%&0`(*&06)(*aQ&0@Q130#(&)((*O@)(
"%@)3:]U%&)$#36M*!-R!*53
1*#@1*>0$I"_1!V>)"%/21*(H]7>0@0 P !7aQ&0#*53'E

)! / #:2

3:#&9;2!#&5



 qX@)30&)(D1*I".$?"./0/0$#I!"_1O@)([@)(W1*O1*&21J"V
".zD%[&)(".+H"%*5"4%-M"%$<Ns1*#7(WC2(W1*!
(E -R]Y!^0".N
/0$#([%-k#@)32&?(D1*I".$)"%/0/0$##"_1O@)([.-k".$ONs1*#J(*C2(D1!
("%* Z/02(([@Q1*%$0(*C(W1*
(!SO@)30&)(D1*I".$M".&21%
"_1O@
(WC2(W1*!
(S
)U
4w"./0/0$#I!"_1O@)(S1*(W14".@?3:"(W&)*@Q1H5aQ&0O/)@Q1(S0".@)3%6M.1*I\aQ&0#/0!@Q1(E



-(



 % 3: <1%'#:9;20&=!`5 =! / 58



 % 3:!" #<!57%'!$$%` /

 >0!I!"%$)/0$I".@Q1U!%@Q1*%$M(WC2(W1*(U".J5(*(*!@Q1*I".$#$#C"`1DCQ/M4%-/0!((G!%@Q1*%$M"./0/0$#I!"_1O@EqX@:".@:"%&21*
"_1*53;9>0I!"%$

/0$I".@Q1S"".$ONs1*#V%/0&01*!U/M!O232I!"%$O$#C@0<1%9(/0$I".@Q1H%@?32<1O@)(EFH>0V/0$I".@Q1U!%@)32O1*#%@?("%*4301**#@03;6)"%(*3
%@v&)*!@Q1
*5"%32#@0+Q(.-,/0*5(*(*&0%S1*/M!9"_1&0%S7".@)3 9>0#".$4!%@)!!@Q1*9"_1O@Y%-V1>0i"%1*#%@ 9>)".6?EFH>0(*
/)".9".!1*!9("%*4("./0$#3/M!#30#".$#$OCEKH"(W53%@
1>0 P ".$#&05(G("./0$#3;".1U".@C1*#%SQ1*>0\".&21%
"_1O@:(*C(W1* 30I325(
%@1>0H%o1 P "%1*#%@)(@0!((*"%*C\"_11*>)".1#@)(W1"%@11*V"%O@Q19".#@1*>0H9>0I!"%$"o1O@`"_1["4W19".#@`9"_1*
E G"9>1*#
1*>0=/0$#"%@Q1V@)32O1*#%@)(V".`(*"%/)$O53'S01>0"%&21*".1*#%@L(*C(W1* (*>0&0$#3L30I32`@f1*>0=^0"%14O@?(D19".@Q1"%@0!&)(J*1* P 
"%1*#%@)(aQ&0#3e(W&?9>e"(=9>)"%@0+%#@0+1*>):/0((W&)*S1*/?".1*&0%S%=9>)!#".$U%@?!@Q1".1*#%@e".@)3{".*Ci&21`1>0(*
"%1*#%@)(,]7O1*>0#@W19".#@e/0*532A?@03d1O;6M%&0@?30(!EFGC/0I!"%$O$#C%S1*>)1*# 6?&0@)30(`O@(*&)9>{"L9>0!I!"%$/0$I".@Q1=@1*$
"./0/)$OI!".1*#%@"%@0+%V-R* "-R!] #!*
(*@)30(U1(* P !9".$kO$#$#Z(W5@)30(E

1%('3*)+0&=!

&

@f".&21%
"_13 !".7"(*(*!60$OC
/)$#"%@1HI(7".@^0"./0$#V%-"/0$I".@Q1J".&21%
"_1O@ (*C(W1*fEqX@f".@f".&01*%
".1*3 !"%H"(*(*!60$#C
J
/0$I".@Q1Sh1>0H]*8,/0232&)o1Jt/)".*1*I".$#$OC"(*(*!60$O53=".o P 5(Z@"\@ P !C%Z6M!$O1Jt(*!7O+?E oEKJ$#%@0+Q(WI321*>07@ P !C%
6?$<15S0(W P "%$)]U%8(W1".1*#%@)(G".4/0$I"%!3',
E G"9>;]U%8(W1".1*#%@
/M!*-R%
((*%V(*/MOA?V]*8%@:1*>0\]U%8/)*232&)1U(*&)9>
"%(UA01*1*#@0+;@0+%#@0%S0A01W1O@0+ 32%5S2A01W1O@)+;]7>0!$mS?".@)3f(*/0"hC:/)".#@Q1*#@0+1*>0!".5S219.EH"%(HO14 P 5(H%@1*>0%@ P !C%6M!$O1E
J@i/21DCi9>)"%((*#(4#(VO@Q1*232&)!3L@)".V1*>)`A)9(D1,]U%8(W1".1*#%@f%@i1*>0@ P !C%76M!$O1Eg-R&)$O$#Ci"%((W=60$#3L".,5(
%&21\"_-B1*J1>0`]U%8:/0232&)o1V+%(4/)"%(W1V".$#$1>0`]U%82(D19"_1*#%@?(!EHU14"9>L]*82(W1".1*#%@S)"
(*!@?(W4(W@)(*(71>0="%* P "%$.1*>0@0!^Q1/)"%W1#"%$O$#CL"%((W=60$#3i/0*232&?o1E4((*Q@n"%(V1>0/?".*1*I".$#$OCi"(*(*!60$O53L/0232&)o1,I(\(*!@?(W53'Sk1*>0]U%82(D19"_1*#%@
6?+%#@)(V1*/?W-R*O1(\]U%8f%@i1>0]*8f/0232&)1E=FH>01O
@)(D1"%O@Q1\O/M(*3i@i1>0]*82(W1"_1O@i/)&21*
#(71*>)".1J1*>0=]*82(W1"_1O@ &)(W14%/0$#1`O1(J]U%8;6M-R*,1>0`]U%8;/030&)o14 P (7"h]H"hC
1*1>0`@0!^Q1V]*82(W1"_1O@E
FH>0\1*#6?&0@)30(7#@ P $ P 3;>)!,"%*\1DC/0I!"%$O$#C;.-1*>030!7.-K"-R!] >Q&)@)3230(7%-#$O$#Z(*@)30(E

fit
engine

fit
door

fit
wheel

chassis

spray
paint
finished car

Conveyor Belt

#+%&)* 29>)!
"_1# l /0*5(W@Q1"_1O@ %-4@f4&21*
"_1*53iU".J4((*!=6)$OC:TG$#"%@Q1


 % 3:.-/ 0/  /21 #*$5 / )3"5 =! / 57435!$69 7"3#*$# !$#&5 890:5;=<

U4w".,"
"_1!+%*C
%-K30#(W1*O6)&21*53!%@Q1*%$(*C2(D1!
(H6M!#@0+
&)(*3O@f
".@C O@)30&)(D1*#(E )U>Jw(*C(W1* >0$O/?(
)
%@0O1*".@?3;@1*$?"$I".+%4@Q&)=6M!U.-Z32I(D1*#60&213: P @Q1(%-O@Q1!(W1EKqX@ )U>J(*C2(D1!
(SQ(*!@)(*%9(G"%*V(*"_1W1!3
"_1 P "%*#%&?(4+!%+"%/0>0I,$O2"_1*#%@?(J1 $O$#1\9"h]w30"_19"nm!".$#$#3i P @19(4%-G#@1!(W19E,FH>)(*30".1":"%*=1*>0@n/025(*(*3
".@)3d(W1*%3c#@e"f"%$<Ns1*#
30"_19".6)"(WE;FH>0;30"_19".6)"(W232!$I(;R*!)1(9V1*>0;!&0*@1`(W1".1*
.-U1*>)
!@ P O%@0@15E
FH>030"_19".6)"(W\I(7&0/k30"_13 -R*5aQ&0!@Q1*$#C
1
"%8%,<14""%$OI(D1#\232!$'%-1>0,&0/213)"_1*`(W1".1*,.-1*>)!@ P O%@0@15E[J@
^0"./0$#=%-" ?U
J"./)/0$OI!".1*#%@iI(,".?
@ G@0!+%A
C @i"%@)".+!!@Q1,2C(W1*L* B@c0oE'J6
@ B@cf>0!$#/)(V1*f!"%*C%&21,$OQ"%3
6)".$I".@?#@0+O@L".@f$O5o1*I!".$'@0!+%C;30#(W1*O6)&21*#%@L@0!1D]*8kE[FH>0
 C@n(W@)(W5(U1*>0=!@0*+C:@)(W&)/01*#%@f"_171*>)=32I(D1*ON
60&21O@
/?O@Q1(U".@?3
%/0&01*(G1*>)4$#"%3
"(([32ObM*@1U/0>)"(W5(.-'/M_](*&0/0/0$#C%EKqr1H".$I(W>0$O/?(32C@)"%#".$#$OC6)".$I".@?

Version 2 CSE, IIT Kharagpur

1*>0$OQ"%3'E\J@0%1*>0V!^0"./0$#=.-G")U4 (*C2(D1! #(\":(*C2(D1! 1*>?"_1V@0<1%9(V"%@)3i!%@Q1*%$I(H1*9"_;=O@d";/)&21*


@01D]U%8k
E 4/?@)32#@0+f%@n1*>0
(*!@)(*3c$OQ"%3nO@d32<bk!!@Q1`(*!+%@19(\.-1>0@01D]U%8kS?1>0;)U4(WC2(W1*!
"%8%(V1>0
*&21*79>)".@0+VO1(71*9"_;\*&21*#@0+/?$OIC 32C@)".I!".$#$#C%E[FH>0,1*#`@)(D1"%O@Q1HO@L(*&)9>f"?U
Jg"%/0/0$##"_1O@:I(H1*>)".1
1*>0(W@)(*%9(J=&?(D1(W@)(*`1*>)(*C2(D1!(D19"_1"_1,!+%&)$#"%4#@1! P ".$I(=t("hCf P !C:-R]gO$#$O[(*!%@)30(9J"%@)3f1>0(".=&)(W1
6?/)*25(*(*3:6?!-R%\1*>0@0!^14(D19"_1*,I(J(*!@)(*3'E

-(

W <#:9;2

Y-R]y^0"%/)$O5(%-?30#".$0"./)/0$OI!".1*#%@)(.-M*5".$ONm1OH(WC2(W1*(K"%* *6?%1(S @ l q(*".@0@0(S_9"%32I"_1O@1*>0"%/C


aQ&0#/0!@Q1(S26M30(*#30@0O1*%9(S0".@)3/)&21**#p!53".^2#"%$?1%%+"%/0>CisU[FJE


 % 3: 5'58!   # 19;5 1  / )5 5 *#  &29-$<#:58 9}!# 1 W! / #& 

l % 6M.19(>)" P 6?5 P !C{/?/0&0$I".@0_]H"%30"hC2(".@)3 ". 6M!#@0+e&)(*3YO@ "d]7#30 P "%*#1DC{%-V32I!"%$J"./0/)$OI!".1*#%@)(E


J@i"%/0/0$##"_1*#%@1>)"_1\]`32I(&)((J>0*=#(V"*6?%14&)(*3f#@L*!1*O P #@0+;32I(*/0$#"53 9"%30OQ"%o1 P ,".1**I".$I(!E l "32#"%1* P 

"_1**I".$I(:(*&)9> "%(L%6)"%$<1f".@)3 l "%32#&0 ".n&?(W53v-R% 1*".1*!@Q1f.-=".@)!!5EU11*#(f32&0#@0+1*5"_1*@15SJ1>0
"32#"%1* P L%6)"%$<1iR l "%30O&0;+19(
32#(*$#"_13 ".@)3Y-t".$#$I(
32_]7@Ej#@)f>&0
".@ 6M!#@0+(:!".@ @0%1
!%L@05".
"
"32#"%1* P H
"_1!#"%$mS"%6M.1I(&?(W531**5(D1%H1*>0\"32#"%1* P 7
"_1!#"%$01`<19(G/)*/?G/M(*<1O@E[FH>04%6M.1G]H".$#82(
O@Q1`1*>)4Q%@Q19".#@0O@)+1*>0\9"%32#"o1* P 7
".1*!I".$sS/0I982(GO1H&0/S2".@)3;*5(D1%(O1G1=O1(U/0%/M!/?Q(WO1*#%@E[FH>0\%6M.1
>)"%(1(*!@?(W\<19(7!@ P #*@0!@Q1-RaQ&0@Q1*$#C;".@)3 6)"%(*3 %@:1*>0I(7#@2-R%
"_1O@S/0$#"%@ O1(H/?"_1*>ZEFH>0,*5".$ONm1O,%@?(D1"%O@Q1
%@1*>)4/)".1*>
/0$I".@0@)O@0+`1"%(*8.-k1*>04*6?%1G#(1*>)".1G&0@0$#((O1G/0$I".@?([1*>)4/)".1*>-t"%(W1G@0%&0+>;"_-B1!G"%@
%6)(W1"$#J#(3211*3S
<1J
"hC;!%$#$OI32]7O1*>f<15EFH>0,1*#`@)(D1"%O@Q19(#@ P $ P 3;>)!,"%*,%-1>0%932!H%-"-R!]O$#$O(W5@)30(E

 / # <  / 2s 7"3# %' =! 

-(

-R] ^0"./0$#(G.-/M!O/)>0!9".$MaQ&0#/0!@Q1(G1*>?"_17%@Q19".#@
!=6M3)323:*5".$ONm1O4(*C2(D1!
("%*
$#"(WH/0*#@Q1*(S032#+%O1".$!%/0#!9(S-t".^ 
"%9>)O@05(!S030O+<19".$!"%!9"%(S"%@)3f(*".@0@)!9(!E



 % 3: 
 $ / / #*=!$ /


"


@L(W14$I"%(*!J/)*#@Q1*!9(7>)"

P /?_]U!*-R&0$I%/)*25(*(*%9(U!6?530323f#@L1>0! 1* %@Q1*$Z32ObM*@1\"%o1 P O1*#(V"%((W2I"_13


] <1>e/0*#@Q1*#@0+)EFH>0
#/M%*1"%@Q1="%o1 P O1*#(,1>)"_1="fI%/025(*(*%,!6?5303253c#@"f$I"%(*!/0O@Q1!/M!*-R%(`O@)!$O&?32
7
1*>0-R$O$#_]7#@0+ `+1*1*#@0+i30"_19"-R* 1>0:=&0@0I!".1*#%@e/M%*15t(9oS1DC/?5(W!1W1O@0+i-R%@Q1(S(*!@?(W#@0+f/)"./M!4zW".
(SZ@0%1*I#@0+
]7>0!@1>0J/0O@Q1!&0@)([&21.-'/)"%/?SQ(W@)(*O@0+]7>)!@1*>04&)(W/0((W5([",60&21*1*%@
@1*>0J!%@Q1*%$)/)".@0$mSQ".@)332I(*/0$#"hC#@0+
P ".O&)(G5(*(".+(G1*1*>0,&)(*!5E[FH>0,(W17!%/0$#^:"o1* P <1DC;1*>)".1U1>0,#!*/0*2!((WG/M!*-R%(UI(732 P #@0+=1>0,$#"(W
!@0+O@)%E FH>)
6)"%(*#
!%
".@)3c1>)"_1"f$I"%(*!@0+%#@0;(*&0/0/M%*1(I(,1i/0&21"f6)$#"98n32.1%@d1*>0:/)"./M!5E 4_] P !5S'1>0
$#"(WJ!@)+%#@0`>)"(7@0;I32":".6M%&21V1*>0`!^0"%o1\(W>)"%/?5(J%-[30<bk!!@Q14-R@Q1(S0-R%@Q1,(W#p!5(!S?<19".$##%S?&0@?32!$O#@0#@0+)S?6?$#32-t"%S?!1%E
1*>)".1VO1\
"hC6?"%(*8%531*/0O@Q1E\FH>0!=6M3)323nI%/)*25(*(*%7!! P 5(J/0O@Q1,%
".@?30(4@iO1(VO@0/)&21\/M%*1\"%@)3
321!O@05(,>0_]g1>0;32%1(`".@d6?:!%/M(*3n1*L"%9>0# P 1*>0;325(W#3d322&0!@Q1="%@)3d"%@)".+(\/0O@Q1O@0+1>0;^0"o1
(W>?"./M(U1*>)*&0+%>"
(W*#(U.-[32%17!%
".@)3)(H#((W&)3:1*1*>)$#"(WU@0+%#@0EFH>0\1*#`!%@)(W1*9".#@Q1(U#@ P %$ P 53:>0*"%*\.1*>030!H.-K"-R!]j#$O$#(*!%@)3)(!E

<!57%'5 !$# 1 + /  5 / !2!#&5 C g-R]g^0"%/)$O5(4%-".&21%.1 P =".@?3L1*9".@?(W/M%*1".1*#%@i"./)/0$OI!".1*#%@)(V.-*5".$ONm1O


(WC2(W1*(H"%*-
( "%&21*%1* P \!@0+O@)\!%@Q1*%$k(WC2(W1*(S*Q"%3;1*9"_;V(*#+%@)"%$M!%@Q1*%$sS2".#WNs1*9"_;4!%@Q1*%$sSQ>0O+>2NX(W/M!53
1*9".#@



@1*$mS2".H@)" P O+Q"_1O@ (*C(W1*


(!S)"%@)3 @iTGqG@0+%#@0`!%@Q1*%$'(*C(W1*
(!E


 % 3:/ 3  !#9q58# =!<1419;!#&5  8  


s*

!1%

&<;0")/

J@ @iTGqG(*C2(D1!I(U"%@ "%&21*%1* P V!@0+O@0,@Q1*%$k(WC2(W1*!fE[@)/21*&)"%$M30#"%+%9"..-"!"%=6M3030O@0+".@ @iTGq


(WC2(W1* I(G(*>0_]7@#@;O+?E 2EKJ@
@iTqKI(""%$<Ns1*#H(*C2(D1! 1*>)".1@Q1*%$I(1*>0J9"_17.-k-R&0$)#@_zD1*#%@;".@?3"%$O$#_]J(K1>0
!@0+O@),1*
%/M!9"_1"_1JO1(J/21*#
".$!;#!@)!C%EGqX@f$#32J232!$I(7.-[!"%(S)"9>?".@0I!"%$32 P I`!"%$O$#3 1>0=!"%*6)&0*!1W1%
]U"(4&?(W53L1*f@Q1*%$1*>0-R&0$[O@_zD5o1O@n9"_1*1* 1*>)@0+%#@0Eqr1,]H"%(41*>)(*/M%@)(*O6)O$#<1DCf%-G1*>)".60&01W1%V1* P ".C
1*>0 -R&0$7O@_zD5o1O@y9"_1*f32/?@)32#@0+e%@{1>0L&0*@Q1(*/?3Y.-J1>0 P !>)#!$O".@)31*>0L325(W#*53y"!$O".1*#%@EyU"%*!-R&0$
^2/M!O!@Q19(G>)" P \(*&0++%(W1*531*>?"_1U-R%H%/21O
"%$M@0!+%C&21*/0&01S21>0VaQ&0#3
-R&)!$kO@.zDo1O@ 9"_1VI(U>0#+%>0$#C
@0%@)$O#@0"%
]7<1>`(*/?5o11J1*>) P >0I$#G(W/M!53`".@?3`"%!$#!9"_1O@EJ$I(*)Sh^2/M!O!@Q19".$%(*&0$O1((W>)_]n1>)"_11*>0/0*5I(W-R&0!$#@_zD1*#%@
1*>0%&)+%>=&0$O1*#/0$#7/?O@Q1(#([*Hbk1* P H1>)".@;(*O@)+%$#U/M%#@Q1O@.zDo1O@EKqX;
@ @iTGq!@0+O@05(!S.1*>0J/)*5I(WU-R&0$)#@_zD1*#%@
".1*H"_15"%9>O@_zD5o1O@/M%#@Q1#([301**#@036C="!%/0&21!5EJ;
@ @iTq(*C2(D1!g#@_zD1(K-R&)!$)#@Q1*,#@)32 P I32&)"%$)C$#O@?32!9(
*5(W&)$<1O@0+,#@6?!1W1* /?_]U![6)"%$#"%@)x.".%@)+41>04C$#O@?32!9(["%(K]U!$#$0"%([>)O+>0![&21*/0&01[-R*g"9>@0J".$#%@0+\]7O1*>-t"%(W1*
1*>0.1*1*$#,*5(W/M%@)(*%EKFH>0,/02((*%U/0*#
".O$#C;@Q1*%$I(1>0,O+@0<1O@:1O#@0+
".@)3:1*>),aQ&)"%@Q1*O1DC;.--R&0!$k16M,O@.zDo13'E
FH>0=$I"_1*1*4I(V"9>0O P 53f6QCL!%@Q1*%$#$O#@0+1>030&0".1*#%@f-RV]7>0I9>L1>0=#@_zD1* P ".$ P =#(V%/M!@f| /M%/0&0$I".$#C 8@0_]7@n"(



Version 2 CSE, IIT Kharagpur

B )C

 
 EFH>0"%1*#%@)(.-1*>0,/025(*(*%U".V32!1*!O@)3 6QC1>030"_19"=+$O5".@053
-R% (*!@)(*%9($O2!".1*53:".$#$k P G1>0
! @0+O@)%EVFH>)(*(*!@)(*%9(J@)(W1".@Q1$OCf%@0O1*J1>0"%=60#!@Q1V1*!/M!9"_1&0*S)1>0!@0+O@0%$I".@Q1J1!/M!9"_1*&)*S?!^>?".&)(W1
1*/M!9"_1&0%SG#((W#%@ +Q"%(@1!@Q1(SU!@0+O@0f/0 m(W/M!53)oS P !>0I$#f*Q"%3y(*/M!3SH!"%@082(W>?"_-B1/?Q(WO1*#%@SH!"%
(W>)".-B1
/?Q(WO1*#%@ZS%19.E[J:
@ @iTGq[!@)+%#@0J]7O1*>; P !@;"%@_Nr60O1/)&21*32("=&?9>
6?!1W1*ZzD6;.-32!1**#@0O@)+=".@;"!&)".1*
-R&0!$2#@_zD5o1*#%@9"_1*-R%K+ P !@ P "%$O&05(K.-k(W/M!53"%@)3="!$O".1*#%@=!%/)"%*531*"\!"%*60&)*!1W1*WNr6)"(W53(WC2(W1*!fEKJ@ @iTGq
(WC2(W1* @0%1@0$OC
".8(" P !>)#!$OJ*7-R&)!$M;#!@Q1SQO1U".$I(*`O@0#Op(/?$O$#&21O@;6C32&?#@0+`/)"%W1#"%$?=60&?(D1O@E
Multi Point Fuel Injection (MPFI) System



Computer

0*2([ l "%$<NXFHO`C2(W1*! 6?530323#@LJ@.@iTGq7U".


1&19-58%'%<#:9;!$#&5  
 &#&9-!#:5  -R]!^2"%/0$O,&)(*(J.-"%$<Ns1*#(WC2(W1*!
(7#@1*$O5%&0@0I!"_1O@"%/0/0$##"_1O@)(
".;K
( $O$#&0$I".J(*C(W1*
(!S P I32!;!%@2-R*@)#@0+)S2"%@)3f!".6)$O,232!
(E
  
% 3:
 " # "1:* 3& / 0/)/)!$1%
O+&0

!$#$O&)$#"%(*C(W1*
(G>)" P J6MV" P !C/M%/)&0$#"%G"%@)(.-%60#$#V=&0@0I!".1*#%@E[!$#$#&0$#"%U(*C2(D1!&)(*&)".$#$#C
"./?(
"=!<1DC#@1!!$#$#(EKqX@:"9>:$O$sS2"`6)"(W\(D19"_1O@;%@0O1*(1*>0\%60#$O\>)"%@)30(*1(/0(*!@Q1#@
1>0\!!$#$mE[U(*I32(SQ1*>0\6)"%(*
(D19"_1O@d/M!*-R%
((W P "%$K1"%(*82((W&?9>"%(,$#"_1O@0+i"f&?(WS(W@)32#@0+i".@)3e!! P O@0+L!%@Q1*%$[((".+%5(\1*i"f>)"%@)30(*15S
8%!/0#@0+1*9"%98L%-H".$#$G3219".#$#(\-R`60#$O$##@0+L/0&0/?Q(W5(!S".@)3d>)"%@)3Nr.b.-7!"%$O$I("%(1*>0
%6)O$#
 P (E:U".$#$>)"%@)3Nr.bI(
*5aQ&0O3:]7>0!@L"%60#$#\ P (H"h]U"hC-R%}"6?"%(*,(W1".1*#%@E[V(J"60#$O, P 5(U"h]H"hC%SO1(7!! P 53:(*O+@)".$(W1*!@0+%1*>
l )04-t".$#$#(,"_1,1>06?"%(*(W1".1*#%@E=FH>)6?"%(*(W1".1*#%@n@0<1%9(J1>0I(".@)3c"%(,(W@c"%(V1>0 l 0L-t"%$O$I(,6M!$#_] " !!*1"%O@
1*>0(*>0$#3 P ".$#&0%S<1G>?".@)30(WNr.b
1*>)43219".#$#(.-M1*>07@2Ns+%#@0+!"%$O$0%-?1>07%60#$#H1*,1*>)J6)"%(*7(D19"_1O@%-?1>04!!$#$21*]7>0I9>
1*>0\%60#$#4>)"(G P 53'E[FH>04>?".@)3Nr.bL&)(D1H6M\!%/0$#1*53
]7O1*>0#@"(W&0
!O@Q1*$#C;(W
".$#$M/0*532A?@03;1*#\#@1! P ".$sEK(*
1*>)".171*>0&)(*!4325(7@0.17-R!$".@C;1!/?"%*C32I(W&0/21O@%-(W P I32&0O@)+1*>0`>?".@)3Nr.bKEHFGC/0I!"%$O$#C ".$#$>)".@?3Ns%bnI(
*5aQ&0O3;1*
6M`"%9>0# P 3:]7<1>0O@L"-R]jO$#$##(*!%@)30(E

-R!] O/M%*1".@Q1&)(*
.-H*5".$ONm1O
(*C(W1*
(,O@{".*Q(W/?"%"./)/0$OI!".1*#%@)("%* " P #%@)#(!S'?O+>1=(*#=&0$I"_1O@S
".#*$##@0\".60#@f
".@)"%+%!@17(*C(W1*
(!S)("_1!$#$OO1*\1"98Q#@0+(WC2(W1*(S0".@?3!%/0&21!7@2Ns6M"%3 ".@f".#!".-B1E
  /
      '
 %
qX@
"%@QC=232*@".#99"_-B1(S51*>07/)O$#.1!"%@(*!$#1".@ *".&01*,/0#$O%1 V%/21O@EV((*Q@"(1*>0H/0#$O%1G(W]7O19>)(1*\1*>) *".&01*
/0#$O%1 30%S"%@e%@2Nr6?Q".93n!%/0&21!,1"%8%5(, P !"%$O$!%@Q1*%$I(,.-1*>0;"%O99"_-B1#@)$#&)32#@0+L@)" P #+"_1O@Sk1"%8%!Ns%bSZ"%@)3
$#"%@)32#@0+\.-)1>07".#!".-B1EqX@1*>) ".&21V/)O$#.1 4232%S.1*>07/0&21*[/?*#232I!".$#$#C`(*"%/)$O5( P !$#2O1DC`".@)3"%!!!$#!9"_1O@`.1*>0\".#!".-B1EK0% 1*>)V("./0$#3;30".1")S1>04@2Nr6?Q".93
%/0&01*!H/0&21*5(SS2".@)3L.Nr%932#@)"_1([%-'1*>0,&)*!@Q1
".#!".-B1/M(*O1*#%@v".@)3 !%/)".(1>0! ]7<1> 1*>0L/0NX(*/?5OA)3Y1*9"%983)"_1")EjU-R*1*>)L@0^1:("./0$# P "%$O&)(
".
%6219".#@03S0<1\%/0&01*(71*>0=30 P #".1*#%@-R% 1>0=(*/?5OA)3 1"98 P ".$#&0(4".@)3 1"%8%5(7".@C !%*5o1* P ,"%1*#%@)(71*>)".14
"hC
6?@)5(*(".C%EGqX@f1*>0I(J!"(WS21*>)=(*"%/0$O#@0+
%-1>0 P ".O&)(H/)"%"%!1*(S0".@)3 1>0!#J/02((*O@0+@031
6?=!%/0$#13
]7<1>0#@f"-R]I(*!%@)3)(!E

 / 5 3 9;


 % 3:
wK

=! / <!?



-(

`58% <! /

 57 /  # / 9 /  !
A>
L>
IK

wK

^>

<&!#&%4 3#& &#&9-!#:5


-(
# <15 `5 b /  39;# <6


$


 qX/?W19".@Q1H&)(W,%-Z*5".$ONm1O,(WC2(W1*(U#@:&0$<1O532#""%@)3;qX@Q1**@)17"./0/0$#ON
!".1*#%@)(U#@)$#&)32 P #32
%@0-R!!@)!O@0+".@?3 &0$O1*#532I"=&0$O1*I!"(D15S2qX@1!@01J%&01*!9(H".@)3(*]7<199>0(E
  /
  
 


qX@" P #30!n!%@2-R*@)#@0+n"%/0/0$##"_1*#%@ZS P I32!c".@)3{"%&)32#n(W#+%@?".$I(`".;+%@0!9"_13d6Cd".!9"%(=".@)3{I%/0>)%@05(*!N
(W/M1* P $OCE:FH>0:30".1"f".;("./0$#3e"_1="L!!*1".#@d/0*5(W/M!<A?3c-R"%
".1*%E FH>0(*;".1*>0@%/0((*3d".@)3e(*!@Q1

 % 3:

Version 2 CSE, IIT Kharagpur

"%(\/)"98%19(J11*>0
!! P !\ P \" @0!1D]*8kEU1,1>0*5! P WNr!@?3'S'/)"%9819(V"%*%932!3S32!%/0((W53'S".@)3n1*>)!@
/0$I"hC%3EFH>0,1O`!%@)(W1*9".#@Q1H".1U1>0 P !*Ns@)3
I(U1*>)".171*>0!! P &)(D1J/)*25(*(H"%@)3:/)$#"hC
1>0 P 3;-R"%5(
"_14"
/)*5321!#@053L%@?(D19".@Q1J".1*EHFH>&)(J<-[1>0O*1DC -R"%5(J".,1*:6?(W>0_]7@f P !C:#@&21*S)%@?="-R9"./0$I"hCQNs&21
#(7!%/0$#1%S21>0@0^1H-R9".=&)(W176?/)$#"hC3 ]7<1>0O@1D]U
(W5%@?30(!E

"5 3%' /  &19;! / 53#&9 

@)(W&) $O5o1*@0#( "%*5"".6M%&)@)30( @Q&)*&)("./0/0$#I!"_1O@)( .-`".$ONs1*#d(WC2(W1*(E


-R!] (*"%/0$Oi"%/0/0$##"_1O@)(.-,*5".$ONm1OL(*C(W1*
(
O@v!%@)(*&0!
$O5o1*%@)#(;". L(*1WNs1*/ 6?h^2(SH".&)32#{aQ&0#/0!@Q15S
qX@Q1*!@0!11!$#!/0>0@C%SGI_]U" P ; P @)(S[O@Q1*$O$##+%!@Q1
]H"%(*>0O@)+n
"%9>0#@05(!S>0%f(W5&0<1DC(*C2(D1!
(S".#
@)32O1*#%@0#@0+
".@)3 -RO+!9"_1*#%@ZS1_C2(!S2".@?3!!$#$'/0>0@0(E

  

 % 3:

;(

`1& 35 3

  
   
 !$#$G/0>)%@05(`".
/?Q(*(*#60$OCc1*>)
-t"%(W1*5(D1=+*_]7#@0+L(*!+%@1.-J@)(W&)`!$#1*%@0I!(Ef $O$/0>0@0:"_1".@Cn/M%#@Q1=.
1*#=!"%*O5(U%&21V"@&06?4%-19"%(*8(4(W#=&0$O1"%@0!&)(*$OCEFH>05(W#@)$#&)32 !%@ P W1O@0+#@0/0&21 P #!V1:32#+%O1"%$Z(W#+%@?".$I(H6QC
32!/)$O_C#@0+`32#+%O1".$?(W#+%@)"%$0/02((*O@0+; \0T19>0@0IaQ&0(S%@ P !*1*#@0+,!$#o1*I!"%$)(*O+@)".$I([+%@0!9"_136C=1>0JI%/0>0@0
1*J&21*/)&21 P %I(*O+@)".$I(!Sh".@?3`(*"%/0$O#@0+J#@)!%O@)+J6)"%(*(W1"_1O@=(*O+@)".$I('#@1*>0%@Q1*$9>)"%@0@0!$sEZY!$#$Q/0>0%@)*5(W/M%@?30(
1*f1>0;&0@0I!".1*#%@)(!! P 53i-R% 1*>0
6)"(W;(W1".1*#%@e]7O1*>0#@W19".#@d(*/?5OA)3d1O;6M%&)@)30(E 0^0"./0$#%S"
6)"%(*`(W1"_1O@LO+>1,
"%@)3L";$O$/0>0@0`1:(W]7O19>f1>0=@2Nr+%%#@0+
=&0@0I!".1*#%@f1:";(*/?5OA?-RaQ&0@)CEJFH>0
$O$'/0>)%@0&)(D1J!%/0$#C;1*
(*&)9>f%
".@?30(U-R* 1>06)"%(*,(D19"_1*#%@f]7O1*>0#@L"-R!] #$#$OZ(*!%@)3)(!E


-(

-(

b $:  &#:9;!$#&5 

FC/0#".$'32!-R!@)(*\"%/0/0$##"_1O@)(%-Z*5".$ONm1O\(WC2(W1*!
(U#@)$#&)32 I(*(*#$O\+%&0I30"%@)\(WC2(W1*!
(S2".@Q1*ON
#((W#$#,(*C2(D1!
(S0(*".1*!$#$#<1Nr6)"%(*3(W&) P !#$O$I".@)!\(*C2(D1!
(E
  
*&     0")/
v+%&)#3253I((W#$O4#([@071>)"_1GI("./)"%60$O7%-(W@)(W#@0+,1>071"%*+1G"%@)3>0%(%@Q1*O1E[JO@0+=6?5%5(["(WC]7>0!@1>0
1"%*+1!O1(!O1*>0Z$O5o1*I!".$%%1>0!
".$"32#".1*#%@E'qX@"7#((W#$#+%&0I30"%@)G(*C2(D1!fS5I((W#$O+%&0I30"%@)[I(Z"9>0O P 53V6C,"
/)&21*[&0@Q1*53@1*>07I(*(*O$#%EKFH>07%&)@13/0&21*G/0&21*5(1*>0V32 P I"_1*#%@-R%g1>07aQ&0#*53`1".zDo1%C
".@)3;bko19(1"989>?".@0+(%-'1*>0\#((*O$#J1=+%&)#32V<1H%@Q1`1*>)J1"%*+15EFH>0V1*#\!%@)(W1*9".#@Q1G%@;1*>0\%/0&01*!*Nr6)"%(*3
+%&0I30"%@)J(*C2(D1! #(G1*>)".11*>)V(*!@)(*O@)+=".@)31>0J1"98!%*5o1*#%@1"(W82(G=&)(W16M4"%1* P "_1*53-RaQ&0!@Q1$OC!@0&0+%>1=8%!/
1*>0V#((W#$#J-R%32 P !+%#@0+,-R% 1*>041"%*+1EKFH>041".+%!1(*!@)(*O@)+=".@)3
1*9"%98%o1O@1"%(*82(G"%*71DC/0I!"%$O$#C*5a&)O3
1*c6?L/0$O!1*53]7O1*>0#@Y"n-R!] >&0@?32*530(.-4I(*@)30(=% P @y$#((W`1OL32!/M!@?32O@)+c@1*>)(*/?3y.-J1>0
#((W#$#,"%@)3:1*>0,1DC/M.-1*>0,19".+%15E

 % 3:

W#*$9;1&:35 

# #:&

<# < 39;

!1%

&#:9;!$#&5

 
 U5(WI32(J1*>0"."%(J.-G"./)/0$OI!".1*#%@)(4".$#*5"%32C32#(&?(*(*3'SM".$ONs1*#`(*C2(D1!
(J>?" P -R&0@)3
@&0!%&)(H%1*>0V"./)/0$OI!".1*#%@)(JO@L&0J P !C 30"hC $OO-R%E74@L^0"./0$#`.-[(*&)9>i".@i"%/0/0$##"_1*#%@fI(J"
9".#$O]H"hC;(*! P "_1*#%@
(WC2(W1*E
   /
 )
$ 21
30")/
qX@
"V9".#$#]U"hC(*! P "_1*#%@(WC2(W1*SQ",!@Q1"%$2*/?Q(WO1**C`
"%O@Q1"%O@?(1*>07&0/0Nm1.NX30"_1H3)"_1",@6?%8#@0+(D19"_1&)(K.- P ".O&)(
1*9".#@)(EVFHI98%1V6?%8#@0+ !%&0@Q1!9(4".30#(W1*O6)&21*53i"%!*Q(*(V32<bk!!@Q1\+%!+%9"./0>)#,$#2!"_1O@)(E,&)(W1*(VaQ&0!&0&0/n".1
32ObM*@1
6M%8O@)+d!%&0@Q1*("%@)3y(*&060O1
1*>0O
(*! P "_1*#%@y*5a&)(W1(EY7-B1!;"d(*! P ".1*#%@aQ&05(D1I("32L"_1
"
&0@Q1*!5SQ<17@0*
".$#$#C1".8(%@0$#C;"=-R!](*!%@)3)(G-RU1*>0(*C(W1*1*@2A)1*>0,(*! P ".1*#%@:"%@)3;/)*#@Q1U1>0\1*I98%!1E[
*5".$ONm1O\%@?(D1"%O@Q1#@;1>0I(7"./0/0$#I!"_1O@;I(G1>)"_17@),"`aQ&05(D1H#(U
"%3041=1>0%/0&01*!5S<1H=&?(D17/0O@Q1U1*>0V1*I98%!1
%H32I(W/0$I"hC1*>)\(*".1U&0@?" P "%O$I".6)O$#<1DC
5(*(".+J6?!-R%\1*>0," P "%+%J>&0
".@ *5(W/M%@?(W41*#
m".6M%&21 .(W5@)30(9!^/)O(S
(W;1*>)".1V1>0!&)(W1*%(\32:@).1,@0.1#!".@CL32$#"hCL".@?3L+%!1\"
-R!$#O@)+ %-G>)" P O@)+;%6219".#@03iO@)(W1"%@Q1\(*&0$O1(E\4_] P !5S
"%(,]U;32I(*!&)(*(="f$OO1W1$O;$I"_1!;tO@y5.E E oSZ1*>0I(`"%/0/0$##"_1*#%@eI(`".@e!^2"%/0$O
%-H"L"_1!+%*CL%-H"%/0/0$##"_1O@)(,1*>?"_1`I(
O@L(*%`"%(*/Mo19(J32ObM*@Q1J-R* 1>0`.1>0!V32#(&?(*(*3f"./)/0$OI!".1*#%@)(E)%J!^0"./0$#%S0 P !@fO-K1*>0`(*&0$O1(J"%*,/0232&)!3
zD&)(W1V"_-B1! %:5!(S)@0%1*>0#@0+;&0@Q1_]U"%3I(J+%O@)+1*;>)"%/0/M!@|~1*>0I(J
"hC@0.146M`1>0="%(*`]7<1>f1*>0.1>0!\32#(&?(*(*3
"./0/)$OI!".1*#%@)(E

 % 3:

2#& "  $ / !#:5

!1%

*

0

'` I7k
3

ud=>)" P =".$#"%30C:/M%#@13L&2141>)"_1V1*>0I(V6?%8L!%@2A)@)(JO1(*!$O-1
1*>0(*.-B1D]H".#((W&)(J#@i"%$<Ns1*#=(WC2(W1*(E44_] P !5S)#@
321=6MV".6)$O41*(*!J1*>0,(W%-B1D]U"%*7I((W&05(#@ "/)*/?G/M!9(W/M1* P %S]UJ@031=>)" P 4"`6)"(WIJ!%@)!!/21&)".$M&0@)32(W1"%@)32#@0+
%-1*>0&0@)30!$OC#@0+ >?".932]U"%*EVud1*>0*!-R%=#@i1*>)#(,(*o1O@i1*Cf132 P $O/n";60"3L&0@)30!9(D19".@)32#@0+ .-G>0#+%>c$O P $I((W&05(


Version 2 CSE, IIT Kharagpur

%-J1*>0&0@)30!$OC#@0+n>)"%30]U"%*
#@Y"c*5".$ONm1O:(*C2(D1!fE{0"c% 32!1".#$#3(W1*&)30C{.-J1>0 &)@)32!$#CQ#@0+c>)".932]H".;#((*&0(S
]U-R\1*>0"%30!V1*e 5rE#+)E=(*>0_]J(," (*O/0$#232$[.-" ".$ONs1*#(*C(W1*O@c1**
(\.-<19(,O/M%*1".@Q1\-R&0@)1*#%@)"%$
60$#2982(!
E J@0$#((7%1*>0*]7I(W@1O@03S?".$#$Z&04(*&06)(*aQ&0@1430#(&)((*O@)(7]U%&0$I3O/0$##!<1$OCf"%((*&0`(W&)9>i"232$mE V6)(*! P 
1>)"_1J#@L#+)E0S1*>)=(W@)(*%9(U"%*,#@Q1*!*-t"%!3 ]7<1>1*>0`#@0/0&014%@?32<1O@0#@0+
60$#98kS2]7>0I9>fO@1&0*@fI(J@0@05o1*53;11*>0#@0/0&01
#@Q1*!*-t"%!%EFH>0%&01*/0&21,#@1!*-t"%!%Sk%&21/0&21`@)32O1*#%@0#@0+?Sk"%@)3L1>0
"%1*&)".1*%\".=#@Q1*!*-t"%!3nO@d" !%/0$#!!@Q1"%*Cf
".@)@0!5E
qX@1*>),-R%$#$O_]7#@0+)S]U60O!)C:325(*!*#6?\1>0*$O5(U.-1*>0`32Obk!!@Q17-R&0@)1*#%@)"%$'60$O2982(H.-["*5".$ONm1O(*C(W1*

(

sensor

Input
Conditioning
Unit

Input
Interface
RealTime
Computer

Output
Conditioning
Unit

Human
Computer
Interface

Output
Interface

actuator

2(

#+%&0 [

operators
@L232$.-K"

l ".$ONXFHO`C2(D1!

 $5 /

0 
w(W@)(W7%@ P !*1(H(W\/)>QC2(*#".$9>)"%"o1!#(W1*IJ%-O1(7@ P #*@0!@Q17O@Q1$O5o1*I!"%$k(*#+%@)"%$#(E[J@f^0"./0$#,." (W@)(*%H#(7"/0>0%1*%N P %$O1".I4!!$#$']7>0I9>!%@ P W19(G$#O+>Q1H@0!+%C#@Q1*!$#1*#".$k!@0*+C%E[ ]7#30 P "%*#1DC
%-Z1*/?".1*&0\"%@)3

/0((*&0*,(*!@)(*%9(H".\"%$#(*&?(W53'E 1*/M!9"_1&0\(*!@)(*%U1DC/0I!"%$O$#C;%/M!9"_1(U6)"(W53:@:1>0/0O@)!O/)$O,.-K" 
E

F!/M!9"_1*&)*(*!@)(*%9(U6)"%(*3 %@
".@C;.1>0!7/)>QC2(*#".$k/0O@?#/0$O5(7".$I(W!^I(W1E[07^0"./0$#%S2@0\1DCQ/M.-1*/M!9"_1&0`(W@2N
(*%H!/0$#_C2(1>0/0O@?#/0$O\.- P ".#".1*#%@;%-!$#1*#".$k(*#(W1"%@)V]7<1> 1!/M!9"_1*&)*t".$#$O53 
"    WoEG /0((W&)*\(W@)(W
1DC/0I!"%$O$#C4/?".1*(6)"%(*3,@,1*>0        G/0#@)#/0$#%ETG*5(*(*&0[(W@)(W(k6?"%(*3,%@%1*>0/0>C2(WI!"%$./0O@?#/0$O5(Z"%$#(*7^2I(D15E

! 3 / %'59;5 &

}D bH}D

&C $H$C C D E

9}! 3!$5 /



J@"%o1&)"_1%U#(H"%@QC
32 P #!41>)"_1U1"%8%(O1(H#@0/0&219(G-R%1>0,%&21/0&21HO@Q1!*-t"%\.-"=/0&21*7".@)3 %@ P !*1(
1>0(*!$#o1*I!"%$[(W#+%@)"%$#(V#@1L(W/0>C2(WI!"%$["%o1O@)(\%@c<19(,!@ P O%@0@15EFH>0/0>C2(WI!"%$["%o1O@)(\
"hCL6?
#@n1>0-R%..1O@SK9>)".@0+
.-H1*>)!"%$mS!$#1*#".$sS/)@0!&0
".1*I.SK%`/)>QC2(*#".$G9>?".9"%o1!#(W1*I!(\%-7(*%;62zD1(E /?/0&0$I".="o1*&?"_1*
I(Z"H.1%5EZJ5"_1!9(".".$I(W P !C4@0$#C4&)(*3'EU(*#325(!Sh(* P "%$_>C30"%&0$OI[".@?3,/0@0!&)".1*I"%1*&)".1*('"%*"%$#(*7/?/0&0$I".5E

#&6 <  `5 3# !$#&5 <# <6  <#&!


H}B B IH &H

0 
 
 

 FH>0f!$#1*#".$7(*O+@)".$I(=/)*232&)!3Y6Cy"c!%/0&21!;".@y9".!$#Ce6?L&?(W531d32#o1$OC
3  P "%@c"o1*&?"_1*E`FH>)!%/0&21!(W#+%@?".$I(4&)(*&)"%$O$#Cf@0!53c!%@)32O1*#%@)O@0+ 6?!-R%=1>0!Cc!".@c6?&)(*3n6QCf1>0
"%1*&)".1*%5EFH>0I(
2
I(,1**53  
    %EL2O#$#"%*$#C%SO@0/)&21@)32O1*#%@0#@0+LI(aQ&0#*53i1i6?;".*#3c%&01`%@{(W@)(*%`(*O+@)".$I(,6?!-R%
1>0!CL!"%@i6M"%/21*53L6C:1>0!%/0&21!5E40V!^0"./0$#%Sk".@)"%$O+;(W#+%@)"%$#(4+%@0!9"_13f6CL"
/0>0%1*.N P $<19".I$O$K".`@0*
".$#$#C
#@L1*>)`O$#$O P $<19(79".@0+`".@)3L@)!31;6M@)32O1*#%@053f6?!-R%1*>)!Cf!".@L6M=/)*25(*(*36Cf";/)&21*EJFH>0`-R%$#$O_]7#@0+;".
(*%`#/?W19".@Q1J1DC/?5(J%-[!%@)30<1O@0O@)+:!"%*O53%&214@L"h](*O+@)".$I(7+%@0!9"_136C(*!@?(W(J"%@)3L32#+%O1"%$(*O+@)".$I(7+%@0!9"_13
6C:!%/0&21!9(

)(
058&!267!
 %+ 3:#9;!$#&5 B

[%$O1"%+%"./0$#<AM!"_1O@f#(4@0%
".$#$OC;aQ&0#3:1*;6M`!"%*O53:&21J1
".19>1*>)-R&0$#$(!".$#
W( @)(*% P %$O1"%+%`&21*/0&01,]7O1*>n1*>0-R&0$#$(*".$# P %$O1".+`#@0/0&21\1* 1*>0#@1!*-t"%!=.-U":/0&21*E`)%\^0"./0$#%S'" (W@)(W
O+>1/)*232&)! P $<19".+U#@1*>)JO$#$O P $<19(["%@0+%S.]7>0*5"%(K1>0J#@0/0&21G#@Q1*W-t"7.-"!%/0&21!G
"hC*5a&)OU1*>0J#@0/0&01
(W#+%@?".$k$O P $k1*
6M.-Z1>0%9327.-" P %$O1E

*0E 0 58&!267
 1 1
0/3# !$#*36 [%$O1"%+% $O P !$H(*>0<-B1O@)+dI(.-B1*@YaQ&0#3d1*e".$##+%@{1>0 P %$O1"%+%;$# P !$U+%@0!9"_13{6C{"
(W@)(*%7]7O1*>f1*>?"_1V"!/21"%60$#,1*1*>)=/)&21*EH0J^0"./0$#%SM"
(W@)(*%7
"hC:/0232&)! P %$O1"%+%,#@f1*>0`9".@)+%,NX0E\,`1
 0E\, P %$O1S2]7>0*5"%(U1>0O@)/0&21J#@1!*-t"%!\%-1>0`/0&21*7
"hC:"%!/01 P %$O1"%+%\%@0$#C;#@ 1>09".@0+\%-1 P %$O1E[qX@
1*>0I(7!"(WS1*>0`(*!@?(W P %$O1"%+%\=&)(W1J&0@)32*+$O P !$(*>0O-B1*#@0+
6M-R%,<14".@6?&?(W53 6C
1>0`/0&21*E

Version 2 CSE, IIT Kharagpur

 /  7"< 39 ) 368 0/3# !$#*36  #& !$ / # <6

)E

0aQ&0@)CY"%@0+%i(*>0O-B1*#@0+I(;%-B1*!@j&)(W53 1*30&)f1>0n@0#(*
 /M%@)!@Q1(VO@d":(*O+@)".$sE#@i".@C1DC/?5(V%-G@0#(*=2!!&0\O@c@)".*_] 6)"%@)30(,".@)3L1*>0(W#+%@?".$=&)(W1\6M(W>0O-B1*53L-R% 1>0
@0%I(*\6?".@)30(7(*1*>)".1J@0%I(*,".@6?,A?$<1!3 %&215E

#:6 32

5 < `5  / #:5

E 0 
/ %  1
 C 1DC/?.-4(*#+%@)"%$G232!%@ P (*#%@c1*>)".1I(`-RaQ&0@Q1*$#Ce".*#3e&2130&0*#@0+d(W#+%@)"%$
@)32O1*#%@0#@0+{#@ P %$ P 5(
9>)".@0+O@)+e30O1 &0!@Q1;O@Q1".$O1*!@)".1*#@0+&0!@Q1:".@)3 P IN P ("0EJ@0%1*>0;1DC/?c(W#+%@)"%$
30J%@ P !9(W#%@1*>)".1GI(K-R*5aQ&0!@Q1*$#C=&?(W53#(!%@ P (*#%@.-'".@)"%$O+,(*#+%@)"%$#(K1`"`@)(W1".@Q1"./0$#O1*&)32V/0&0$I(WH1"%O@
(*&)9>
1*>)".171*>0=/0&0$I(W9"_1%7/0&0$I(*]7#31>L#(4/0%/M%*1*#%@)"%$?11*>0 P %$O1"%+%,$# P $mEH%@ P (*O@:%-K"%@)".$#%+
(*O+@)".$I(U1*;"/0&)$#(*
1*9".#@L#(V.-B1!@i@)5(*(".C;-RV#@0/0&01V1:(WC2(W1*(\(*&)9>n"%(




 1*>?"_1\30:@0%1V/)"(*(V32O1
&0!@Q1E

! /  b5 / %' / 9-5 3: 9;# / 9 3# !

from
Processor
Bus

D/A
register

D/A
Converter

#+%&0

 ([J@nV&21/0&21JqX@Q1*W-t"

to
output
signal
conditioning
unit

=!$ / b29-  <#&!


  *
"%$O$#C;
"%@)30(U-R% 1>0UT "%*32$O P *53
1*1>0`"%1*&)".1*1>0%&0+>"%@&21*/)&21JO@Q1!*-t"%E
4@{%&21/0&21#@Q1*W-t";@ P !*1(\1>0:(W1**53 P %$O1"%+%O@Q1n".@)"%$O+-R% ".@?3d1*>0@{%&21/0&21(`1*>0I(1L1*>):"%1*&)".1*%#!&0<1*CE
FH>0I(7%-[!%&09(*\]U%&)$#3aQ&0#*\1*>) P ".$#&0+%@0!9"_13:1*
6M`]7*O1W1!@f%@i"!+#(W1*`t(*!=#+)E oEGqX@i"%@f%&21/0&214#@Q1*!*-t"%!%S0#@
32U1*/030&)".@f".@?".$#%+=&21*/)&21S21>0UT (*!$#1(H"30"_19"!+#(W1*H.-Z1>0,%&21/0&21J#@Q1*!*-t"%!\"%@)3]7*O1*5(1*>0@055(*(".C
30".1"1i<15ELFH>0
1D]UL"%O@e-R&)@)o1O@)".$60$O2982(%-7"%@{%&21/0&21=#@Q1*W-t";".;(*>0_]7@eO@#+)E EfFH>0;#@Q1*!*-t"%!1"%8%(=!".
%-1>0=6)&2bM*#@0+:"%@)31*>)`>)".@?30(W>?".8%`!%@Q1*%$"%(*/?5o1(E7J@)"%$O+1*:30O+<19".$!%@ P (*#%@#(J-R*5a&)!@Q1*$#C30!/0$#_C%53 #@i".@L#@0/0&01
#@Q1*!*-t"%!%E#O$I".$OCS032#+%O1".$1*
".@)"%$O+!%@ P (*#%@;I(H-RaQ&0!@Q1$OC;&?(W53 #@L".@%&21/0&21J#@Q1*!*-t"%!%E

qX@ 1*>0,-R$O$#_]7#@0+)S2]U32#(&?(*(U1>0O/M%*1"%@14(W1*/)(H.-[".@?".$#%+`1;32#+%O1".$(*#+%@)"%$%@ P ! 9(W#%@nmHoE

Voltage

Time
@1O@&0&)(HJ@)"%$O+[%$O1".+

,(

#+%&0

<2:586A!$5 #:68#&!2 `5  / $#&5

5
  1
 B
VO+<19".$G!%/0&21!9(`!"%@e@0.1`/025(*("%@)".$#%+L(*O+@)".$I(!E;FH>)!-R%%S".@)"%$O+(*#+%@)"%$#(,@03d1L6?:!%@
:

P W13i1*i32#+%O1"%$[-R%fE
@)".$#%+(W#+%@?".$I(".@:6M@ P !*1*531*
32#+%O1"%$?-R*&?(W#@0+
"!O9&)<1*C
]7>0Q(W\60$#298;32#"%+%9".I(U(*>0_]7@ O@fO+?E2E 4(*O@0+1>0
4
60$#29830#"%+%9". (*>0_]7@#@:O+?E[2SQ"%@)".$#%+`(*O+@)".$I("%*7@0*
"%$O$#C!%@ P W131*=30O+<19".$0-R* 1*>)*&0+%>1>07-R%$#$#_]7O@0+`1D]
".#@
(W1*/)(

)(

2"./0$#1*>):".@)"%$O+L(W#+%@)"%$Jt(*>0_]7@eO@#+)E %,".1`*+%&0$I".#@Q1*! P ".$I(!EFH>0I(`(*"%/0$O#@0+i".@e6? 32%@0


6Ce"L!"%/)"%!<1%
#!&0O1*C
1*>)".14(D1%(U1>0 P $<19".+%,$# P !$I(!EFH>0`(W1**53 P %$O1"%+%\$O P !$!".@f6M`32I(*!*!1*#p!3EG7-B1!4("./0$#O@)+1>0="%@)".$#%+
(W#+%@?".$[t(*>0_]7@O@LO+?E %S0"
(D1!/]U" P -R% "%(7(*>0_]7@O@L#+)E #(7621"%O@)3'E

Version 2 CSE, IIT Kharagpur

Voltage

Time
#+%&0  [J@)"%$O+[%$O1".+=%@ P W13
1;4I(*!*!1*`)%

2(

Analog Voltage from


signal conditions

Sample and Hold


A/D Converter
Data Register
16
Binary digits

o o o

1(

#+%&0= G%@ P  (*#%@:%-"%@4@)".$#%+;#+%@)"%$k1*;" 60O1VUO@?".C

&06?

%@ P W1H1>0(W1**53 P "%$O&0=1*:";60O@?".C:@&0=6M!V6C &)(*#@0+:".@i"%@)".$#%+1:32#+%O1"%$@ P !*1*`t>,HV"%(J(*>0_]7@L#@iO+?E


S0"%@)3 (W1**\1>0`32#+%O1".$ P "%$O&0#@f"*+%I(D1!5E

VO+<19".$K1f"%@)".$#%+f@ P !9(*O@n!"%@c6M;!"%*O53i&21,1*>0%&0+>d"/0$O!@Q1"%*Cn(*1%-%/M!9"_1O@)(Eud
$O5" P <1="(,".@
!^!#(*
1i1*>) "32!=1*iA?+%&0:&21=1>0301"%O$I(.-71*>)!O9&0O1*Cc1*>)".1".@/M!*-R% 1*>0f32#+%O1".$1*d".@)"%$O+i@ P !9(W#%@
J4HoE

  03s

` I7k


ud@0_]{32I(*!&)(("H-R!]e8!CV9>?".9"%o1!#(W1*I!(k%-2*5".$ONm1O(*C(W1*
(!EZFH>)(*G9>)".9"%1**I(D1#('32I(D1O@0+&0I(W>"%$<Ns1*#(WC2(W1*!
(k-R%
@0@2Nr*5".$ONm1O(WC2(W1*!
(E4_] P Sk1>0
*5"%32V
"hCi@).1*1>)"_1="%$O$K1>0
32#(&?(*(*3d9>)".9"%1**I(D1#(4
"hCi@).16?;"%/0/0$##".60$#
1n P !Cn"%$<Ns1*# (*C(W1*fE l "%$<Ns1*# (*C2(D1!
(=! P !(W&)9>Y".@@0%%&)(9".@)+%;%-4"./0/0$#I!"_1O@)(="%@)3{/0232&)1(1>)"_1"
+!@0"%$O#p".1*#%@%-V1>0L9>)".9"%1*!I(D1#(=#@Q1*{"e(W!11>)"_1;I(
"./)/0$OI!"%60$# 1e"%9> ".@?3y P !C(*C(W1* I(
32<;!&0$<15%
E 4Obk!!@Q1
"_1*+%*#(U.-K".$ONs1*#(*C2(D1!
(7
"hC;^2>0#60O171*>09>)".9"%1*!I(D1#(G1>)"_1J]UI32!@Q1*O-RC;1;32ObM*@1J!^1*!@Q19(7%7
"hC:@).1J P !@
!^>)O60O14(*%,.-1*>0`9>)"%"o1!#(W1*I!(U"_1J".$#$sE
E

#&%49-5 ! / 2# =!


* &  P *CV*5".$ONm1O[19"%(*84I("(*(*2I"_13\]7<1>=(*%K1*#@)(W1*9".#@19(!E V@0[-R% .-21*#G@)(W1*9".#@19(
1*>)".1#( P !Ci@cI(32"32$#O@05("%((W2!#".1*3n]7<1>d1"%(*82(!E
19"%(*8n32"32$#O@0
(*/?5OA)(\1>01*#
6?!-R%]7>0#9>d1>0
1"(W8c=&)(W1=/)$O!1*:"%@)3d/0*232&?
1>0;(*&0$<19(!E 41*>01DC/?5(`%-1O#@0+n@)(W1*9".#@19(".;32!$I"hCc"%@)3e32&09"_1O@ m(W
1*#%@ E .oEqr1#(\1>0*5(W/M%@?(W#60#$OO1DCL.-1*>0
"%$<Ns1*#/?".1*#@0+(*C2(D1! l F ,)V1*!@)(*&01>)"_1`"%$O$K19"%(*8(\!!1

Version 2 CSE, IIT Kharagpur

1*>0OU(*/?5o1* P J
 1*#,@)(W1*9".#@19(!EudV(*>)".$#$?!^0".O@)4#@:$I"_1*9>)"%/21*(G>0_] ".@ l F ,;!".@:!@)(*&0J1*>?"_1G19"%(*82(G!!1
1*>0O7(*/Mo1 P \
 1*##@0+;!%@)(W1*9".#@Q1(1*>0%&)+%>f"./0/0%/)*I"_1419"%(*8:(*9>)32&0$##@0+
(D1".1*!+O5(!E

*0E  =`5 /$/ 19}!&< &! / #&! / #&5  

FH>0=@0%1*#%@c.-G*1*@05(*(4O@c*5".$ONm1O(WC2(W1*!
(V#(,32Obk!!@Q1V-R% 1>)"_1,&)(*3i#@
1*>0!%@Q1*!^Q17%-Z1*9"%30<1O@)".$'(*C(W1*
(!EKqX@*5".$ONm1O,(WC2(W1*!
(S0*1*@05(*(O/0$##(H@0%1H@0$#C;$O+%I!"%$k!%*5o1@0((G%-Z1>0
*5(W&)$<19(!S260&01J1*>0`1*#"_1J]7>0I9>1*>0(*&0$O1(J"%*,/0232&)53#(7#/?W19".@Q1EU$O+%I!"%$O$#C:*17*5(W&0$O1J/0232&)53 ".-B1*
1*>0`30"%30$O#@0,]&0$I3:6M`@)(WI32*53 "(7".@O@)!%*5o1H*5(W&)$<15E

Actuators

Real Time Computer

Environment

Sensors

2(

#+%&0  g29>0
"_1*I l !/)*5(W@19"_1O@:.-[J@.G=6M303253 l "%$<NXFHO`C2(W1*!

q%  <

)E  ('    P "%(W1".zD%<1DC.-'".$ONs1*#7(*C2(D1!


(G"%*7=6M303253O@
@?"_1*&)*` _rE4@;!6?5303253
%/0&01*!(WC2(W1*!
#(/0>C2(*#".$#$OC W=6M30303 4O@<19(K!@ P O%@0@1K".@)3=.-B1!@!%@Q1*%$I(<15E#+)E \(*>0_]J("\(9>0!
"_1#G*/0(*!@Q1".1*#%@.-M".@
!6?530323(*C(W1*fE4([(*>0_]7@O@O+?E 0S.1*>07(*!@)(*%9(Z%-01*>)U"%$<Ns1*#U!%/0&21![$O$#130"_19"J-R%1>0H!@ P O%@0@15S
/)"%((71>0! @f1*;1>0="%$<Ns1*#=/0&21*4-R4/025(*(*O@)+)EJFH>0%/0&01*!5SMO@L1&0@i/)"%((*(J#@2-R*
"_1O@R/025(*(*3
30"_19"U1
1*>)"%1*&)".1*(H1:!"%*C:&2141>0=@)5(*(".C;]U%8:@L1*>0!@ P O%@)@Q1S)]7>)#9>L(*&0$O1(J#@n!%@Q1*%$#$O#@0+;(*%
9>)".9"%1**I(D1#(.-71>0!@ P O%@0@15Ee2 P "%$G!^2"%/0$O5(=%-J!6?530323Y(WC2(W1*(]U!:32I(*!&)((W53{O@ %E E 2EeJ@
^0"./0$#.-7".@d!6?530323e(*C2(D1! 1>)"_1`]U]&0$I3c%-B1*@d-R#(1*>0

 @L&)$<1<NXTK%#@Q1)&0!$GqX@_zD1*#%@v* @iTqW,(WC2(W1*!
32I(*!&)(*(*3 #@A^0"./0$# %-K5.E E 2E

>

2K

\*

\*

 !  / # !$#&9-2&#&!
$ b

E 0
) 
9)  0H1*9"%32O1*#%@?".$'@0@2Ns"%$<Ns1*#(WC2(W1*!
(J("_-R!1DC:".@?3 !$#I".60#$OO1DC:"%*,#@)32!/M!@?32!@Q14I(*(*&05(!EG4_]HN
 P ! 5SO@e
".@Ci"%$<Ns1*#;(WC2(W1*(\1>0(*1D]UI((W&05(`".O@Q1*I!".1*!$#Ci6M%&0@?3n1%+1*>)!
".8#@0+1*>0          E
%1*,1*>?"_1V" 
(*C2(D1! #(J%@01>)"_1\32(7@0%1V!"%&)(*`".@C 30"%
".+%, P !@f]7>0@L<14-t".#$#(EU
(WC2(W1*!}%@f1>0
'
.1>0!>)".@)3SQI(U%@041*>)".1U".@;/?".1*J-R$#%@)+32&09"_1O@)(%-'1*#V]7O1*>0&21H^2>0#60<1O@)+"%@QC-t".#$#&0*5(!E[ (*".-R1DCQNX<1#".$
(WC2(W1* I(
*5aQ&0O3y1*y6?i>)O+>0$OCY*$OI".6)$OL(*O@)!n".@C{-t"%O$#&0L.-,1*>)i(WC2(W1*! !"%@ ".&)(*L^1!@)(* P i30".
"%+%(E ud
!$I".6M%9"_141>0#(J#((W&)\#@i1*#%@ E 2E

,0E ` 539  /R/  39 ) 

W/ 1:#& &

C E D

\,

*5".$ONm1O=(*C2(D1! &)(*&)".$#$OCf@030(41* *5(W/M%@?31* (* P !9".$O@)30!/M!@)32@Q1\ P !@Q19(J]7O1*>0#@ P !C(*>0%*1


." @)3(W1*#1[1*#76M%&)@)30(EK)%[#@)(W1".@?%SQ@)(WI32"\9>)!#".$2/0$I".@Q1G"%&21*".1*#%@(WC2(W1*}t(*! ^0"./0$# %-'5.E E %S
]7>0I9>@0<1%9(U1*>0=/0*+%((U.-["
9>0!I!".$Z*5"%o1O@"%@)3f@1*$#(U1>0`9"_1.-K*5"%o1O@ 6C9>)".@0+O@)+1>0=32Obk!!@Q1
/)".9".!1*!9(
%-`*5"%o1O@ (W&?9>j"%( /0((W&0%SH1!/M!9"_1*&)*S4".@)3j9>0!I!".$,@)@Q1*9"_1*#%@ZE FH>05(Wc/)".9".1!9(;".
(W@)(*3;&?(W#@0+
(W@)(*%9(A0^253:#@:1>0`9>0I!"%$k*5"%o1O@ 9>)"%=6M!5EFH>)(*,(*!@?(W(
"hC;+%@0!9"_1V30".1""%(*C@)9>0%@0&)(W$#C
"_1K32<bk!!@Q1".1*(EFH>)!-R%%S1*>)"%$<Ns1*#(*C(W1*=&)(W1/025(*(30"_19"7-R%w".$#$%1>0H(W@)(W(@)&0!@Q1*$#C%S5.1>0!]7#(*
(W#+%@?".$I(K"hC=6?J$#(W1G".@?3=1>0J(*C(W1* 
"hC=
"%$<-R&0@?o1*#%@ZEFH>05(WJ(*C2(D1!
(".@6?J!%@)(*I32!31*6M7@0@2Nr301**#@0I(D1#%S
(W#@)!1*>0=6?>)" P OJ.-K1*>)(*C(W1* 30!/M!@)30(4%@f1>0=!^2"o1J1O#@0+;%-KO1(V#@0/0&219(!EJ @0%@2NX32!1*!O@)#(W1*I/)&21".1*#%@
#(J%@0#@L]7>0I9>f1D]&0@)(J&?(W#@0+1*>)=(*"%`(W!1J.-[O@)/0&21V30".1"
".@L/0232&),1D]U;32I(D1O@?o1V(*19(7.-[%&01*/0&21\30"_19"O@f1>0
1D]&0@)(E

\*

Version 2 CSE, IIT Kharagpur

# )! / # '  !$$ 1 '29%0! / 39}!& /  

)E 5

qX@f"%@C;*5".$ONm1O,(WC2(W1*(S1*>),30<bk!!@Q14/?@0!@Q1(H%-Z1>0(WC2(W1*!
." @)"_1&0"%$O$#Cn32I(W1*O60&01*3{"((\]7#32$OCe(*/0*5"%3c+%%+%9"./)>0#$#"_1O@)(!E:qX@(W&)9>{(*C2(D1!
(!SZ1*>0 32<bk!!@Q1= P @19(,.O@Q1!(W1\".I(W=".1V1>0+%!+%9"./0>)#".$#$OC(W/)".9"_1`$O2"_1*#%@?(!EFH>0*!-R%%S?1*>05(W P !@Q1(V
"hC%-B1*@n>)" P 1*6?>)"%@)32$#3
$O2".$#$OCy"%@)3 (*/?@)(W5(/030&)53y1{1*>)! 1*/0 P !@Q1
 P *$#"32O@)+c%-\1>0i&0@?32!$OC#@0+=&0@0I!".1*#%@ @01D]U%8kE
FH>0!-R*S.1>0V(*!@)(*%9("%@)31*>0\"%1*&)".1*%9([
"hC6?V$O2!".1*53;"_11>04/)$#"(G]7>0!J P !@Q19(G".J+!@0".1*3EJ@ ^0"./0$#
.-Z(*&)9> "(*C(W1*#(H"/?!1*%$#!&0A)@)!C/)$#"%@1H32I(D1*#60&213  P !U"=$I".+%4+%!+%9"./0>)#J"%*5"0EKU1U5"%9>:3)"_1"(*%&09SO1

".8%5(U+%23 325(W#+%@f(*!@)(*\1*
$#".$#$OC:/0*2!((G1>0`30".1"6?!-R%,6?O@0+
/?"%((W53:@:1;"!!@Q1*9".$'/)*25(*(*%5E

@i".@Cn30#(W1*O6)&21*53{"%(]U!$#$G"%(=!@Q1"%$O#p!53c"%$<Ns1*#
(WC2(W1*!
(>?" P 
"-R!5326)"%98d(D1*&?o1*&)*;"(`(W>)_]7@d#@O+?E  E:qX@
1*>05(W,(*C(W1*
(!SQ1*>)\(*!@)(*%9(&)(W&?".$#$OC
(*!@)(*41>0\!@ P O%@0@1U/?*#232I!".$#$#C%E[FH>0,(W@)(W53:30".1"".6M%&21U1*>)V@ P #*@0!@Q1
#(J/0*2!((W53;1;321!#@01>0`*1* P "%1*#%@)(H@)5(*(".C%EFH>0*5(W&)$<19(7.-1*>0=/0*2!((W#@0+
".,&)(W53 1*;!"%*C;&21
1*>0V@0!((*"%*C*1* P J"o1*#%@?(%@;1*>0\!@ P O%@)@Q11*>0%&)+%>1*>)\"o1*&?"_1*(S%]7>)#9>;#@;1&0@:".+Q".#@;!".&?(W4"9>)".@)+%
1*1*>)*5a&)O39>)".9"%1**I(D1#(G%-1>0`@Q1*%$#$O53;!@ P #*@0!@Q1S0"%@)3 (*%@E

Actuator

Sensor

Actuator
Processing

Sensor
Processing

Computation

Environment
#+%&0
2E

)E

 (0326?"%98 Q1*&?o1*&)*,.-

l 5".$ONrFH#2C(W1*
(

/ #&!#:9;2:# !

+
)  F"(W8<1#".$#<1DC`I(G",5"%(*&0*H%-M1>04!(W1.-M-t".#$O&07.-"\19"%(*8MEKF"%(*8O1*I!".$#O1DC`#(321!O@0536QC
^0".#@0#@0+4>0_]Y<1#".$2".G1>0H*5(W&)$<19(/)*232&)!3=6QC,1>0U1"(W8,1V1>0H/0%/M!-R&0@)o1O@0#@0+,.-01>07(WC2(W1*!fEK *5".$ONm1O
(WC2(W1* 
"hC>?" P U1"(W82(%- P !C=32Obk!!@Q1U!*O1*I!"%$OO1*#(Eqr1#(1*>0*!-R%7@)"_1&0"%$21*=^2/?5o11*>)".11*>0V<1#".$#<1O5(.-k1>0
32ObM*@141"%(*82(7=&?(D1\6?19".8!@L#@1:@)(*#32".1*#%@f]7>0#$O32(*O+@0#@0+
-R%4-t".&0$O1WNs1*$O"%@)EUFH>)=>0#+%>071*>)O1*I!".$#O1DC
.-V"n1"(W8kS[1>0*!$##"%60$O <1;(*>0%&)$#3y6?f
"%32E0&0*1*>)!5SG#@1*>) P @1.-\"i-t"%O$#&0 %-V"n>)O+>0$OC!*O1*I!"%$U1"%(*8kS
O30#".1*,-t".#$#&0*`301*5o1O@i".@)3 P !C
".O/M%*1".@Q15EGJ_]U P !5S2<1V(*>0&0$#36M`".$##p!3:1*>?"_1J19"%(*8;/0O*O1DC;I(J"
32ObM*@1\%@?!/014".@)319"%(*8 O1*I!".$#O1DC 32(4@0.1\(W$O$OC321!#@01>019"%(*8:/0O*O1DC:71*>)`%932!7#@i]7>0I9> P ".O&)(
1"(W82(H".\1*6?!^2&01*3eR1*>05(WI(*(*&05(7(W>)"%$O$'6M!$I".6M%9"_13 O@ 1*>)$#".1*!J9>?"./21!9(E

!57%  / " / 



 
 Y".$ONs1*#U(WC2(W1* I(.-B1*@=#/0$O!@Q1*53=@=&)(W1*>)".932]H".[1*>)".1I((W/M!<A?".$#$OC`30(*O+@03
." @)332 P !$#%/M3-RK1*>07/0&)*/M(*%EK0[^0"./0$#%SQ"\!!$#$0/0>0@0J32(@0.1&)(*U1*9"%32O1*#%@?".$2#!*/0!((W(E$O$2/0>)%@05(
&)(*/)*25(*(*%9(V]7>0#9>{"%*1*#@C%S(*&0/0/M%*1*#@0+L@0$OCi1*>0Q(W/02((*O@0+f!"%/)".6)O$#<1O5(\1*>)".1=".*5".$#$OCL@055(*(".Cf-R%`!!$#$
/0>0@0V/?".1*#%@:"%@)3(W/M!<A?".$#$OC;30(*O+@03;1*6?,/M_]WNr;#!@Q11*%@?(W P 46)".1W1**C
$#O-R%EFH>0,!"%/)".60#$#<1O5(%-Z1>0
/0!((WV&?(W53c#@{"f!$#$/0>)%@0;"%*
(*&06)(W1".@Q1#"%$O$#Cn32ObM*@Q1-R*1*>)".1`.-7"+%!@)!9".$[/0&0/M(*/)*25(*(*%5EJ@0%1*>0
^0"./0$#=I(41*>0!6?530323n/0!((W4#@c"%?
@ @iTGq4".5EVqX@i1*>0I(,!"%(*%SM1>0/)*25(*(*%4&)(W53i@03n@0.1\6?
";/M_]U!*-R&0$
+%@0!9".$/0&0/?Q(W/02((*%,(W&)9>d"%("TK!@Q1*#&0,"%@dU1>0$#%@d/0*2!((WE=%-G1>0Q(D1/M_]W-R&)$K!%/0&21!9(
&)(*3{#@ @iTq@0+%#@05(=". _NV hNr60<1/0*2!((W(&0@0@)O@0+c"_1"%/0/0h^2O
"_1!$#C ?
@i4p%Ec4_] P S&0@0$#O8;1>0
@ P !@Q1*#%@?".$?THU(!S2"/0!((W&?(W53;#@:1>0(*!".U!@)+%#@0(H32@0.1J325".$k]7O1*>/0*2!((W#@0+`-R#$O$I(7(W&?9> "%(H(!@2Nr(" P (
%U"32p!@;.-30<bk!!@Q17"./0/0$#I!"_1O@)(*&0@)@0O@)+"_1U1*>)\(".J1OEJ$#$?1>)"_1U1*>)V/025(*(*%O@".
@ @iTqG(WC2(W1* @)!3)(
1*
32I(H1*
/0&21*,1>0aQ&0#*53;-R&0$#@_zD1*#%@f".1*\1*>?"_1JI(HQ(D17!
!O@Q17-R%J"+% P @(*/?3f".@?3 "!$O".1*#%@E

*

 129;!# 1  nl
E

DMC

vC

"%$<Ns1*#;(WC2(W1*(=".
.-B1*@
    !E"o1 P (*C2(D1! #(=%@0
#@{]7>0I9>e"%@e%@2Nr+%O@0+f#@Q1*!9"%1*#%@
6?!1D]!@1*>)=/)&21*V".@?3:1>0`@ P #*@0!@Q1JI(J
".#@Q1".#@053'E V932#@)".C:(*C2(D1!
(J/0&21*`-R&0@)o1O@)(J@1*>0`#@0/0&01

Version 2 CSE, IIT Kharagpur

30"_19"L1n+%@0!9"_1
1*>) &21*/0&0130".1" m #+)E Yt"*oEeqX@y%1*>0]U%930(S1*9"%32O1*#%@)"%$U(*C2(D1!
(%/0&01*;1>0%&21*N
/0&21
30"_19"n"((*%
-R&0@?o1*#%@
.-71>0O@0/)&213)"_1")EdFH>?"_1#(S[%&21/0&21
30"_19"n".@
"_1>0!
".1*I!".$#$#Cd6M^2/0((W53"%(

oE[)%G!^0"./0$#%S%O-Z(*%430".1" 7#(G+% P @;"%([1>04#@0/0&01S1*>0\(WC2(W1*!/0&21*5( 7"(
1*>0,(*&0$O1
 !EFZ!$I".6M%9"_1J1>0#(7!%@)!!/215S0@)(WI32H"%@:!^2"%/0$O,#@ P %$ P O@)+"$O#609".C;".&21%
"_1O@ (*.-B1D]H".%E
qX@
",$O#609".C`".&21%
"_1O@(*.-B1D]H".%S_]7>)!@1*>0Va&)!C`6?8`-R&0@)1*#%@I([O@ P %8%53"%@)3 l 5".$ONrFH#JC2(D1!
( ,I([@1!3
"%(41*>0#@0/0&216MQ8L@)".Sk1*>0@n1>0(*.-B1D]H".=32I(*/0$#"hC2( *4&21*>0,@)". l "
E @i".$#$sS l "%98
&)=6M! V% S &)=6M!,.%/0#( )E







    !  




>

( K

input data

;(

Starting
Parameters

output data

A>

$(

MK



(

Reactive System

Traditional System

(a)

(b)

#+%&0 KF9"%32O1*#%@)"%$ P !9(*&)( l "o1 P ,C2(W1*(


qX@ !%@Q1*9"%(W11*d1*>0f1"32O1*#%@)"%$J%/0&01"_1O@Y%-41>0L%&21/0&21:"(
"d(*#/)$O-R&0@)1*#%@ .-\1*>)#@0/0&01:30"_19"0SU*5".$ONm1O
(WC2(W1*([30@0.1/0232&)!J".@C`%&01*/0&21U30"_19"V6)&21G!@Q1!#@Q1*".@%@0Ns+%#@0+V#@Q1*"o1*#%@]7O1*>1*>)!#!@ P O%@)@Q1EqX@5"%9>
O@Q1!9"%o1O@:(W1*!/ZS1*>0\*5(W&)$<19(U!%/0&213".4&)(*3:1*!"%*C%&21J(*%\"o1O@)(G@;1>0,!@ P O%@0@15EFH>)\"o1O@;.1*>0!@ P O%@)@Q1J#(\(*"%/0$O53L".@)3fI(4-R3L6)"98;1;1*>)(*C(W1*fEJFH>0!-R*1>0!%/0&219"_1O@)(J#@i";"%$<Ns1*#`(WC2(W1*!
!"%@6M!%@)(*I32!3 1*:6?@0%@2Ns1**#@)"_1O@)+)E7FH>0I(J"%1* P @)".1*&0`%-K"%$<Ns1*#`(WC2(W1*(4#(V(*9>)!
"_1#".$#$OC(W>0_]7@L#@
1*>0`#+)E ft6?oE

!$ #&&#&!
D 7C
 9-$
 <!$#&5 
 3&#*36

'
), J@)30! P *$#"3L@)32O1*#%@)(S'*5".$ONm1O(WC2(W1*(\@03n1*L@Q1*#@Q&)=1 !!1,1*>0
325"%32$#O@)(,.-G1*>0(W1
0E 0
<1#".$219"%(*82(!S1*>0&0+%>1>04325"%32$##@0(G.-@0@2Nr!*O1*I!"%$21"(W82(G"hC@0.1U6?4!1EFH>0I(I(#@:!%@Q1*9"%(W1[1*1>04aQ&0#!!@Q1
.-     -RH1*9"%32O1*#%@?".$(*C(W1*
(H P @ &)@)32!7 P !$OQ"%3;!%@)30<1O@)(!E

 E

"

@n".@Cf*5".$ONm1O(*C2(D1!
(\]*8%&0@)32Nm1>0NX$#298f"%@)3L%-B1*!@d%/M!9"_1=]7O1*>0&21,>Q&)"%@n/2N
!9"_1%9(!E0%H!^2"%/0$OS0@)(WI32H"(*"%$O$"%&21*
"_1*53:9>0#".$k/0$I".@Q1H1*>)".1HI(7(*17&0/ 1*]*8@0@2NX(D1%/EKuv>0@:1>0!
".,@0
>&0
".@L%/M!9"_1%9(!SQ19".8O@)+;%o1 P "%o1O@)(7@f"-t"%O$#&06?55(J32O;&0$O14
E  P !@f<-[@0;!%*5o1 P ,"o1O@)(
!"%@6MJ#532#".1*719".8!@S.O1GI(325(W#"%60$#H1*>)".1G"\-t".#$O&0J32(@0.1(*&0$O1O@;"_1"(D1*/0>0IH(WO1*&)".1*#%@)(EK -t".#$O&0J(*>0%&0$I3
6?32!1*5o1*53f".@)3;1*>0`(*C2(D1! (*>0%&)$#3 %@Q1O@&0\1*/?".1*\O@f"+%9"%!-R&0$#$OC;32+%9"%3253;232,".1*>0U1*>)"%@(*>&21W1O@0+%b
".60&0/21$OCE

0}Y= 

))#)I=

qX@1*9"%30<1O@)".$0(*C2(D1!
(!SQ(*".-R1DC="%@)3*$OI".6)O$#<1DC".H@0%
".$#$OC=!%@)(*I32!3=1*6M7O@?32!/M!@)30!@Q1GI(*(*&0(Eqr1#(K1>0!-R*H/M((W#60$#
1I32@1<-RCc":1"32O1*#%@)"%$K(*C2(D1!1>)"_1I((*".-R"%@)3c&0@0!$##"%60$O
"%@)3n(*C2(D1!
(\1*>)".1`".!$##"%60$#60&01`&0@)("_-R%E;%@?(WI32!\1>0
-R$O$#_]7O@)+
1D]:^0"./0$#(E4g]U%93f/02((*O@0+ (W%-B1D]U"%*
"hC@0.1\6? P !C*$OI".60$#`60&01\I(4("_-REVw-t"%O$#&0=%-[1*>0(W%-B1D]U"%*
325(J@0%14&)(*&)".$#$OCf!"%&)(*=".@C (*#+%@0OA?!"%@Q1430".
".+`%JA)@)".@?I".$Z$#((EUqr1V#(J1*>0*!-R%=".@L!^2"%/0$O=.-".@L&0@)*$OI".60$#`60&01V(*".-R
(*C2(D1!fE V@i1>0.1>0!,>)"%@)3'S" >)".@)3c+%&)@c!"%@n6M&0@)("_-R60&21#(,!$#I".60$#%E` >)"%@)3i+&0@c9".!$#C -t".#$#(E >)".@?3n+&0@nI(,".@
&0@?(*".-R:(WC2(W1* 6M".&)(*
<-JO1`-t"%O$I(-R=(W;*5"%(*%@S<1!".@{I(DA?*
` P !@{^2/0$#232:"%@)3e!".&?(W:(*#+%@0OA?!"%@Q1=30".
".+%Eqr1
I(,".@n!^0"./0$#%-U".@c&0@)("_-R60&21!$##"%60$O(*C(W1*fE=FH>0(*1D]^0"./0$#(,(*>0_]1*>?"_1,-R%\1*9"%30<1O@)".$K(WC2(W1*(S("_-R1DCi"%@)3
!$##"%60#$OO1DC
".V#@)32/?@)32!@Q1J@)*@?([| O1UI(1*>0*!-R%V/M((W#60$#41#@)!*5"%(*71*>0("_-R!1DC
.-"(WC2(W1*!]7O1*>)%&21J"_bk1*#@0+<19(
!$##"%60#$OO1DC:".@?3 P I P ("0E

qX@f".$ONs1*#`(*C2(D1!
(H%@f1>0.1>0!4>)".@)3S?("_-R1DC ".@)3f!$##"%60#$OO1DC:".`&0/0$#3 1*+%!1*>0EGU!-R%`".@)"%$OCp!#@0+]7>C ("_-R!1DC
"%@)3e*$OI".6)O$#<1DCd".
@0L$#%@0+!`#@)32/?@)32!@Q1=I((W&05(`#@{*5".$ONm1O;(*C2(D1!
(!S]U
@0!53d1*LA)9(W1=&0@)32(W1"%@)3d]7>)"_1^0"%1*$#CnI(

Version 2 CSE, IIT Kharagpur

b 2#:   b.!!$ E


N &Z;V[ OwZ$ T0OQSxZ$SQT} ZOxP$OxSQT}U V OY2rRTop;V XvpLV T}r$SQT}|~T]LopRT}r0SFpRT0OQPROQSQT;U&Z;V[ O$m=rR?]ZUqZ-Tos u-[ ] |~T)O)u-[ S)

"%@Q1H6C"

F+% P ,".@^0"./0$#%S1>0,-t".#$<NX("_-R,(D19"_1*%-"]U%93;/02((*O@0+/0%+"% I(7@0,]7>0!41>0`322&)@Q1J6?O@0+/025(*(*3


>)"(76M!!@c(*" P 3%@Q1*1>0=32I(*8ME74$O$1*9"%32O1*#%@?".$@0@L*5".$ONm1O`(*C2(D1!
(J32;>?" P %@)`%J*,-t"%O$ONr("_-R`(W1".1*5(J]7>0I9>L>0!$#/
(*!/)"%".1*,1>0`I(*(*&0(4.-("_-R1DC".@)3f!$#I".60#$OO1DC
|~ P !@LO-[":(WC2(W1*! I(J8@0_]7@1*;6M=&)@0*$OI".6)$OS)O1V!"%@i".$#]U"hC2(H6M`
"%321
-t"%O$#@L"-t".#$<NX(*".-R(D19"_1*S0".@)3@)(*aQ&0!@Q1$OC;O1J]U%&0$I3 (W1*#$#$6?`!%@)(*I32!3:1*6M`"("_-R`(*C2(D1!fE
qr-G@)30"%
".+%!".@c*5(W&)$<1,<-U":(*C(W1*!@Q1*(\":-t".#$<NX(*".-R(W1".1*VzD&)(D1,6M-R%<1\-t".#$#(Sk1*>)!@c1*>0%&0+>n!"%*!-R&0$1*9".@)(*<1\1*"
-t"%O$ONr("_-R(W1".1*&0/M%@L"-t".#$#&0*S0O1J#(7/M((*O60$#\1*1&0*@L"%@!^1*!!$#C;&0@0!$#I".60$#`".@)3&0@?(*".-R`(WC2(W1*! O@Q1*;"
("_-R(*C2(D1!fEqX@

".@C=1*9"%32O1*#%@)"%$)(*C(W1*
([1*>)#(1*9>)@0#aQ&04#([#@-t"%1-RaQ&0!@Q1$OC"%32/21*531*,1&0*@;"%@
&0@0!$##"%60$#J(WC2(W1*! #@1`"`("_-RJ(*C(W1*fE
)%,^0"./0$#%S%@?(WI32!," 1*9"_;$O#+%>Q1`@1*$O$#!V1*>?"_1`@1*$#(41*>)?_]g.-1*9"_;".1`" "3L#@1!9(W5o1O@E&)/0/?Q(W1>0
1".
=$O#+%>Q1@1*$O$#!4-t".#$#(4-RaQ&0!@Q1$OCi"%@)3iI(48@0_]7@i1*6?>0#+%>0$#CL&0@0!$##"%60$#%EFH>0%&)+%>i&0@)*$OI".60$#%SkO1,".@d(D1O$#$K6?@2N
(*#30!3(*".-R\O-K]7>0!@0 P J"=1".;V$##+%>Q1J%@Q1*$O$#!U-t".#$I(!S0O1J!@Q1!9(U"-t"%O$ONX(*".-R\(W1".1*]7>0*".$#$k1*>),1*9"_;\$O#+%>Q1(7"%*,"%@0+%
"%@)3
60$#O@)8Q#@0+?EKFH>)#(UI("

:
 (W#@)!J1*>)V.1%#(W1(G%@:(*!O@)+=60$#O@)8Q#@0+%9".@0+H1*9"_;J$#O+>Q16M\"h]H".H1*>)".1
1>01*9"_;,$#O+>Q14%@Q1*$O$#!7I(7@0%14]*8#@0+
".@)3/023]7<1>i!"%&21*#%@E 4-%&)(*%S0"-t"%O$ONr("_-R`(W1".1*
"hC:@).146M1*

"%8%
"%$O$M$O#+%>Q19(G+*!@SQO@ ]7>0I9>:!"(W4(* P !4"%I32!@Q19(!%&0$I3
2!!&0E#O$I".$#C%S".$#$?$#O+>Q1(G1*&0@03:*53
I("%$#(*`@0%1H"`-t".#$<NX(*".-R4(W1"_1
|~<1\"hC@0%1V!"%&)(W"%!!#30!@Q1(S)60&01V]U%&0$I3f60O@0+ ".$#$1*9"_;\1 ";(W1"%@)3L(D1O$#$Z$#"32#@0+
1*;1*9"_;HzW".
(EJJ_]U P !5S0O@n"%@C
"%$<Ns1*#,(*C2(D1!
(H1>0!`".@0-t".#$ONr("_-R(W1"_1(EFH>0*!-R%%S0"%@QC;-t".#$O&0.-K1>0`(WC2(W1*}!"%@L!".&?(W`(* P !,3)".
".+(EG&)9>
(*C2(D1!
(7".(*"%#3:1*6M 
)
 )/
+ E

 #&    )!$!

 b! w9 / #&!#:9;2 )!$1%


NOMZ$ T)S:P$bX}| V SwV XZ[-OxP$OxSQT}U V OY2rRTqoqp$-OxT&Z;V[\u|T0X)ZrLX)ZuROxTOxT)y$T;|T]ZUqZ;TO

4@Y!^2"%/0$Of%-\"e(*".-R1DCQNX<1#".$7(WC2(W1* #(
"d@)" P #+".1*#%@Y(*C2(D1! @2Nr6?Q".93y".@ ".#99"_-B1E J@ %@0Ns6M"%3y@)" P O+Q"_1*#%@
*( C2(D1! >)"(H@0-t".#$<NX("_-R,(D19"_1*5(!EKuv>0@1*>0`!%/0&21!H%@2Nr6M".93:"%@"%O99"_-B1U-t".#$I(!S0"-t".#$ONr("_-R,(D19"_1\
"hC;@).176?@0,]7>0!
1>0:@0+%#@0:I((W]7O19>053Nr.bnqX@y"c(*".-R1DCQNX<1#".$G(*C2(D1!fSK1*>0f".6?(W@);%-7-t".#$<NX("_-R:(W1".1*(#/)$O#(=1*>)".1("_-R!1DCe".@{@0$OC
6M`!@?(W&03 1>0*&0+%>#@)"(W53:!$##"%60#$OO1DC%EUFH>Q&?(!S2-R4("_-R1DCQNX<1#".$'(*C(W1*
(H1*>0=#((W&)(7%-K("_-R!1DC:".@)3f!$#I".60#$OO1DC;6M!%
#@Q1*!!$I"_1*53f| ("_-R!1DCi!".@d%@)$OCi6M!@)(*&03n1*>0%&)+%>n#@)!*5"%(*3i!$#I".60#$OO1DC%Eqr1=(W>)%&0$I3i@0_] 6?
!$O5".,]7>Cn(*".-R1DCQNX<1#".$
(*C2(D1!
(H@0!53 1*6?>)O+>0$OC *$OI".6)$OE
 &)(W141* +% P ="%@i^0"%/)$O`%-1*>)=$# P $%-*$OI".6)O$#<1DCaQ&0#*53f.-("_-R!1DCNXO1*I!".$(WC2(W1*!
(S'%@?(WI32!41*>0=-R%$#$O_]7#@0+?EV0
%" @QC)CQNr6QCQNr]7O4"%O99"_-B15S(W1%-<19( P O1"%$?/)"%W19("%*V%@Q1*$O$#36C
"=!%/0&21!5EK4@C-t"%O$#&04%-'1*>0,@1*$O$##@0+`/)&21*
I(,$#".$#C @0%1,"!!!/219".60$#%EFH>0(D19".@)3)".93L*$OI".6)O$#<1DCfaQ&0#*!@Q14-R\(*&)9>n"%O99"_-B19(4I(V".1\Q(D1 -t"%O$#&0=/M! )C#@0+
>0&09(`B1>)"_14I(S?"O$#$#O@LC%"%(H%-K!%@Q1*#@&0%&?(H)CO@)
+  oEUuc`!^0".O@)>0_] ";>0O+>0$#C:!$##"%60$O`(*C2(D1! !".@L6M=32 P $O/?53 #@
1>0@0^14(*1*#%@E

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

qr-C%%&f".,"%(*8%3;6QC:C%%&)U*+Q".@0#p".1*#%@
130 P $O/"(*.-B1D]H".4]7>0I9>(*>0&0$#3 6M\>)O+>0$OC:*$OI".60$#%S2>)_] ]&0$I3:C%&:/)*23
1"9>0O P JO143iJ#+%>0$#C
*$OI".6)$O\(W%-B1D]U"%*\!".@:6?32 P !$#%/M3;6QC;"32%/01*#@0+"%$O$k.-Z1*>0V-R%$#$O_]7#@0+=1*>0!\O/M%*1"%@11*59>0@0Ia&)(

/R/ 5 /

(

58# < 39;

 1
 
 0G"%9>0# P #@0+,>0#+%>*$OI".6)O$#<1DCS% P !C`/M((W#60#$OO1DC=%-'&0!@)!U%-M*%9(K(W>)%&0$I36?7#@0##p!53
3 &0O@)+/)*232&)1J32 P !$#%/0!@Q1J"%(H&)9>L"%(H/M((W#60$#%EFH>0I(7!"%@ 6M="9>0O P 53;6C:"%30%/21O@0+
" P ".#1DC
.-K"%@)( K&)(*#@0+
2
]$O$ONs-R%&0@)303:(*.-B1D]H".4@0+%#@0!O@0+/09"%1*I(S&)(*O@0+
(*%&0@?3:325(W#+%@1*>)30%$#%+%#(S2"%32/21*#@0+(W&)<19".60$#=UV Y1*$#(S
".@)3(*@E

1
5
 
 qX@ (W/0O1*\.-&?(W#@0+`1>046M(W17" P "%O$I".6)$OJ*%" P %I30"%@)H19>0@0IaQ&0(S
".@C*%9(
D( 1O$#$'
".@)"%+%\1*
!*!/O@Q1*1>0`232E[FH>0(*!*(@03 1*6M`321o13f".@?3 ! P 3'EKFH>0I(7!".@f6M`"%9>0# P 3;1*
"
$#"%*+V!^1*!@Q176C !%@)32&?o1*#@0+1*>)%%&0+>: P O]J(7".@)3:1*5(D1O@)+)E V@)!\*%9(H".\301*5o13'S)1*>0C:!"%@6M"(W#$#CA0^23'E

)(

/R/ 5 / !19}!$#&5 4 4%45 2

Version 2 CSE, IIT Kharagpur

3 !  58: /  < 9- 

;
"_1*1*J>0_] !1*I&0$#%&?(W$#C *%7" P %I30".@)!".@)3!%J32!1*1*#%@1*59>0@0IaQ&0(V".\&?(W53'S)O14I(
O
*
*
1
)
&
%
"
O
$
#
$
:
C
#

?
/
Q

*
(
*
(
#6
0
O
$
=

*
1
;
"%8%="
/)"o1*I!"%$Z(*.-B1D]H".`(WC2(W1*! !@Q1O!$#C *%*Ns-R*%EH0!]*%9(J(W1*#$O$/?(*#(W14 P !@i".-B1*
P
!"%*CO@0+f&21=1>0%%&0+>e* P #!]J(".@)3d1(W1*#@0+)E(*(".&)(*-t".#$O&)*5(!EnFH>?"_1=I(!S-t"%O$#&0(="%*:"%@0O-R(W1"_1O@{.-71>0
!*(4$#".1*@1,#@i1*>)(*C2(D1!fE`FH>0*!-R%`1*f"%9>)O P =>)O+>n!$##"%60O$#O1DC%S' P !@cO@d(WO1*&)".1*#%@)(\]7>0*!*(V"./)*5(W@15S
1*>0,(*C(W1* (W>)%&0$I3;6M\"%60$#41=1%$#!9"_1*41*>0V-t".&)$<19(7".@)3;!%/0&21\1*>0,*1(*&0$<19(!E[FH>0I(U#(H".$#$O53-t".&0$O1WNs1*$O"%@)E
)"%&0$<1*Nm1%$#!9".@)!\".@6?`"9>0# P 53;6C ".-R&0$#$#C;O@?%/M%9"_1*#@0+*532&0@)30"%@)CE

Legend:
C1,C2,C3: Redundant copies
of the same component
C1

V
O
T
I
N
G

C2

C3

Majority Result

O+&0  29>0
"_1*I l !/)*5(W@19"_1O@ %-F @ l
qr14I(J!$I"_1 P !$#C (*O/0$#1:32(*#+%@i"
>)"%30]U"%*,aQ&0#/0!@Q1J1;6M`-t".&)$<1*Nm1%$#!9".@Q1EHFH>0`-R$O$#_]7#@0+;".,1D]
!1*>0230(41*>)".1
"%*,/M%/0&0$I".$#C
&)(W53 1*
"%9>0# P ,>)".932]H".J-t".&)$<1*Nm1%$#!9".@)!



3#&&!

1   )!

;(


 0
 +8
0 < ZqX@eqW0F,Sk1*>0
(*C(W1* /M!O232I!"%$O$#Ci/M!*-R%(,(*!$O-G1(W1(,.-HO1(/?@0!@Q1(E J/M%@
3211*#%@L.-"-t"%O$#&0%S01>0=(*C2(D1! ".&21%
"_1#".$#$OC *5%@0A)+%&0(HO1(*!$O-[6C(*]7<199>0#@0+
%&2141*>0=-t".&0$O1DC!%/M%@0@14"%@)3
(W]7O19>)O@0+#@f%@0,.-1*>030&0@)30"%@17+Q23/M%@)!@Q1(E

/ #* 3: W5/<: /  < < 9 ) 8 W < %( qX@


F

@ l SQ"%(K1>07@)"%V(W&0++%5(D19(!Sh1>0*J32&0@?30".@Q1G/0#(K.-"%$O$)!*O1*I!"%$
 /M%@)!@Q1(`"%*

"32
1*n*&0@{!%@)!&0*!@Q1$OC t(*!:#+)E % oE V6)(W P 1*>)".1=O@Y#+)E % S[ S[ 0S"%@)3yUi"%*1>0
*532&0@)3)".@Q14/0O5(J%-1>0=(".=!*O1*I!"%$/?@0!@Q1E7FH>0(WC2(W1*! /M!*-R%( P .1O@)+;.-K1*>)`*5(W&)$<19(J/0232&)53f6C:1>0
*532&0@)3)".@Q1H!%/M%@0@19(1
(W$O5o1U1*>0,
"_zD*O1DC*5(W&0$O1E[F @ l !"%@:>0$O/ 1*$O".1*V&0!@)!4.-%@0$#C;"(W#@0+%$#J-t"%O$#&0
"_1".@C1*#%E:rU".@nC%&d".@)(*]V]7>Ci" F @ l (9>0!"%@ibk1* P $OCf1%$#!9"_1*"(W#@0+%$#!%/M%@0@1\-t".#$#&0*%@)$OC 3h
J@y"(*(*&0/21O@{1*>)".1I(O/0$##!<1#@{1*>0fF @ l 19>0@)#aQ&0 #(=1*>)".1".1"%@QCc1*# @0$#Cd@0:%-71*>0:1*>0! *532&0@)3)".@Q1
/M%@)!@Q1(!".@:/0*232&?J*%@0%&)(*5(W&0$O1(E[FH>04
".zD%<1DC*5(W&0$O1U".-B1* P .1*#@0+`]U%&)$#3
6M4*%@)!%&?([<-Z1D]`G%
/M%@)!@Q1(,!"%@i-t"%O$(*O&0$O1".@)!%&?(W$#CR%/0I(*!$#C%S'6M-R%
":!/?".#,".@c6?
!"%*#3i&219EqX@e(*<1&)"_1O@)(,]7>0!
1D]G%4!%/?@0!@Q19(G".J$#O8!$#C=1`-t"%O$R%/030&)V!*@0!&)(K*5(W&)$<19(S%1>0!@;+*5"_1!G"%&0@Q1(G.-32&0@?30".@)!O5(
]&0$I3 6M`aQ&0#*53;1;6M`O@?%/M%9"_1*53'Eg$OO1W1$O1>0#@08O@0+ !".@L(*>0_]1*>)".1V"_1J$#"(D1 .@  32&)@)30".@Q1V!%/M%@0@19(
".VaQ&0#3:1*1*$O".1*(W#=&)$<19".@0%&)(U-t"%O$#&0(H.-@L%/M%@0@Q1E

Y*

q*

V(4/)".31;>)".932]H".%S)(*.-B1D]H".,-t".&)$<1*Nm1%$#!9".@)!`#(4=&)9>n>)".932!J1* "9>0# P EJFZ:O@ P 5(D1O+Q"_1,1*>0*5"%(*%@f6?>0#@)3


1>0#(S$#1`&)(\A?(W1,30#(&)((\1*>)19>0@)#aQ&05(&0*@Q1*$#CL6?O@0+f&)(*3n1*L"9>0O P (W%-B1D]U"%*=-t".&0$O1WNs1*$O"%@)E=ud
321*>0I(,O@d1>0
-R$O$#_]7O@)+(*&06)(*1*#%@E



  0 *  
* .)   #)  *  
 

  

  

-(

FH]U,!1*>0230(G".U@)_]y/M%/0&0$I".$#C`6?O@)+&)(W53`1`"%9>0# P U(*.-B1D]H".-t".&0$O1WNs1*$O"%@)
N P (*O@/)*+%9".O@0+\".@)3! P !C
6 $#298n19>0@)#aQ&05(!EiFH>05(W;1D]L19>0@)#aQ&05(=".;(*O/0$# "30"./219"_1O@)(.-H1>0:6)"(WI19>0@0IaQ&0(=&)(*3e1i/0 P I32
>)"%30]U"%*
0
-t"%&0$<1*Nm1%$#!9".@)!%EKud`32#(&?(*(U1>0(*\1D]1*59>0@0IaQ&0(7#@ 1*>0,-R$O$#_]7O@)+)E

Version 2 CSE, IIT Kharagpur

  / $#&5

/ 586 / 2%'%'# <6


 ?
  FH>0I(1*9>)@0#aQ&07I([".@"%3)"./219"_1*#%@.-?1*>0JF @ l 19>0@)#aQ&0U-R%[>?".932]U"%*G-t".&0$O1WNs1*$O"%@)E
qX@1>0 N P !9(W#%@/0%+"%#@0+\1*59>0@0Ia&)%SQO@)30!/M!@)32@Q1G1*5".
(32 P $O/
32ObM*@1 P (*O@)(7 P "%$O&04.32/?@)30(%@1>0
32+%!\.--t".&0$O1WNs1*$O"%@)\*5aQ&0O3?G%-"(*.-B1D]H".V/?@0!@Q1`R232&0$#5EGFH>0,*532&0@)3)".@Q17232&)$O5(7".V&0@L@)&0!@Q1*$#C
t/?Q(*(*O6)$OCc%@d*532&0@)30"%@Q1`>)".932]H".5oE
FH>0(*&0$O1(/0232&)!3c6QCn1*>0;30<bk!!@Q1 P (*#%@)(\.-U1*>)
232&)$O;"%*
(*&062zD1*53n1
P .1*#@0+:".14&0@f1*#".@?3f1*>0=*5(W&0$O1V@L]7>0I9>L".zD%<1DC .-[1>0!%/?@0!@Q19(4".+*,#(\"%!/01*3EJFH>0!!@Q1*9".$I325"
6?>0#@)3
1>0#(,(9>0!#(41*>)".1\#@)32/?@)32@1,1".
(V]&0$I3iO1,30<bk!!@Q141DC/M(\.-I(D19".8(SM]7>)#9>i]U%&)$#3L6M!$#O#@)"_13i]7>)!@
1>0f*5(W&0$O1(/0232&)!3Y6QCe1>0! ".(*&062zD5o13y1* P .1O@)+)EY4_] P SK1>0#(
(9>0fI(@0.1 P *C(*&)((W-R&0$HO@ "%9>0# P #@0+
-t"%&0$<1*Nm1%$#!9".@)!%SG"%@)3y1*>0f/0%60$#! !".@Y6?i".1W1*#60&213y1*        
         1"_1#(W1*I!"%$J*!$I"_1O@.-t"%O$#&0(7"%@)(H1>)"_14 P @ 1>0%&)+%>fO@?32 P I32&)"%$'1*5".
(7]U%8%3 #@L#(*%$I"_1O@:1:32 P !$#%/ 1*>032<bk!!@Q1 P !9(W#%@?(%-"
(W%-B1D]U"%*
!%/?@0!@Q15SQ(W1*#$O$?1*>)V32ObM*@Q1 P (*O@)(K-t"%O$?-R%#32@Q1*I!".$?*5"%(*%@)(EZqX@:.1*>)!G]U%930(S_1*>)V32ObM*@Q1 P (*#%@)([%-"`/M%@)!@Q1
(*>0_]g(*O#$#"%V-t"%O$#&0/?"_1W1!@)(E=FH>0I(\30Q5(\5".@n1*>)".1\1>0
32ObM*@1,232&0$#(32 P !$#%/M3i6QCL#@)32/?@)32@1`/)*+%9".!9(!S
".-B1*!,".$#$sSM!%@Q1"%O@LI32!@Q1#".$!*(EJFH>0="(W@-R%J1>0I(VI(V@0.1V-t".J1 (*!8MSM/0%+"%(7!%<1\!*(7#@L1>0(*=/)"%W19(
%-"/0%60$#! ]7>)#9>1*>)!C;/M!9 P V16?`32O;&0$O1H| "%@)3:]7>?"_17#(432<;!&0$<171%@0\1*5". I(7&)(*&)"%$O$#C:32O;&0$O171*
".$#$k1*5".
(E
?S2#30!@Q1*I!"%$!*(!
".#@ #@1*>0Q(D1J/0$O!^"%@)3:$#"(D17&0@?32!9(D13 /)"%W19(H.-["(*.-B1D]H".,%/M%@0@Q1E

IHvDFDMC &H H

Legend:
TB : try block

component

input

TB1

TB2

TB3

TB4

result
test

BDMC

exception

result
test

test

success failure

test
failure
success
result

*(

O+&0 [g%-B1D]U"%*,)"%&0$<1*NrF%$#!9".@?29>0! 4(*#@0+ l ! P  *C


U$O2982(

9-5  /

DFE+G iH IJ

:5 9

1
  9
E G"9>c1*C
)
/ qX@{1>0:! P *Ci6)$O298e(*9>0%S1*>0 *532&0@)3)".@Q1/?@0!@Q1(".;!"%$O$#3
6 $#298!%/0&21(J1*>0=(".`@)3f(*&0$<1\"%(H1>0=%1*>0(76)&21VI(J#@Q1*!@Q1O@)".$#$OC ]7*O1W1!@i&?(W#@0+;";32Obk!!@Q1V".$#+%*O1*>)}/)".3
0
1 1>0
.1>0!\1*Ci6)$O2982(!EqX@
N P !9(*O@n/0%+"%#@0+)SM1>0;32ObM*@1 P !9(W#%@)(\%-U"f/M%@)!@Q1,"%*]7<1*1*@c6Cn32Obk!!@Q1
1".
(%-\/0%+"%(S]7>0*5"%(#@ ! P *C{60$#298y32ObM*@Q1:".$#+%%O1*>0
(".f&)(W53 O@v32ObM*@Q1
1*C60$#982(E J$I(W?S#@
!%@Q1*9"%(W1`1*c1*>) N P (*#%@{/0%+"%#@0+n"%/0/0"%9>e]7>0*:1*>032&0@?30".@Q1!%/0#(".:&0@y!%@)!&0*@1$OCSKO@y1*>0*5 P N
*Ce60$#298"./0/0"9>e1*>0Cy".cm"%((*>0_]7@#@YO+?E &0@y@0f"_-B1*
".@0%1*>0E{FH>0f(*&0$<19(=/)*232&)!3y6QC"n1*C{60$#298
"%*(W&060zDo13e1d"%@y"%/21"%@):1*(W1Lt(*!f#+)E %oEdqr-J1>0:1(W1-t"%O$I(S[1*>0@1>0 @)^11*Ce60$#298e#(1*#3'E{FH>0I(=I(*!N
/M".1*3O@y"n(W5a&)!@)!:&0@Q1*#$1*>0 *5(W&0$O1=/0232&)!3{6Ce"L1*Cd60$O298e(W&?!5(*(W-R&0$#$OCe/)"(*(*(1*>0"%!!!/219".@)!
1*5(D15E
.1*:1*>)".1
#@nO+?E
]U`>)" P (W>0_]7@c"%!!!/219".@)!1*5(D19(V(*!/?".9"_1*$OC:-R%,32ObM*@1V1*Cf60$O2982(71:>0$O/n&0@)32(W1"%@)3f1*>?"_1\1*>0=1*(W1(\".
"%/0/0$#O53`1V1>0U1*C60$#982(%@)H".-B1*1>07.1>0!5Sh1*>)%&0+>O1["hC6MH1*>)H"%(*G1>)"_1K1>07(*"%1*5(D1I(K"./0/)$O#3=1*,"9>`1*C`6)$O298kE

V(J]H"%(71>0"%(*]7<1>
N P (*#%@f/0%+%9".#@0+)S21>0=! P *C;6)$O2982(4"%/0/0"%9>f".$I(*:32(4@0.1V"9>0# P ==&)9>i(*&)!!((
#@ /)* P I32O@)+!bM5o1* P \-t"%&0$<1*Nm1%$#!9".@)!%E[FH>0,"%(*%@ 6?>0#@)3 1*>0I(H#(4".+"%O@(D19"_1#(W1*I!"%$k!%*$#".1*#%@;%--t"%O$#&0(E,4ObM*@Q1U1*C
60$#2982(-t"%O$M-R%UI32!@Q1*I!"%$?"(W@)(G"(G]H"%(G^2/0$I".#@03:O@!"(WJ%- N P (*#%@
/0%+"%#@0+`"./)/0*Q"%9>EKU(*#30(S%1>0#(H"%/0/0"%9>
(*&2bk!9(4-R%":-R&0*1*>0\$##O1".1*#%@n1*>)".1\O1`!".@c%@0$#Cf6?&)(*3n<-G1*>01"(W8L325"%32$##@0(,".=&)9>n$I".+%J1>)".@n1*>01"(W8i!%N

Version 2 CSE, IIT Kharagpur

/0&01"_1O@i1O(tmE %E\1"(W82(V>)" P $#"%*+`$I"_^2<1DC0Sk(*#@)1*>032ObM*@Q1V1*Cf60$#298(\".=/)&21V1 !^2&01*#%@i@0".-B1*!\1>0%1*>0


]7>0@f-t".#$O&)*5(J2!!&0EHFH>0`! P *C;6)$O298 "%/0/0"9> /M(*(V(W/M!#"%$Z32O
!&0$O1DC]7>)!@L&)(*3f]7O1*>L"%$<Ns1*#1"(W82(7]7O1*> P !C
(*>0%*1V(*$#"98:1ORsE E\(*>0%*1V325"%32$##@0=".@?3i@)(WI32"%60$O=^2!&21*#%@f1O5S"%(J1*>0=1*C6)$O2982(4"%*1*#3i%&21\%@0=".-B1*41>0
%1*>0J32"32$O#@05(H"hC:6?I(*(*3'EFH>)!-R%%S#@L(W&)9>f!"(W5(U1*>0$I"_1!H1*CQNr60$O2982(U&)(*&)".$#$OC %@Q19".#@ @0$OC (W8!$#1"%$232E
4-!%&09(*%SM<1I(4/M((W#60$#=1>)"_1\1*>)$I"_1!V1*CL60$O2982(\%@Q19".#@i%@0$#Ci(*8%!$#19".$232%S'/)*232&)!=@0$OCi"%/0/0h^2O
"_1`(*&0$<19(V"%@)3
1>0!-R*\1"%8%,=&?9> $#((U1*#,-R%J/0&21".1*#%@1*>?".@ 1*>0,A)9(W171*C;60$#98kE





checkpoints





acceptance test

progress of
computation

rollback recovery

#+%&)* G>098/M%#@1O@)+"%@)3 l %$#$O6?"%98 l 5 P  *C

39" 57#*=!$#*36 57& '29 19;5 1  / ),



 >0598/?O@Q1*#@0+f".@)3n*$O$ONr6)"%98f P !C I(,".@0%1*>0,/?/0&0$I".\1*59>0@0Ia&)1"9>0# P -t".&)$<1*Nm1%$#!9".@)!%EqX@c1*>0I(\1*59>0@0Ia&)"(



1>0:/0&21".1*#%@e/02!530(S'1*>0 (WC2(W1*! (D19"_1
#(,1(W1*53e"%9>c1*#:"_-B1!=(*%
"%@0#@0+.-R&0$G/0*+%((\O@{/0&21".1*#%@eI(

"%30%E,qX532I"_1*$OCi".-B1*," (D19"_1NX9>0981*5(D1(*&)!!!3)(!SM1*>)(W1".1*.-[1*>)(*C2(D1! I(V6?"%98%53L&0/c%@n"(D19".60$#(W1*"%+%:m(W
#+)E QoEKqX@ "%(*41>0V@)^1H1*(W1732(U@0.17(*&)!!!3S1>0(WC2(W1* !".@ 6?\
"%32V1*%$#$<Nr6)"%981*1*>)\$I"%(W179>098/M%#@13;(W1".1*E
J-B1*!7"*$O$#6)"98MS-R%"9>)98/?O@Q13;(W1".1*,"-R(*> /0&21".1*#%@!".@:6?,#@0<1#".1*53'E[FH>0#(19>0@0IaQ&0\#(U(*/MI".$#$#C
&)(W!-R&0$sS
O-1*>)!VI(H"=9>)"%@)41*>)".11>0(WC2(W1*!(W1".1*\"hC6M\!%*&)/21*53;"%(G1*>0,/0&21".1*#%@ /0*2!!3)(!S(W&?9> "%(U30".1"=!%*&)/21*#%@;
/025(*(*%-t".#$O&)*E



A
` w7 40
k

ud`>)" P `".$#*5"%32C:(*!@1*>)".1V"
".$ONs1*#,19"%(*8:I(7%@)-R%J]7>)#9>LaQ&)".@Q1<19"_1* P !^2/0*5(*(*#%@)(H%-1O="%*@)!3031*;30(O6M
O1(46?>)" P OE7FH>0I(4aQ&)"%@1<19"_1 P ^2/0((W#%@f.-K1O=&?(W&)"%$O$#C "%/0/M".9(7#@L1*>)-R%}%-";@)(D1"%O@Q1J@f1*>01O"_14]7>0I9>
1>01"(W8i/)*232&)!((*&0$O1(E
FH>0
(W1-R*5a&)!@Q1*$#Ci2!!&0*#@0+1*##@0+i!%@)(W1*9".#@Q1\I(`"f32"32$#O@0;!%@)(W1*9".#@Q1]7>0#9>dI(&)(*3
1;^2/0((U1*>)".1V"19"%(*8:I(JaQ&0#*53:1;/)&21*`O1(4*5(W&)$<19(J]7O1*>0#@i(W`32"32$O#@0EUud1>0!-R*#/0$OIO1*$#Cf"%((W&0@0$OC
325"%32$##@0`1DC/M=.-K1O#@0+ !%@)(W1*9".#@Q1(J@f1"(W82(J#@L1>0#(\(*o1O@S?1*>0&0+%>L%1*>041DC/M(J%-G@)(D1"%O@Q19(`t"(4!^/)$#"%O@053fO@d%E
E %G
"hC;2&07#@f/0"o1#!%EK*5".$ONm1O\1"(W82(H!"%6f6?`!$#"(*(*<A?3;#@Q1*1>0,-R%$#$O_]7#@0+1*>0!6)*Q"%3:"_1!+%*#(

(

}*5".$ONm1O:1"%(*8{!"%@6?f$I"%((*<A)53{#@1n<1>0!>)".93'S(*.-B15S%=A)*
!%@)(*aQ&0@)5(H.-"19"%(*8;#((*O@0+O1(7325"%32$##@0%E

"%$<Ns1*#;1"(W8{32/?@)32#@0+d%@{1>0

qr1[I(K@0.1[@05((".CV1>)"_1G"%$O$19"%(*82(%-M"\".$ONs1*#H"./)/0$OI!".1*#%@6?$O@0+\1*\1*>0J(".H!".1*!+%C%Eqr1I(K/M((W#60$#1>)"_132Obk!!@Q1
19"%(*8(.-Z"=*5".$ONm1O\(WC2(W1*!".@;6M!$#%@0+=1*32<bk!!@Q17!".1*!+%O5(!Euc\@0_]v$#"%6?".1*71>0(*J1>0*J1DC/M(U.-"%$<Ns1*#J1"(W82(E

 / W12  #&%' 



 / >?".93n"%$<Ns1*#19"%(*8nI(,%@01>)"_1`I(`!%@)(W1*9".#@03n1*f/0232&)!
<19(*5(W&)$<19(,]7<1>0O@!!*1"%O@
/030A)@053f1*#=6M%&0@?30(!EVFH>0(*C2(D1! #(\@)(WI32*53:1:>)" P ,-t".#$O53L]7>0@0 P !V"%@C %-KO1(V>)"%3f"%$<Ns1*#1"(W82(430Q5(J@0%1
/0232&)!\O1(J*5a&)O3 *5(W&)$<19(H6?!-R%V1>0`(*/?5OA)3 1*#6?&0@)3'E

4@{^0"./0$#;.-J"i(*C2(D1! >)" P O@)+L>)".93e*5".$ONm1O19"%(*8(`#("f*6?%1ELFH>0 *6?%1=C2$##".$#$OCe!"%*#(,%&01"L@&0=6M!."o1* P <1O5([#@)$#&)32#@0+`=&0@0I!".1*#%@]7O1*>1*>)J>0(W1G(*C(W1*fS%$#%+%+O@)+\"%$O$)!%/0$#13


"%1* P <1O5(!SQ(W@)(W#@0+\1*>)J!@ P O%@)@Q11
32!1*5o14".@C;6)(W1"%!$O5(H/0(*!@Q1S1"98Q#@0+1*>062zD1(H%-#@Q1*!(W1S2/?"_1*>f/0$I".@)@0O@)+)S2bk1*#@0+
@0!^Q1J P %S219.E _]@)(*#32
1>)"_11*>0 *6?%1(W&?3032!@)$OCe!@?%&)@1!9(="%@%6)(W1"$#%EiFH>0 *6?%1==&?(D1321o1O1".@?3{"%((W%@"(`/M((W#60$#
1*Cd1*c(!"./M
!%$#$OI32#@0+;]7O1*>iO1EVqr-<1V-t".#$#(41*;(*/M%@)31:O1\aQ&0I98Q$#CeRsE EJ1*>)@)*@)31"(W82(J"%*=@0.1,%/0$#13L6M-R*`1*>0*5a&)O3


Version 2 CSE, IIT Kharagpur

1O;6M%&0@?3)\1*>)!@e<1]&0$#3e!%$#$OI32]7<1>e1*>0:%6)(W1"$#"%@)3c1*>0:*6?%1,]U%&)$#3d6M;%@?(WI32!3c1L>)" P -t".#$#3'E:FH>)!-R%
32!1*5o1*#@0+
6)(D19"%!$O5(U"%@)3*5"%1*#@0+=1
<14"%*\>)"%3 *5".$ONm1O\1"(W82(E
4@0.1>0!7"./)/0$OI!".1*#%@>)" P O@)+>)"%3:*5".$ONm1OV1"(W82(U#(7"%@"%@Q1*ONsI(*(*O$#,(WC2(W1*!fE[J@L"%@1<Nr#((*O$#\(*C2(D1! !%@)(*I(D19(%-Z1>0
-R$O$#_]7O@)+;<1#".$Z"o1* P <1O5(=R1"%(*82(EU4@n".@Q1<Nr#((W#$#`(WC2(W1*!}=&)(W1JA)9(W1V3211V".$#$Z#@)O@0+:I((W#$O5(!S)/0*/?*$#C:/M(*O1*#%@
1>0"%@1<Nr#((*O$#`+%&)@S'".@)3f1>0!@iA)*=1*:30(W1*_C:1>0=#@)O@0+ #((W#$#=6M-R%1>0#@)!%O@)+;#((W#$#!"%@i32 "%@C30"%
".+%E
4$O$k1>0(*\1"%(*82("%*\>)"%3:*5".$ONm1O\O@ @)"_1&0*,".@?3;1>0".@Q1*ONsI(*(*#$O,(WC2(W1*]&0$#3:6?!%@)(*#30!3
1>?" P J-t"%O$#3S2<-K".@C
.O1(H19"%(*82(U-t".#$#(U1!%/0$#16?!-R%V1>0`*(*/M%@)32#@0+32"32$#O@05(!E

4/0/0$##"_1*#%@?(J>)" P #@0+;>)"%3f"%$<Ns1*#1"(W82(4"%*,1DC/0I!"%$O$#CL(*".-R1DCQNX<1#".$GrU".@LC%&f1*>0#@08i"%@L^0"./0$#`.-G";>)".93f*5".$ON
1O
(WC2(W1*1*>)".1#(,@0%1,("_-R!1DCQNr!*O1*I!"%$ 3 FH>)#(,"%@)(V1*>)".1`".@Cf-t".#$O&)*.-U" "%$<Ns1*#=19"%(*8kS'O@)!$O&?32O@)+O1(\-t"%O$#&0=1
!!171*>0"(*(*2I"_1*53:325"%32$##@0(S2]&0$I3:(*&0$O1H#@L(W P *,@)(W5aQ&0!@)!(EFH>)#(7
"%8%(U>)"%3 ".$ONs1*#V1"(W82(H!^Q1*!$#C:<1*N
I!"%$mEUO1*I!".$#O1DC;.-["1"%(*8 ".@"%@0+%\-R% !^1*!!$#C !*O1*I!"%$k1*
@0%14(W
O1*I!".$sEF"%(*8:<1#".$#<1DC:1*>0*!-R%,#(7"
32Obk!!@Q1
32#!@)(*#%@L1>)".@L>)"%3i%4(*.-B1,9>)".9"%1*!#p"_1O@ %-G"1"(W8kE\O1*I!".$#O1DC %-G"1"(W8#(\"
"(W&)*`%-K1*>0(W1V%-"
-t".#$#&0*|
1>0>0#+%>0H1*>0`!(W1H%--t"%O$#&0%S1>0%,!*O1*I!"%$'#(U1>0,1"(W8kE
)%U>)".93;"%$<Ns1*#J1"(W82(U#@:/09"%1*I!".$'(*C2(D1!
(!SQ1>041O,6M%&0@)3)(H&)(W&?".$#$OC9".@0+J-R% (* P "%$?I(*!%@)30(1"=-R!]
#$O$#(W5@)30(E\qr1,
"hCL6?@0%1*3i1*>)".1," >)"%3L"%$<Ns1*#`19"%(*8i32(\@0.1,@03L1 6M%/0$#13n]7<1>0O@c1*>)(*>0%*1*5(D1\1*#
/M((W#60$#%S60&21=O1I(!!$#Cd*5a&)O3n1*>)".1`1*>);1"(W8c=&)(W1!%/0$#1*
]7O1*>)O@{1>0:(*/?5OA)3d1O;6M%&)@)3'EfqX@{.1>0!`]U%930(S
1>0!VI(U@0*]U"%3
#@ !%/0$#1O@0+">)".93;"%$<Ns1*#J1"(W8
&)9> "%>0"3
.-<19(H32"32$O#@0EKFH>)#(UI(7".@:#/?W19".@Q1H%6)(*! P "_1*#%@
"%@)3;1>0I(7]&0$I3;19".8%"
!!@Q1*9".$k/)"%W17#@&0J32I(*!&)((W#%@)(H@:19"%(*8:(9>032&)$O#@0+O@1>0@0^171D]U9>?"./21!9(!E

# / % 12  #&%' 

/  P !C=A) "%$<Ns1*#J1"(W8


I(H"%((W2!#".1*3;]7<1>(*%\/0*532A?@03 32"32$O#@0\6?!-R%V]7>)#9> <17I(
aQ&0#*531*`/0232&)!J<19((*&0$O1(E4_] P !5S.&0@)$O#8%4"`>)".93*5".$ONm1OH19"%(*8MS P !@
]7>0@;",A) "%$<Ns1*#H1"%(*832(@).1!%N
/0$#1H]7<1>0O@O1([325"%32$##@0%S_1>0J(*C(W1* 32(@0%1K-t".#$mE[FH>0H$I"_1*U(*&0$<19([".*$OC=30#(!"%3253'EZqX@.1>0!K]U%930(Sh1*>07&21O$#O1DC`.1>07*5(W&)$<19(!%/0&2136C="VA)g*5".$ONm1OU1"(W86M!%(Kp!"_-B1*K1*>07325"%32$##@0%EKO+?E (9>0".1*I!"%$O$#C`(W>)_]J(Z1>07&21O$#<1DC
%-1>0*5(W&)$<19(H/0*232&?36C:"A) "%$<Ns1*#V19"%(*8 "(7"=-R&)@)o1O@L.-1*#EqX@LO+?E <14".@f6M`(W!@ 1*>)".14<-1*>)*5(W/M%@)(*
1OH.-k"J19"%(*8^030(1*>)H(*/MOA)53325"%32$##@0%S_1>0!@1*>)U&01*#$OO1DC`.-?1*>0H(*&0$O1(6?55(p!!,".@)3`1*>0H(*&0$<19(K".U32I(!".93253'E

Utility
100%
Deadline

0
#+%&0

(

Response Time

J1*#$OO1DC %- l 5(W&)$<1J%-K"O

l 5".$ONrFH#`F"(W8
]7O1*>LFH#

#* *5".$ONm1O19"%(*82(71DC/0I!".$#$#Cf"%6?&0@)3f#@i=&)$<1O30#""./0/)$OI!".1*#%@)(EJFH>0`-R$O$#_]7#@0+:".1D]U;^0"%/)$O5(J.-[A?*
1O,1"(W82(

(
 # <159;5   /  <9-#*36

*5".$ON

qX@ " P #32{%@0-R!!@)!O@0+e"./)/0$OI!".1*#%@S P #30!d-R"%(


".@?31>0i"%%/)"%@CQ#@0+e".&)30O{".
@ P !*1*53O@Q1*/)"98%19("%@)31"%@)(WO1W13:1*`1>0,*5 P !G P !U"=@0!1D]*8kEKJ_]U P !5S(*%4-R9".5(G
"hC+%!1H32$#"hC3
"_1J32ObM*@Q1H@)30(732&0#@0+1*9".@)(*<17@"/)"98%1*Nr(*]7O19>053;@0!1D]*8;32&),1*
@0+%5(D1O@ "_1J32Obk!!@Q1J@0232(E[FH>0I(7
"hC


     ! "#%$&'(%)%
*+-,./10"1 $ %$& !2 23546*/
7%$&$&*8 *9$&*$&* (%
:; 0,.$&!#(=< >:,.$&!& %:; 0?-><@%><@8$&!&;$&$ *A8% %  3

Version 2 CSE, IIT Kharagpur

*5(W&)$<1\O@ P ".CQ#@0+a&)!&0#@0+f32!$I"hC2(4!^/M!#!@)!3i6CL/)"98%!1(41*9" P !$#$#O@0+ ".$#%@0+32<bk!!@Q1%&21(E P @i]7>0@n/)"98%19(


1*9" P (*1*>0(*"%:*&21*SK(*%;/?"%98%!1(`".@e19".8%:=&)9>*1O 1*>)"%@e1*>0 .1*>)!=/?"%98%!1(32&0
1i1*>) (*/?5OA?
1*9".@)(*#((*O@Y(W1*9"_1*+%C{&)(*3 "_1
1>0L@02325(!Ew*@i%f30#(&)((*O@)(%@Y1*>0I(
I(*(*&0f#(;+% P !@YO@j>)"%/21* E uv>)!@v"
W19".#@:-R9".,#(J6?O@0+
/)$#"hC3'S2O-K(*%,/0!32#@0+-R"%`".* P 5(".171*>0!! P !5S1*>)!@1*>0I(H-R9".I(H.-K@0
&)(*,"%@)3
#(730#(!"%3253'B
E V&0,1*1>0I(7*5"%(*%@S2]7>)!@L"-R"%\I(J32$#"hC3 6C:%\1*>)"%@f("hC;@0`(W5@)3'S0O1J#(4(W#/0$OC32I(*".9323
"_1H1*>)*5! P WNr!@?3;]7O1*>0&214!"%*CO@0+%&214"%@C;/0!((W#@0+%@<15E

2!1&:# !  3 $ ! /  9 # <65  <1% %45 1%' =!

1
0
9'  

 ()
  %@)(*I32!:"y(*".1*!$#$#<1L1*>)".1:19".8%5(;/0Io1&0(;%-`".@v!@)!=C
1**<1%Ci".@)3e6M"%
(<1=1*i"f+%%&)@)3c(W1".1*#%@{/0&21*-R9".
6Ci-R9".%EFH>0;+%%&)@)3c!%/0&21!`/)*25(*(*(,5"%9>
-R"%[1*4A)@)31>0G/M(*O1*#%@)"%$Q32Obk!!@)!G.-)30<bk!!@Q162zD1(Z.-0#@1!(W1]7O1*>*5(W/M1Z1*J1*>0OK/M(*<1O@O@=1*>0/0* P O&)(
-R"%41301**#@0\1*>0, P !@Q1(U.-1*>0,@0!C%E[uv>0@:1>0,+%%&0@)3 /)&21*7#(H P !$OQ"%3253'S"@0]j#"%+%\
"hC
6?,!! P 3  P !@6?!-R%".@%$I32!H#"%+%,I(U1".8!@&0/-R%7/025(*(*O@)+)EqX@ 1>0I(7!"%(*%S1>0%$I327O
".+VI(H.-K@0%1H&)9>
&)(*%E[J@),1>0%$I32!7#
".+(U
"hC;6?`30#(!"%3253 "%@)3:1*>0!!@Q1*$#C; P 3 O
"%+%&0$#3 6M/0*2!((W53'E

)%HA) "%$<Ns1*#V19"%(*82(!S1>0="%((*!#".1*53
1*#6?&0@)30(71DCQ/)#".$#$OC "%@0+%V-R*}"-R!] O$#$#(*@)30(U1;(W P !9".$k>&0@)30*530(H.#$O$#Z(*@)30(E

Utility
100%

Deadline

0
#+%&0

,(

Response time
J1*#$OO1DC:%-1>0 l (*&0$O1(JTG*232&?3:6C:";.-B1 l ".$ONXFHOF"(W8;V(Jw0&)@)o1O@%-KFH#

5!12  #&%' 

0
 / 2.-B14"%$<Ns1*#1"(W82(J"%$#(*
>)" P ,1O`6M%&)@)30(\"%((W2I"_13 ]7<1>L1*>)!fEJJ_]U
%" @)3A) "%$<Ns1*#J19"%(*8(S.1>0J1O#@0+%@?(D1"%O@Q1(%@:(*.-B1U*5".$ONm1O719"%(*8(".J@0%1G^2/0((W53
"%(".6)(*%$#&21*
1>0`@)(D1"%O@Q19(U"%*,!^/)*5(*(*3:!O1*>0JO@1!(H%-Z1>0`" P "%+%4(*/M%@)(*\1*#5(7aQ&0#*53'E

P ! 5S0&0@0$#O8`>)"%3
P ".$#&0(EqX@?(D1"%3S

 3# b5 / %  5 / 9-


5 9;2! /

4@n^0"%/)$O.-"(W%-B1V"%$<Ns1*#`1"(W8LI(\]6i60_]J(W#@0+?E %"%$O$#C%S'".-B1*!,".@

.
l

 
I(7$##983'S1>0*(*/?@)32#@0+=]U!6/)"%+%\#(U-R!19>053"%@)332#(*/0$I"hC%53;]7O1*>0#@L"!%&0/)$O\.-K(W5%@?30(H%@ 1*>0" P !9".+%E4_] P !5S
]7>0@e<119".8%5((W P "%$#@&21*5(1*L32I(*/0$#"hCc"f*5a&)(W1*3c/)"%+%%S]
(W1*#$O$32L@0.1=!%@)(*I32!,1>0;(WC2(W1* 1*f>)" P -t".#$O53'SZ60&01
!!$#C;!^/)*5(*(1*>?"_171*>)/?W-R*
".@?,.-1*>0`(*C2(D1! >?"%(732+%9"%3253'E
4@0.1>0![!^2"%/0$OH%-k",(*.-B1".$ONs1*#U19"%(*8`#(G"419"%(*8`>)"%@)32$#O@0+`"\aQ&05(D1K-R%",(*".1*5(W P "_1O@=#@
"V9".#$#]U"hC(*! P "_1*#%@
"%/0/0$##"_1*#%@ZE V@);"aQ&0(W1-R%(*! P "_1O@cI(,
"%32SZ1>0
*5(W/M%@?(W
(*>0%&0$I3d2!&)]7<1>0O@ %f(W5%@?30(,%@d1*>);" P !9".+%E
FH>0
(*/M%@)(*"hCn!O1*>06?
#@d1*>0
-R* .-7" /)*#@Q1*3c1#981%`"%@e"%/?$O+%CL((".+%%@{"!&0@Q1.-&)@)" P ".#$#"%60O$#O1DCi.(*".1(E=J$O1**@)".1* P $OCS']O+>1`(W1".1*1*>0
@)(W1*9".#@1\%@c1*>01*I98%!1*#@0+ 1"%(*8i"%( VU1$#"(D1,O@e!"(W.-  }%-(*! P "_1*#%@
aQ&05(D19(!S1>0,1*I98%!17(*>0&0$#3 6M/0*2!((W53 "%@)3:/)*#@Q1*3#@f$O5(*(U1>)".@ .(*@)30(E

4*

(

17&)(7@0_] ".@)"%$OCpV1>0#/?"%o17%-1>0,-t".#$O&)*,.-["(W%-B1J*5".$ONm1O\1"(W8;1*!1V<19(732"32$O#@0S06C
1"%8Q#@0+1*>)`^0"./0$#
%-[1*>0"%O$#]U"hC:*5(W P "_1O@1"%(*8kEJqr-[1*>)`1*I98%!1VI(J/0#@13L#@n"%6?&21 .:(W5%@?30(!SM]U-R!$Z1>)"_1V1*>0(WC2(W1*! I(4]U%8O@0+A?@0
"%@)3f+%!1V"-R!$Z%-K>?" P #@0+;621"%O@)3O@?(D19".@Q1V(*&0$O1(EHV(4"%$O"32C (W1".1*3S)#((*3L325"%32$#O@)(J%-(W%-B14*5".$ONm1O19"%(*82(J32;@0%1
(*&0$O1U#@ (*C2(D1!-t".#$#&0*5(!EKJ_]U P !5S%1>0\&21*#$OO1DC
.-Z1*>0\*5(W&)$<19(/)*232&)!3
6C;"(W%-B1U"%$<Ns1*#J19"%(*8-t"%$O$I(H@1O@&0&)(*$OC]7O1*>
1O"_-B1*41>0=!^2/0OCf.-[1>030"%30$O#@0"(V(*>0_]7@L#@c#+)E 2EVqX@nO+?E 2S?1*>0&21O$#<1DCf%-1*>0*5(W&)$<19(4/0232&)!3i"%* %

*

Version 2 CSE, IIT Kharagpur

O-/030&)53f6?!-R%1*>032"32$#O@0S?"%@)3i"_-B1!41*>0=30"%30$O#@0=I(J/?"%((W53:1>0=&01*#$OO1DCf.-K1*>0*5(W&)$<19(4(*$O_]7$#C;-t"%$O$I(J%bd]7O1*>L1OE
)%7(W%-B17*5".$ONm1OV1"%(*82(1*>)".1U1DC/0I!"%$O$#C;2!!&0HO@/09"%1*I!".$'"%/0/0$##"_1*#%@?(!SQ1*>)V1O6M%&0@?30(H&)(*&)".$#$OC
9".@)+%V-R* "=-R9"%1*#%@
%-K"(*@)3:1*
"-R!](W5%@?30(!E

5 I12 #:%' 


 / }@0@2Ns"%$<Ns1*#;19"%(*8dI(@0.1;"(*(*2I"_1*53e]7<1> "%@Cc1Of6M%&0@)3)(!E U"%@yC%&{1>0O@)8.-V"%@C
!^2"%/0$O,%-"@0%@0Ns"%$<Ns1*#419"%(*83!@L(W17.-Z1>0#@1!9"%1* P ,%/0&01"_1O@)(HC%& /M!*-R% @0_] "30"hC2(U"%*\>)"%@)32$#36C:(W%-B1
"%$<Ns1*#1"(W82(E4_] P !5Sh".6M%&211D]V%1*>0!H325!"%30(6)"%98kS_]7>0@/0&21*(]U!G@0%1#@Q1*!9"%1* P U".$#Q(D1K".$#$Q1"%(*82(Z]U!
@0@2Nr*5".$ONm1O%EKv-R] ^0"%/)$O5(.-@)%@2Nr*5".$ONm1O719"%(*82("%* Z6)".19>;/025(*(*O@)+7zD%6)(SQNr"%O$sS2".@)3;6)"%98+%%&0@?31"%(*82(G(*&)9>
"( P @1H$#%+%+!9(!E %&
"hC
>0_]U P "%*+&041>)"_17 P !@:1*>05(W\19"%(*8(SO@ 1*>),(W1*Io1J(W@)(*V%-Z1*>)V1!fS032>)" P \!*1"%O@ 1*#
6M%&0@?30(!E7)%4!^0"./0$#%S?"%@LNr
".#$#(4^2/Mo131;*5"%9>fO1(430(W1*#@)"_1O@i"_14$#"(D14]7O1*>)O@n"
!%&0/)$O`%-[>0%&09(7%-K6M!#@0+:(*!@Q15E
#O$I".7I(U1*>)`!"%(*\]7<1>f"6)".19>/0!((W#@0+VzD%6L(*&)9>"(U/)"hCQNr(*$O#//0*#@Q1*#@0+)EKuv>)".171*>0@f*5".$#$OC
I(U1*>0`30<bk!!@)!,6?!1D]!@
"@0@2Nr*5".$ONm1O\1"(W8".@)3f";(*.-B1J"%$<Ns1*#,1"%(*8 3n)%J@)%@2Nr*5".$ONm1O\1"(W82(S21*>)="%((W2!#".1*3:1*#`6M%&0@)3)(4".\1DC/0#".$#$OC .1>0V30!U.-Z"=-R!] #@Q&01*(S>0%&)(%U P !@ 3)"hC(EqX@ @Q1*9"%(W1S1*>0V1*#V6M%&0@?30(H"%((W2I"_13
]7O1*>(W%-B1U"%$<Ns1*#J19"%(*8(U".
".1HQ(D1J%-Z1*>)%932!7%-"-R!](W5@)30(E

-(

  L
  )L

ud=>)" P `(W!@L1>)"_1V1*>0*1*@05(*(H%-*5".$ONm1O19"%(*8(V32!/M!@?3L6?%1*>i@f1*>0$O+%I!"%$*1*@05(*(H%-[1*>0*5(W&)$<1V"(J]U!$#$"(
@
1*>0,("_1*I(W-t"%o1O@;.-'1>0,%(*/?@)32#@0+1*#O@)+!%@)(W1*9".#@Q1(EFH>0V1*#O@0+@)(W1*9".#@19(G"(G]UV(*>)".$#$k(W4#@;1*>)#(75o1*#%@ZSQ#@
-t"o17"./0/0$#C1*!*1"%O@: P @Q1(O@:"(WC2(W1*E[FH>05(WV P !@Q1(
"hC6M\+%!@)!9"_1*536C1>0V1"%(*82(1>0!
(*!$ P 5(G1*>)V@ P #*@0!@Q1
%-[1*>0(WC2(W1*!fE44@n!^2"%/0$O=.-G(*&)9>i".@i P @1V#(41*>0 P !@Q14.-G"o1 P "_1O@i.-":%1*E l !=6M!V1*>?"_141>0*5(W&0$O1(4
"hC
6M
+%@0!9"_13n".1`32<bk!!@Q1,1*#(`"%@)3c<1`
"hCL@0%1,6M
#@c1>0-R% .-H"f(W#@0+%$#%@01O
(*&0$<15Eud
=&?(D1,A)9(D1/0%/M!$#C
9>)"%"o1!OpJ1*>) P @Q1(H#@f"(*C2(D1!fS21*&0@?32!9(D19".@)3:1*>),1*##@0+
6M!>)" P #%7%-".$ONs1*#(*C2(D1!
(!E

 !#    
*

&( * )

    /   

4@ P !@Q1=
"hCn6M:+!@0".1*3d<1>0!6QCc1*>) (*C(W1*
!$#"(*(*<A?3 O@Q1*1>0,-R%$#$O_]7#@0+1D]U1DC/M(

!$#&%< 

 =! (

  5

 =! (

(

`O1(!@ P O%@0@15ELU"(W53d%@e1*>)#(@)(WI32".1*#%@S P @Q1(=".@{6M

 1   =Q1*#=&0$#&)( P @19(,".+!@0".1*53i6CL1*>)
!@ P O%@0@1".@?3d"o1%@c1*>);(WC2(W1*!fE
FH>05(W P !@Q1(,".@
6? /030&)53"%(*C@)9>0%@0&)(W$#CytmE %Ee"./M!O232I!"%$O$#C0oEn)%^0"./0$#%S"L&?(W/0((*O@0+c"L60&21*1*%@Y%@"i1*!$#!/)>0%@0(W!1
+%@0!9"_1(U"(W1*#=&0$#&)(U P !@Q1H1*"%1U@:1>0\1*!$#!/)>0%@0,(*C(W1*fEGQ1*#=&0$#&)(H P !@Q19(".@f".$I(W6?,+%@0!9"_13:/?*#232#".$#$OCE
4(7"%@#@)(W1"%@)S0%@?(WI32!U1>0/?*#232I(W@)(W#@0+.-1*>0,1!/M!9"_1*&)*%-Z1*>)*5"%o1%H#@f"@&)!$O5".7/0$I".@Q1E
 1  
l (*/?@)(W P !@Q1("%* &)(W&?".$#$OC{/0232&)!36Ce1>0L(WC2(W1*! #@ *5(W/M%@)(*;1d(*%f(D1O&0$#&)( P !@Q1(E
l  (*/M%@)(*J P !@Q1(U"%1@
1*>0\!@ P #*@0!@Q1EK0!^2"%/0$OSQ!%@)(*I32!H"=9>0#".$)/)$#"%@1H]7>0*4"((*%@:"([1>041!/M!*N
"_1&0*U^0!!3)( % VSh1*>)H(*C2(D1!g(*/M%@)30(6C=(*]7<199>0#@0+V%b
1*>0H>05"_1!5E4!%S_1>0H P @Q1%-)1*/?".1*&0H^032#@0+
 I(J1>0(W1*#=&)$O&)(\".@?3i(W]7O19>)O@0+:.be.-[1*>)=>05"_1*4I(J1>0=(*/M%@)(*%E l (*/?@)(W P !@Q1(V!".@L<1>0!\6M=/M!O232I
%7"./M!#30#%E

4@v P @Q1:
"hCY<1>0! 6?cO@)(W1"%@Q1".@)!%&?(
%;
"hC >)" P i!!*1"%O@ 32&)".1*#%@Ew0:!^2"%/0$OSJ"{60&21*1*@ /0((
 P !@Q1:I(
3 5(*!*#6M3c6QCn1*>0;30&0".1*#%@c-R%]7>0I9>d1*>0
6)&21W1%@e]U"(,8%/21`/0((W53'E;%;".&01*>0(,".+%&)=1>)"_1=32&)".1*#%@)"%$[ P @Q1(".
2
"%$O$#C@).1U"`6)"%(*#71DCQ/M4%- P !@Q1SQ60&21H!".@:6?V^2/0((W53&)(W#@0+`%1*>0 P @19(!EqX@
-t"o1SQO1UI(/M((W#60$#J1@)(*#32G"=30&0".1*#%@
 P !@Q1V"(4" %60#@)"_1O@%-[1D]: P @Q1( H":(D19".*14 P !@Q1V".@?3i".@L@)3L P !@Q1EV0%V^0"./0$#%S?1*>)=60&21*1*@i/0((J P !@Q1V".@i6M
325(*!*#6M36C:"
=60#@)"_1O@ %- (W1".*1760&21*1*%@L/)*5(*(x0".@)3 !@)360&01W1*@f/0*5(*(x0 P !@Q19(!E4_] P !5S<1JI(7%-B1*!@L!%@ P @0O@Q1U1
19".#@
1*>0\@0%1*#%@;%-Z"=32&09"_1O@)".$M P !@Q1EKqX@
1>0I(G1^1S]UV!%@)(*#30!H32&09"_1*#%@?".$) P @19("("(W/M!#"%$M!$#"(*(G.-Z P @19(!E 4(*#@0+
1>0`/0!$#O#@)".C:@).1*#%@?(4".6M%&014 P !@Q1(J30#(&)((*3f#@f1*>0I(4(*&06)(*1*#%@S?]=!$#"(*(*O-RC P ".O&)(H1DC/M(J%-K1*##@0+:!%@)(W1*9".#@Q1(7#@
(*&06)(*1*#%@ E E E

(



Version 2 CSE, IIT Kharagpur

  

  2

) *

*  +



       

% 

   *    

$I"%((*<A?"_1O@L.-G1>032<bk!!@Q1,1DC/?5(\.-1O#@0+L%@?(D1"%O@Q1(4#(,#/?W19".@Q1E .1%@)$OCf]U%&0$I3iO1+% P =&?(\"%@n#@)(*O+>1,#@1


1>0
32<bk!!@Q1,1DC/?5(,.-1*##@0+L@)(W1*9".#@19(V1*>)".1".@c^2#(W1O@e"f(WC2(W1*S'6)&21`<1`".@e".$I(W >0!$#/c&?(\1*LaQ&0#98$#CL#30!@Q1*O-RCi1>0
32Obk!!@Q1,1*##@0+i!%@)(W1*9".#@Q1(41*>)".1=!".@c^2I(D1,-R% "f!"(W&?".$K^0".#@)"_1O@n%-U"/0%60$#!fEFH>)"_1I(!S#@{"%3030<1O@n16M1*1*
&0@?32!9(D19".@)30O@0+4.-21*>)G6M!>)" P #%%-)"J(WC2(W1*ShO1".@="%$#(*7$O!1&)(]U%84%&01Z1*>)(*/?5OA?!".1*#%@.-)"J*5".$ONm1OG(*C2(D1!"%!!&09"_1*$OCE
V<bk!!@Q11O#@0+i@)(D1"%O@Q19(\"(*(*2I"_13c]7<1>e""%$<Ns1*#(*C2(D1!
6M!>)" P #%9".$'@)(W1*9".#@19(!E

!".@d60"32$OCn6?;!$#"(*(*<A?3cO@Q1*L/M!*-R%
".@)!"%@)3

2T;|i 1|UqZrvX T0X  r$OxSF|~Z;Vr$SQOYZ}|~TSFp$T0X  r$OxSF|~Z;Vr$SQO SFpRZ$SYZ}|~T"VU{};OMT]L2r0SFpRTL|TO {}2rROxT}<SFp$TOxP$OxSQT}U`T;pRZ$y;V 1|~Z[


X)2rROQSF| Z;VrSQOZ;|TSFpRT0X 2rROQSF| Z;Vr$SQO SFpvZ$SZ;|~T`VU{};OMT]L2r0SFpRT0OQSwVUu[ V -T}rRT}| Z$SQT] P0SFpRT0T}r$y;V| r-UT;rS)

U!>?" P #%9".$0!%@)(W1*9".#@Q1([@)(*&0*H1>)"_11*>0V!@ P O%@)@Q1.-Z"`(*C2(D1!


@)(W&)*\1*>?"_171*>)`%/0&01*!J(*C2(D1! /M!*-R%
(7(*".1*I(D-t"o1%O$#C%E
"%9>:%-

C D  H}D

 IC".@)3

4$#"hCf%@)(W1*9".#@Q1

45"%32$##@0=%@)(W1*9".#@Q1

4&)".1*#%@i%@)(W1*9".#@Q1

#(G]$O$M6?>)" P 53'S%]7>)!"%(/?W-R*
".@?J@)(W1*9".#@19(

GIC   &HvD  @)(D1"%O@Q19(U".@ -R&0*1*>0J6?`!$#"(*(*OA)3 O@Q11>0,-R%$#$#_]7O@0+1>0*\1DCQ/M((

)(

ud@0_] !^/)$#"%O@1*>)(*V1>0!`$I"%((*(U.-[@)(D1"%O@Q19(

1&

LB

), 32!$I"hC{%@?(D1"%O@Q1"./21&0(=1*>0   
  1*#{m32!$I"hC0,1*>?"_1
=&)(W1!$I"./)(*:6M1D]U!@y1>0 2&0*@) .-J1D]U
"%*60O1*9".C P @Q1( "%@)3 .E`J-B1* 2!!&0(S'O- =2!!&09(V5".$O#!41*>)"%@n1>0  
    _S1>0!@e"32!$I"hC P #%$I"_1O@iI(
(".I3;1
2!&)E[w32$#"hC:!%@)(W1*9".#@Q1U@:1>0 P !@Q1 !".@6M^2/0((W53:%V-R%"%$O$#C:"(U-R%$#$O_]J(
5

`B -C vE

  


 

 !
J"%@)3 


(



LB -C vE

uv>0*  G".@)3  "%*H1>0J1OV(W1"%/)(@1*>0V P @Q1( 



(*/?5o1* P $OC".@)3
I([1*>)  
   
(W/M!<A?3
-R% .E32$#"hC
!%@)(W1*9".#@Q1U@;1*>)\ P @19( \]7O1*>*5(W/M11=1>0, P !@Q1 I(U(*>0_]7@ /0#1**I".$#$OC
#@f#+)E 0EKqX@#+)E )S
32@0.1(V1*>)"o1*&?".$[(W/)".9"_1O@LO@n1*#6M1D]U!@i1>02&0*@).-1>01D] P !@Q1(! "%@)3 ".@)3c3iI(41>0*5a&)O3
#@0O&0}(*!/?".9"_1*#%@ 6?!1D]!@1*>),1D] P !@Q1(m32!$I"hC0oEKqr1JI(7"(WC
1
(WV1>)"_"
1 ,&)(D1J2&0J".-B1*!J".17$O5"%(W143:1O&0@)<19(
>)" P V$#"%/)(*3(W#@),1>02!!&0*!@?\.#
- S2.1>0!]7#(*,](*>)".$#$'>)" P ,"32$#"hC P #%$I"_1O@E

>= d
d
t=0
#+%&0 

1<:#*3

t(e1)

t(e2)

V!$I"hC@)(D1"%O@Q1JU1D]U!@FH]U 

LB

R*

P @19(H ".@?3:

30"%30$O#@0%@?(D1"%O@Q1\"./21&0(41*>0/M!I((W#60$#$ &% 
  (W/)".9"_1O@L6?!1D]!@e".@C1D]f".60O1*9".C  P @19(
ELqX@%1*>0=]U%930(S1*>) (*@)3e P !@Q1 tmE %E  =&?(D1`-R$O$#_] 1*>0:A)9(D1= P @1RsE E o]7O1*>0#@{1>0:/M!#((W#60$#

"_^2#=&0 (W/)".9"_1O@n1OEL@)(WI32,1*>)".1  `".@)3   ".1*>0
1O:(W1"%/)(%@d1>0
2!&)*!@)!.-H1*>0: P @Q1((
"%@)3) ,(*/Mo1 P !$#C "%@)3
I(H1*>0    "%(J(*>0_]7@f#@f#+)E EGqX@i#+)E 2S
32@0.1(H1>0="o1*&?".$(*!/)"%".1*#%@6?!1D]!@
1>0;1O;%-J&0!@)!
.-H1*>0:1D]L P @19
( "%@)*
3 .S[".@)3{3#(`1*>0:30"%30$O#@0%Ei}32"32$#O@0 %@?(D1"%O@Q1`#/)$O#(=1*>)".+
1 

"%@)3

' 

 
;C 7C


*.

Version 2 CSE, IIT Kharagpur

&)(D1\2!&)4]7O1*>0#@n3f1O=&)@0<19(4%!%@)(W1*9".#@Q1

(

 x (J2!!&0*!@?%E7ud".@i"%$<1!@)"_1 P !$#C (W1"_1`1>)"_1   4".@)3 


  !

 h7&)(W1V(*".1*I(D-RC1>0

  

<= d
d
t(e1)

t=0

#+%&0

t(e2)

V"32$#O@0@)(W1*9".#@17U1D]U!@FH]U;

R*

P @Q1(U ".@?3 

FH>0,325"%32$#O@),"%@)3:30!$I"hC;%@?(D1"%O@Q1(U!"%@;-R&0*1*>)!H6?!$#"(*(*<A?3;#@Q1*1D]U`1DC/?5(H"9>:6)"(W53;%@ ]7>01>0!U1>0%@?(D1"%O@Q1
I(HO/M(*3%@ 1*>)`(D1O&0$O&?(7%7@:1>0*5(W/M%@?(W, P !@Q1E[FH>0I(7>)"(H6?!@f^2/0$I".#@053:]7O1*>L(*%,^0"./0$#(H#@i%EE 2E

\*

Public
Switched
Telephone
Network
(PSTN)

Telephone
System

Call
Receiver

Call
Initiator
Environment

2(

#+%&0  29>)!
"_1# l /0*5(W@Q1"_1O@ %-"
F!$#!/0>)%@0`C2(W1*!

/ !$#&5


B 32&)".1*#%@ %@?(D1"%O@Q1%@v".@  P !@Q1;(W/M!<A)5(1*>)f1*#L/M!#3  P !]7>0#9> 1>0L P !@Q1;"%o19(!E 30&0".1*#%@
! %@)(W1*9".#@Q1[".@!O1*>)!6MJO@)O&0 1DC/M7%[
"_^2#=&0 1DC/?EKFH>)7#@0#=&0 1DC/?V32&09"_1*#%@@)(W1*9".#@1[aQ&0#*5(1*>)".1G%@?
1>0: P !@Q1=(W1"%W19(!S1*>0  P !@Q1==&?(D1=@).1=@)3{6M-R%;"i!!*1".#@{O@)O&0 32&09"_1*#%@Z[]7>0!"(`"f
"_^2O&0 1DCQ/M 30&0".1*#%@
!%@)(W1*9".#@Q1UaQ&0#*5(U1*>)".1J%@)!\1*>0 P !@Q1J(W1".*1(S1*>) P @Q1H&)(W1H@)36?!-R%"
!*1"%O@
"_^2#=&0 30&0".1*#%@!$I"./)(*(E
5



  

* 2)+

  
 




       %

/  

  *-   

ud:#$O$#&)(W1*9"_1
1*>032ObM*@1$I"%((W5(.-71O#@0+n@)(W1*9".#@19(6Cc&?(W#@0+L1>0:!^2"%/0$O5(-R% "f1*$O/0>0@0:(*C(W1* 32#(&?(*(*3
#@j sEc (9>0!
"_1#:32#"%+%9". .-J"f1*$O/0>0@0 (*C2(D1! #(=+% P !@{#@y#+)E )E
%1*
1>)"_1q>)" P 
#@Q1*!@Q1O@)".$#$OCe329"h]7@{".@
$#3Y(D1DC$#3y1*!$#!/)>0%@0S6M!"%&)(*O1(/?".1*#%@yI("(W#!1*d&0@)30!9(D19".@)"
3 YJ!%SG1*>01!$#!/0>0@0>)".@)3)(W!1
"%@)3{1>0LT&06)$OI
]7O19>)3LF!$#!/0>0@0 !1D]*8ctT0F 7"%*@)(*#32*53f"%(J!%@)(W1*O1*&21O@)+1*>0=!%/0&21!4(*C2(D1! ".@)31>0&)(*!9(J"%(H-R*#@0+
1>0V@ P #%@0!@Q15EqX@:1*>0V-R%$#$#_]7O@0+?S]V+% P V"=-R!](W#/0$O\^0"%/)$O\%/M!9"_1O@)(%-1*>0\1!$#!/0>0@0,(WC2(W1*! 1#$O$#&)(W1*9"_141>0
32Obk!!@Q171DC/?5(H.-1*##@0+;!%@)(W1*9".#@Q1(E

Version 2 CSE, IIT Kharagpur

1<:#*3"9-5)! / 2#*=!&

#@{":"%$<Ns1*#(*C2(D1!
(*/?@)(*V1DC/M%E

qX@=1*>0-R%$#$O_]7#@0+?S]UU30#(&)((Z-R%&0K32ObM*@11DC/?5(%-)32"32$#O@0U@)(D1"%O@Q19('1*>?"_1K"hC,6MI32@1<A?3
30!/M!@)32#@0+L@c]7>0!1*>0,1*>01D]Uf P @Q1(\O@ P %$ P 3nO@{"f325"%32$#O@)!%@)(W1*9".#@Q1,"%*(W1*#=&0$#&)(\1DC/?


!$#&%< 0 !#:%(3* 8 00< qX@1>0#(G!"%(*%S.1*>07325"%32$#O@)7#([32!A)@0536M1D]U!@=1D]U(D1O&0$#mE[FH>0I(K#(["\6M!>)" P #%9".$2@)(W1*9".#@15S


(W#@)!41>0\!%@)(W1*9".#@Q1UI(UO/M(*3:%@;1>0(W5@)3; P !@Q1H]7>0I9>:I(U"(W1*#=&0$#&)(EJ@:!^0"./0$#V%-".@f01DC/M,.-325"%32$##@0
@)(D1"%O@Q1H#(U1>0,-R%$#$#_]7O@0+8(
7 =Rs 2=v7}22 17 =$R-   1

 7;=}-;R 8--2 7}12$
;2;;28
 - --;; v22}  12-=}

qX@:1>0I(7^0"./0$#%S1>0`32I".$#O@)+1D]@)(W5&21 P 32O+<19(H*/0(*!@Q1(U1>0,1D](W1*#=&0$#'1*1>0,1*$O/0>0@0(WC2(W1*!fE

!$#&%<   5 "8 0

< qX@,1*>0I(Z"%(*%S!1*>0G30"%30$O#@0I(32!A)@03,@\1*>0(*/M%@)(*[ P !@Q1S5"%(*&034-R* 1>02!!&0*!@?


.-U1*>0 %(*/?@)32#@0+(W1*#=&)$O&)(` P @Q1E FH>)#(I(="f/M!*-R%
".@)!
%@?(D1"%O@Q1S(W#@)!1*>0:!%@)(W1*9".#@Q1#(#/?Q(W53d%@{"
*5(W/M%@?(W\ P !@Q1E[J@L!^0"./0$#\%-"%@L l 1DC/M.-[32"32$O#@0@)(W1*9".#@17I(U1*>0,-R$O$#_]7#@0+

(
7 ; 2 ; R2--22;2;-W vs 7v2; ' =R2-=;-  v7vR
$$ ; ; }28< ; -=; 1;=$;;242-7; 11=;  ;8;- 2;  ;

qX@1*>)#(^0"%/)$OSh1*>0$OO-B1*#@0+\.-01>0!! P Z>)"%@)3`(*1!/)*5(W@19(Z"\(D1O&0$#&)(1J1>0G1!$#!/0>)%@0H(WC2(W1*"%@)3/0232&)1*#%@
.-1*>0`32I".$1*%@)\I(U1*>)*5(W/M%@)(*%E

  50!$#&%<  8QA0<

J*;1*>0:30"%30$O#@0;I(`@e1*>0 /0*232&?o1*#%@e%-J*5(W/M%@)(*;&0@Q1*53d-R* *1 >) *(*/M%@)32#@0+


D( 1O&0$#&)(!E\FH>0I(4I(V":6?>)" P O"%$Z@)(W1*9".#@15S?(*O@?`1>0%@?(D1"%O@Q14I(4#/?Q(W53L%@i1*>0(D1O&0$O&?(4 P ! @Q15EVJ@c^0"./0$#
.-K".@ l :1DCQ/M.-[325"%32$#O@),!%@)(W1*9".#@Q17#(U1>0,-R%$#$O_]7#@0+

8(
7 ; 7}2} ;1 1;7<28R7v77R4 =v 7}1R-$1; ;}28< ; -=; 2
v8v2R;12-7 ; v2-v2-2;}v2; 42;=;

  5    5 $ 8xA<2 J@ lJl 1DCQ/M.-H32"32$O#@0


@)(W1*9".#@1\#(30A)@053d%@i1D]U*5(W/M%@)(* P @Q1(EqX@c1*>0I(!"(WS


%@)!41>0\A)9(D17(*/?@)(W\ P !@Q172!&)(SQ1*>0(*@)3 *5(W/M%@)(*\ P @Q1U&)(D172!!&0H6?!-R%"!!*1"%O@32"32$O#@0EFH>0#(HI(H"


/?W-R*
"%@)=!%@)(W1*9".#@Q1S'(*O@)!`1>01*##@0+f@)(D1"%O@Q14>?"%(\6?!@d32A)@)3i@c":*5(W/M%@)(*= P @15EJ@n!^0"./0$#%-G".@
lJl 1DCQ/M.-[325"%32$#O@),!%@)(W1*9".#@Q17#(U1>0,-R%$#$O_]7#@0+

8(
 7; =$2} =R2;2 ;111 - ;-122R ;28$4=$ ; ' =v =R;2
2}1-=R$- ; ;;8<-2-}  ;-2;}<$ ;2

J*,O@0+6)"981*@0`".@)3:1*>)`%(*/?@)32#@0+#@0+1*%@),"%*\1>0,1D](*/?@)(*V P ! @Q19(!E

1& ) ` 5! / 2#*=!

ud4!"%@#32@Q1*O-RC@0$OC%@)H1DCQ/MJ%-k32$#"hC@)(D1"%O@Q1Jm)1DC/?hKO@1>071*$O/0>0@04(*C(W1* !^2"%/0$OJ1*>)".1G]J"%*7!%@)(*#30!O@0+?E
4_] P !5S%#@.1*>)!U/0*60$#!
(U<1H
"hC
6?\/?Q(*(*#60$OV1*I32!@Q1*O-RC;32ObM*@Q1U1DC/M(U.-32!$I"hC
%@?(D1"%O@Q1(EKJ@)
1DC/MV%-"30!$I"hC
!%@)(W1*9".#@Q1UI(J"6?>)" P O*I".$'!%@)(W1*9".#@Q1E[J@f^0"%/)$O,.-K".@i0:1DC/?%-32$#"hC %@?(D1"%O@Q1H#(H1>0,-R%$#$#_]7O@0+

=;7=$ -8}1-s  8=RR2;8- 7}11-2--1 R; };2

1;=$ ;;242-7; 11=; ;R=};2-2}8 ;2  ;2 ;-

8(

 --; 

4!1>0
32!$I"hCn!%@)(W1*9".#@Q1\I(`32!A)@03c%@d1>0 P @Q1,%-H30#"%$O$#O@)+%-G1>0
@0^1=32#+%O1;t(W1*#=&0$#&)(9,"_-B1!`"f32#+%O1`#(32I".$#$#3
m".$I(W
"(D1O&0$#&)(E
5

/ !$#&5 B

3 &09"_1O@n@)(D1"%O@Q14@c"%@i P !@Q1\(*/?5OA)(V1>0=1OO@Q1! P "%$ P !V]7>0#9>n1*>0 P !@Q1\"o19(!EJ@c^0"./0$#=%-G" 30&0".1*#%@


2
!%@)(W1*9".#@Q1UI(H1*>),-R%$#$O_]7#@0+

(
2;2  - 112}-  ;28}--  - ;; ;;8<nRW;; v7 2-  ;;2-2-2;

 2;2  - 112}-;-2;=};- v=$ - ;21} ;;2 <nRW;;12 v7 2


$2; -=v; '; --2-
 2; 21;212;12 1;-- =-22;1} ;;2 < }}211 
R ;8-12-=} 7}2} 

*;*

Version 2 CSE, IIT Kharagpur

Timing Constraints
Performance Constraints

Delay

Deadline

RR SR SR

RR

Behaviorial Constraints

Duration Delay

RS

SS

Deadline

SS

Duration

RS

#+%&)*  [$I"%((*<A?"_1O@ %-FH##@0+ @)(D1"%O@Q19(

$I"%((WOA?"_1*#%@Y.-J1>0L32ObM*@11DC/M(.-V1*##@0+{@)(W1*9".#@19(`1>)"_1
]U30#(&)((*3#@Y1*>0I(
(W5o1O@yI(
(W>0_]7@yO@ O+?E
%1*;1>)"_1"L/?W-R*
"%@):!%@)(W1*9".#@Q1=!"%@{!O1*>0=6M 32$#"hCS325"%32$##@0%SK%32&09"_1O@)".$[1DC/M%EnFH>):32!$I"hCd%=325"%32$##@0
 E
!%@)(W1*9".#@Q1(H%@f/M!*-R%
".@)!,".@f!O1*>)!J6M lJl % l 1DCQ/M%EUO#$#"%*$#C%S01*>0`6M!>?" P #%I".$@)(W1*9".#@19(H!".@f<1>0!J6M=32$#"hCS
325"%32$##@0%S?%V30&0".1*#%@)"%$'1DC/?E7FH>032$#"hC %430"%30$O#@0=!%@)(W1*9".#@Q1(7@L6?>)" P OJ.-[!@ P #*@0!@Q14!"%@L!O1*>046M l fV0
1DC/M%E

q)) ) )  `


  L3

qX@y1*>0I((W5o1*#%@Y]32(#6?>0_]1*>) 1O#@0+e%@?(D1"%O@Q1(=#30!@Q1*OA)3Y#@ 5.E E E n".@6Mf30!$#$O53'E+@L232!$#$#O@0+c1*#


!%@)(W1*9".#@Q1(`I( P !CdO/M%*1".@Q1(W#@) %@)! "n232$H.-71*>):1O !%@)(W1*9".#@Q1(=O@ "n(*C(W1* #(@)(D1*&?o1*53'S[O1".@(*! P 
"(\":-R%
".$[(*/?5OA?!".1*#%@d.-G1>0
(WC2(W1*E0&0*1*>)!5S'<-7".$#$1*>01*#O@)+f!%@)(W1*9".#@Q1(\#@d"(WC2(W1* ".=232!$#$#3d"%!!&09"_1*$OCS
1>0!@fO14
"hC; P !@f6?&?(W53:1;".&21%
"_1#".$#$OC:+%!@)!9"_1*,232,-R%}<15EGU(*#30(7(*! P #@0+
"%(7"
(*/MOA?"_1*#%@ZS030!$#$O#@0+1*#
!%@)(W1*9".#@Q1(H!"%@ >0$O/1 P !O-RC:".@)3 &0@)30!9(D19".@)3"*5".$ONm1O(WC2(W1*E



bC C

7C

FH>0232$O$#O@)+;"./0/0"9> ]U`32I(*!&)((7>0!I(76)"%(*3@   

    t[ @n(EU4@iK@ #(V"/?_]U!*-R&0$k1*$
]7>0I9>;>)"($#%@0+=6?!@;&)(*3
1*=232$)1"32<1O@)".$M(WC2(W1*(EqX@:".@:[ @SQ"`(W1".1*V#(U32A?@03
#@
1!(G.-'1>0 P ".$#&05("(*(*&03
6C
(WV"_1*1*O6)&21*5(!E[0!^0"./0$#%SQ1*>0,(W1"_1(.-"%@;!$# P ".1*%
"hC6M,32!@0%1*53;#@;1**
(.-O1(H32#*5o1O@)(G%-.1*#%@ZEK4!
32#o1O@ I(H1>0`"_1*1*O60&01*%S26?"%(*3%@]7>0I9>:1>0`(D19"_1(7&0/ZS032_]7@S)"%@)3 (W1".1*#%@0*C ".\32!A)@053'E
qX@"%@K
@ 30!$sSK".1"%@QCc/?O@Q1.-H1*# "i(*C2(D1! !".@{6M:#@".@Cd%@0:.-J"R/M((*O60$#CeO@0A)@0O1*5`@&0=6M!.-J(D19"_1(E
(W1".1*#(,!/)*5(W@13c6Cn"f#!$OEFH>)(*C2(D1! 9>?".@0+(,(D19"_1;32&01*L P !@Q19(41>)"_1=9>?".@0+=1>0 P ".$#&0(,%-DSZ%,!$I"_1O@)(
"%@0+ 1*>0;(W1".1* P ".#"%60$O5(!E(D19"_19>?".@0+I(".$I(Wf!"%$O$#3d"f(D19"_11"%@)(*<1O@E 1"%@)(WO1*#%@e!"%&)(*O@0+ P !@Q1
"hCL!O1*>0
6M".@:#@Q1*W-t"\ P @Q11>)"_1J".V1*9".@)(*<1*1*3 6M1D]U!!@:1*>0,@ P #*@0!@Q17".@)3;1*>0/0&21*7(WC2(W1*! %U<1J&0$I3 "%$#(*=6M".@
#@Q1*!@)"%$ P !@Q1\1*>)".1\I(\+%@0!9"_13i"%@)3i@)(*&03n(*%$#!$#Cf]7<1>0#@n1>0(*C2(D1!fE` 1*9".@)(*<1O@L-R%%@)(W1".1*`1"%@0.1>0!\I(
!/0(*!@Q13`6C=30"h]7#@0+,"\30O1*3".9-R*w1*>)H(*%&)!G1,1*>07325(D1O@)".1*#%@ft(*!J#+)E .EFH>07 P @1[!"%&)(*O@0+"V1*9".@?(WO1*#%@
I(V"%@0@0%1"_13f@f1*>0".9.EJud=8!!/L&0V30#(&)((*O@)(J%-[[ @ 1*
1>0=6?".`O@0#=&) (W#@)=]"%((W&01>)"_1V1*>0*5"%32JI(
-t"%#$##"%7]7<1>6?"%(*#,[ @ 30!$#$O#@0+
.-1*9"%32O1*#%@?".$(*C(W1*
(!E

 C ;C 

C
 bC


=C

ud;&)(*:".@ %  

   e*G[ @c,1*n232$1O !%@)(W1*9".#@Q1(E [ @ ^1*@)30(`1*>0:1*9"%32O1*#%@)"%$
[ @ 6C#@)*/M%9"_1O@0+c1*>)i"%o1O@Y%-,(*1*1*#@0+{"d1*#!;".@?3y1>0L^2/0#C P !@Q1
.-\"c1O!5E FH>0L@0%1".1*#%@)(]Uf&)(Wf-R
!%@)(W1*&)o1O@i.-G[ @i(,".(*#/)$O".@)3c(D1"%O+>Q1W-R%]H".93'EVFH>0*!-R%=9"_1>0!V1*>)"%@n#@Q1*30&)#@0+ 1*>0 -R%"%$O$#C%S']U=>?" P 
#$O$#&)(W1*9"_13 1*>0 1>0*&0+%>f".@^0"%/)$O#@L#+)E %0E[FH>0!^2"%/0$O`(*>0_]7@ O@i#+)E .325(*!*#6M(U1*>?"_1JO-K"%@ P @17 2&09(
]7>0@f1*>0&0!@Q1V(W1"_1`.-K1>0=(*C(W1* #(V( S01*>)!@n"%@i"%o1O@f]7O$#$6M19".8%@L6C(*1*1*#@0+:"1O!V1*:^2/0#*#@L1*>)=@0!^Q1 .
#$O$#Z(*@)30(7"%@)3;1>0`(*C(W1* 1"%@)(WO1(U1
(D19"_1*( 2E

*

I*

*.

Version 2 CSE, IIT Kharagpur

e1/set timer(20 ms)

s1

s2

* 2(

#+%&0 . G@ P ! @Q1*#%@?( V(W53O@A49"h]7#@0+


".@AG[ @

(

udJ>)" P J".$#*5"%32C32#(&?(*(*31*>?"_1 P @19(!"%@


6?V%@?(WI32!31`6?V.-k1D]U,1DCQ/M( K(D1O&0$O&?( P !@Q1(".@)3(*/M%@)(*7 P !@Q1(E
ud=>)"3i".$I(*;32#(&?(*(*3i30<bk!!@Q141DC/M(4.-[1*#O@)+ @)(W1*9".#@19(J#@c5o1*#%@ E 2E )E _w
] ]U`^2/0$I".#@i>0_] 1>0(*=@)(W1*9".#@19(
".@6?232!$#$#36C;&)(*O@0

+ [ @i(E

!#:%(3* 0!$#&%< A8 00<k9-5)! / 2#*=!& !1V&)(\@)(*#32J1>0!^0"./0$#=.-G"%@c0L1DCQ/M=%-G32"32$#O@0@)(D1"%O@Q14]U=>?"%3


2o1O@ E E 2(  =; 7R8v7=R2 ' 1;7}11; 21;1 } 4 ;8;-k 1
7=$2=v 7}R-$  1  <}1 ; ;}28
FH>0I(=>?"%(6?!@232!$#$#3#@Y#+)E * EdqX@y#+)E *
6)(W P ,1*>)".1V"%(V(W@i"%(H1>0`A)9(W1V32#+%O1VI(432I".$#$O53'S?1*>0=(*C2(D1! !@Q1*(J1*>0+>*4]U"%<1V5@)3.4#+%O1wK (D19"_1=".@)31>0`1O4I(
(*1J1.* #$O$#K(W5%@?30(!EHqr-K1*>)=@0!^Q1\32O+<1\32(J@).1V"%/0/?5".J]7O1*>)O@+*%O$#$OK(*@)30(S01>0!@f1>0`1O!\".$I". !^/)O(J"%@)3
1>0;(WC2(W1* !@Q1!9(\1*>0 > J]H".O1U".$#$O`V
@2Ns>)Q8 K (W1".1*;".@?3c"f6M!/0O@)+i(W&0@)3d#(,/)*232&)!3'E:qr-1>0:(*@)3d32O+<1`2&09(
6M-R*.* #$O$#Z(*@)30(S1*>0@1*>0`(*C2(D1!1"%@)(WO1(U11*>0> J]H".O1 ^1VO+<1I
K (D19"_1*E
0

32I(&)((W53O@

second digit/
set timer (5 ms)

Await
Next
Digit

timer alarm/beeping
first digit/
set timer (5 ms)

Await
Second
Digit

Await
Caller
Onhook

* ( @i30!$%-".@L0FCQ/M.- 45"%32$##@0%@)(W1*9".#@Q1
$ 5 $0 !#:%(3* 8Q 0< 9;5 )! /  *# =! qX@v%E E E 0S]Uf>)"%3 @)(WI32*531>0-R%$#$O_]7#@0+d^0"./0$#f.-\"%@ l 1DC/M
%-325"%32$#O@),!%@)(W1*9".#@Q1(  =}- 7}2;2}1 1-8< 7R8v7=$2=v 7}-R=$1; ;;8<
- ;;4 v7vR;2;7 ; v2v2;2;2; v22;2-412-=}

FH>0 K@ 232$k-R%71>0#(7!%@)(W1*9".#@Q17#(7(*>0_]7@O@LO+?E*;0


* EqX@fO+?E*;0* S0"%(7(*Q@"(732I".$k1*@0"./0/M"%(S0"1*#!JI(7(W!1
1!^/)OV#@f%(W5%@?30("%@)3:1*>0(*C(W1*1*9".@)(*O1(1*1*>0> J]H".O1H#(W14V#+%O1w
K (D19"_1%EKqr-Z1>0\1*#7^2/0#*5(G6M-R*V1*>)VA?(W1
32#+%O1U"%* P (S_1>0!@
1>0,(WC2(W1*! 1*9".@?(WO1(1*"%@
#30$O\(D19"_1*V]7>0!4"%@;#30$O71%@0V#(/0232&)53'Es4
1*>0*]7I(WSO-'1*>)V32#+%O1U"%/0/?5".9(
A)9(W1S1*>)!@f1*>),(*C2(D1! 1*9".@)(*<19(U1*1*>)%K J]H".O14!%@)3AVO+<1I
K (D19"_1*E
0 !#:(
% 3*    5 $" 8 0 <2 qX@n%E E 2E )S0]U`>)"%3f!%@)(*#30!3 1*>0=-R%$#$O_]7#@0+
!^2"%/0$O%-".@n l 1DC/M`.-325"%32$#O@)=@2N
(W1*9".#@Q1(  7; 2 ; R2-2 }2;-W v2-s 7}1; ' =v -=;- v7v2$
R=$
1; ;;8< -- --; 1; ;;1 12-=} 17;  ;2 ;- 2;8- ;

FH>0 G[ @232$)-RG1>0#(H!%@)(W1*9".#@Q1G#(U(*>0_]7@


O@O+?E %* 0EK4(U(W@:"%(G1*>0V>)".@?30(W!1I(G$#O-B1*3S0"1*#!U#(U(*1U1*=!^2/0O
".-B1*!,
* (W57".@)31>0J(WC2(W1* 1"%@)(WO1(1 *> 4]U"%<1BVI".$)F%@0$K (D19"_1%Eqr-M1>0432I".$01*%@)J"./0/M"%(KA?(W1S%1*>0@1*>04(*C2(D1! 1*9".@)(*<19(
#+%&0

*

Version 2 CSE, IIT Kharagpur

Await
Second
Digit
first
digit

dial tone /
set timer
(30 s)

Await
First
Digit

Idle

*-*(,@L232!$Z.-[".@

O+&0*

A>

IK

timer alarm / idle tone

l FGC/M\%- V"32$#O@0@)(W1*9".#@1

>

1 J]H".O1J#9(D1VO+<1 (D19"_1*E 41*>0*]7I(*%S2O171*9".@)(*<19(U1* *4]U"%<1 l 5 P ! V@2Nr>0%8 (D19"_1*E

Await
First
Digit
dial tone

handset lift /
set timer
(2 s)

* 2(

timer alarm / beeping

Await
Dial
Tone

O+&0* % ,@L232!$Z.-[".@L l

Await
Receiver
Onhook

FGC/M\%- V"32$#O@0@)(W1*9".#@1

 $ 5 $  5 "8Q < qX@ 5.E E E 0S=]>?"%3w@)(*#32*53 1*>0y-R%$#$O_]7#@0+v!^2"%/0$Oy.-:".@ l4l 1DC/?%-:@2N
(W1*9".#@Q1(  =; =2;  =R2}2- ;1  ;-2 R }27$ =$ 2 2; ' 7v 7R2;
2 ;1--R=$ ; ;}28< ; -=; 2}1 2-}< -2

FH>0 G[ @ 232$Z-RJ1*>)#(,@)(W1*9".#@1V#(\(W>)_]7@LO@n#+)E*  E4qX@cO+?E*  Sk"%(4(*%@i"(J1>0=O@)+


1*@0=I(4/)*232&)!3'SM1>0
(*C2(D1!1"%@)(WO1(V1f"h]H".O1,*#@0+.Nr6)"98 1%@0
(W1".1*".@)3d" 1*##((*1,1!^2/0OO@ f
* (!Eqr-G1>0*#@0+.Nr6)"98 1%@0
"%/0/?5".9(
A)9(W1S1*>)`(WC2(W1*! 1*9".@)(*<19(1* *> 4]U"%<1JO9(W1 V#+%O1w
K (D19"_1%S2!$I(*\O1J!@Q1!9(`> J]H".O1 l !! P !V @2Nr>0%8K (D19"_1%S0".@?3;1>0!".$#$'I(
1!#@)".1*3E

1& `5 ! / 2# =!
( 2-7 7RW8}  17 =RR }8- 7}- ;1; ; ; R4<;12; ;;8
s*;,
*-,
>
K
5  / !$#&
5 <  `5 )! / 2*# =! qX@"%(*G.-M"432&09"_1O@)".$@)(W1*9".#@15S_".@` P !@Q1K#(aQ&0#*53\1*\2!&)Z-RK"V(W/M!<AM32&)".1*#%@EFH>0
!^2"%/0$O%-K"
30&0".1*#%@)"%$@)(D1"%O@Q17]U>)"%3f@)(*#32*53:#@n5.E E 2E I(H1*>)-R%$#$O_]7#@0+8(  2}12 1'21112;
  ;8;-;- 14 ;
; };28R;}1 v8'2  ;} -2--
 2}12 1'21112;
-;--=}; v=  -21;
21; ;;8<nRW;; v7 2- $2-- -=}} '; -2;2-

2; 21}- 12;12 1;--=-22;1; ;;8< }}1 1$ R ; -2;=; 7}1
5
)  
 32!$I"hCn@)(W1*9".#@1`6M1D]U!@d1D]L P !@Q19(,#(=%@0
]7>0*;".-B1*=".@e P !@Q1`2!!&0(S"f#@0#=&0 1*#
&)(D1\!$I"./)(*`6M-R*1>0=%1*>04 P !@Q1V".@i2&05E7uc>)"%3n%@?(WI32!3 1>0`-R$O$#_]7O@)+;^0"./0$#`%-G32!$I"hC!%@)(W1*9".#@Q1JO@d%E





E 2E 
FH>0#
 G[ @ 232!$M-R%HO1UI(7(*>0_]7@;#@#+)E 0EqX@O+?E 2SO-Z1*>)V@0!^1730O+<17"./0/M"%(6M-R%V1*>0".$I".fSQ1*>0@;1*>)\6M!/0#@0+
(*%&0@?3:I(7/0232&)53 "%@)3 1*>0(*C2(D1! 1"%@)(*<19(U1* *"h]H".O1H".$#$O7%@2Nr>0%8 (D19"_1%E

*;,

Version 2 CSE, IIT Kharagpur

Await
First
Digit
ringback tone

ring tone /
set timer
(2 s)

*  (

#+%&0

timer alarm / terminate call

Await
Ringback
Tone

Await
Receiver
Onhook

@i30!$%-".@

FCQ/M.- 45"%32$##@0%@)(W1*9".#@Q1

lJl

Await
Next
Digit
timer
alarm

first digit /
set timer
(10 ms)

*;,2(

#+%&0

2;

next digit / beeping

Await
Next
Event

Await
Caller
Onhook

@i30!$%-K"%@f0FC/?,.-,V!$I"hC%@)(W1*9".#@Q1

"*

FH>0 G[ @ 232$-R%\1*>0I(\^0"./0$#=I(,(W>)_]7@iO@dO+?E 0E .1*1*>?"_1,]>)" P =O@Q1*232&)!3L1D]U:#@Q1**30#".1*(D19"_1*5(


 P @1 ".@?3 J]H".O1  P @1 =1232$Z"32&09"_1O@)".$!%@)(W1*9".#@Q1E

>J]H".O1

K

4>

*;K



FH>0
".#@L".# .-K1>0#(\>)"./21!J]H"%(U1
O@Q1*232&)!C%& 1;(W P !C;6)"(WI@)/21(4".@)3 1**#@0%$#%+O5(H"%((W2I"_13
]7<1>f*5".$ONm1O,(WC2(W1*!
(H1>)"_17]U%&0$I36?&?(W53;1>0*&0+%>)%&21H1*>)#(76M%8kE

g(*C(W1*}I(\(*"%#31;6?
.-1*>0`(*C2(D1!fE

w".$ONs1*#`1"%(*8:I(4!$#"(*(*OA)3f#@Q1*;<1>0!V>)".93'S0A?*fSM%4(*.-B14"%$<Ns1*#1DC/?32!/M!@)30O@0+ %@f1>0=@)(*aQ&0!@?(J.-"
1"(W8
-t"%O$##@0+1*!1JO1(71*##@0+;!%@)(W1*9".#@Q1(E

(*".-R1DCQNX<1#".$[(WC2(W1* I(%@0]7>0I9>{32(@).1`>)" P "-t"%O$ONr("_-R


(W1".1*;".@?3d"%@CL-t".#$O&)*.-U1*>):(WC2(W1*
(W P *,30".
"%+%%E @i"%@QC:>)".93:"%$<Ns1*#(WC2(W1*!
(7"%*("_-R1DCQNX<1#".$k#@@?"_1*&)*E

FH>0f1DC/0I!".$V9>)".9"%1*!I(D1# -R".1*&0(;.-"e>)".93 *5".$ONm1Oi(*C(W1* #@)$#&)32n!=6M3)323'SU-R326)"98Y"%@)3v32I(D1*#60&213


(D1*&?o1*&)*S".@?3{(*".-R1DCQNr!*O1*I!"%$OO1DC%E:qr1=#(`/?Q(*(*O6)$O1>0%&0+>e1*>)".1=(W
>)".93d*5".$ONm1O;(*C(W1*
(
"hCn@0%1=>)" P 1>0(*
-R".1*&0(E

DMC    
^C7]7>0@naQ&)".@Q1*O1".1* P !^/)*5(*(*O@)(7%-1O".`@0!((*"%*C;1* 30(O6M1*>)`6?>)" P O

*5".$ONm1O\1"(W8;I(7@0\1*>)".1J#(7"(*(*2I"_1*53:]7O1*>L(*%\1*#`%@?(D1"%O@Q1(E

!"%@e".&)(*

*

Version 2 CSE, IIT Kharagpur

Local
Operator
button
release
button
press
set
alarm
(15sec)

Await
Event1
button
release

Inter
national
Operator

timer
alarm

set
alarm
(15sec)

Await
Event2

timer
alarm

*  (

#+%&)*

Dial
Tone

button
release
dial tone
Await
Button
Release

@i30!$%-K" V&0".1*#%@)"%$%@)(W1*9".#@Q1

(

FH>0!"%*G1D]\
".#@"_1*+%*#(Z.-01O7@)(D1"%O@Q19(Z#@==6M303253=>?".93`".$ONs1*#U(WC2(W1*( /M!*-R%
".@)!@)(W1*9".#@19(
".@)36?>)" P O"%$G@)(D1"%O@Q19(!EnTKW-R*
"%@);!%@)(W1*9".#@Q1(="%*;1*##@0+d%@?(D1"%O@Q1(=O/M(*3{@{1*>):(*/?@)(W .-71>0
@1*$O$##@0+;/)&21*V(*C(W1*fS?]7>0*5"%(46?>)" P O*I".$Z!%@)(W1*9".#@Q1(J"%*`1*##@0+%@?(D1"%O@Q1(4O/M(*3L@f1*>06?>)" P O
.-1>0\!@ P O%@0@15E[FH>0V/M!*-R%
".@)!V!%@)(W1*9".#@Q1("hC
@).1H6?,+%&?".9".@Q1*3O-Z1*>)V6M!>)" P #%#"%$M!%@)(W1*9".#@Q1(U".4@0%1
(*".1*I(DA?3'E

ucU32I(*!&)(*(*3`>0_]e1*\30!$1*>0U/?W-R*
"%@)G"%@)3`6M!>?" P #%I".$_1DC/M(.-)!%@)(W1*9".#@Q1(&?(W#@0+V"%@ [^1!@)3253=#@0<1H1"_1
@i"%9>)O@0* G[ @cK1*>?"_1H^1*@)30(G1*>041*9"%32O1*#%@)"%$?[ @]7O1*>:1*>0\@)/21(.-Z(*1*1*#@0+="1OU"%@)31*>)V*(*/M%@)32#@0+
+%@0!9"_1O@%-Z",1*#!H".$I".  P @15E&)9>:"232$?#@:"%3)32<1O@
1*(W P 4"%("`(*/?5OA?!".1*#%@
19>0@0IaQ&0%S!"%@:".$I(*`>0!$#/
O@ P *&0-R&)!".1*#%@f".@)3".&21%
"_1#!232,+%!@)!9"_1*#%@ZE

 
 
E4Q1".1*;]7>)1*>)!C%%&{!%@)(*#30!`1>0
-R$O$#_]7O@)+n(D19"_1!!@Q1(`1*i6M
!"(WE

"


%

  
0

E  &?(D1<-RCeC%&0="%@)(W]U!=O@5"%9>

t"Q:>)"%3 ".$ONs1*#"%/0/0$##"_1*#%@I(H"32&0/f.-%@0$#C;>)"%3 ".$ONs1*#\19"%(*8(E


R6?  P !C;("_-R1DCQNX<1#".$k".$ONs1*#(*C2(D1! >)"(7"-t".#$<NX(*".-R(D19"_1*E
t 32"32$#O@0@)(D1"%O@Q146M1D]U!@L1D]U (W1*#=&0$#[!".@n6?%@?(WI32!3L1*:6M":6?>)" P O*I".$@)(D1"%O@Q14@L1*>)@ P ON
%@0@17%-1>0`(WC2(W1*E
t3)V".932]U"%*V-t".&)$<1*Nm1%$#!9".@)!419>0@0IaQ&0(4!".@"(W#$#C;6?`"30"./01*3:1*/0 P #30,(*.-B1D]H".V-t".&0$O1WNs1*$O"%@)E
R5 +%23;"%$O+%<1>0 -R%7(*9>)32&0$##@0+>?".93
*5".$ONm1OV1"(W82(=&)(W1H1*C1*%/0$#1V5"%9>
19"%(*8
O@ 1*>)\(*>0%*1*5(D1U1*#
/M((W#60$#%E
B-f4$O$>?".93:"%$<Ns1*#,(*C2(D1!
(7".(*".-R1DCQNX<1#".$kO@f@)".1*&0%E

*

Version 2 CSE, IIT Kharagpur

R +:TKW-R*
".@?7@)(D1"%O@Q19([%@;""%$<Ns1*#J(WC2(W1* @)(W&)*H1>)"_11*>0J@ P #%@0!@Q1G%-k1*>04(*C2(D1! #(G]$O$ONr6?>)" P 53'E
R>?f%-B1J*5".$ONm1O\1"(W82(7"%*V1*>0Q(W]7>)#9>f32@0.1J>?" P ,".@C
1*#6?&0@)30(4"%((W2I"_13:]7<1> 1>0!fE
tI @L#@0#Op5"_1*#%@c.-G" P !9".+%,19"%(*8f*5(W/M%@)(*1O(\I(J1>0%62zD5o1* P =.-"%@QC+%23L>)"%3i*5".$ONm1O`19"%(*8QNr(9>030&0$O#@0+
"%$O+%<1>0fE
z* qr1(*>0&0$#3e6M
1>0;+%Q".$%-H"%@Cn+%23d*5".$ONm1O
/?".1*#@0+i(WC2(W1* 1i%/0$#1; P !Ci>)"%3e"%$<Ns1*#1"%(*8c"(
"%>0"3:%-O1(7325"%32$##@0`"%(H/M((W#60$#%E

*0E7uv>)"_1[32\C%&=&0@)30!9(D19".@)3=6QC,1>0U1** >**5".$ONm1OK 3;4_]#(1>0H%@?!/01K%-)".$ONs1*#H32ObM*@Q1-R%1>0U1*9"%32O1*#%@)"%$


@0.1O@ %-Z1O 3?[^2/0$I".#@ C%&07"%@)(W]U!H&)(*#@0+;"(W&0O1"%60$#\!^0"./0$#%E

)E7uv>)"_1J325(H1*>0,1!

>W"%$K#@f""%$<Ns1*#,(*C2(D1!

(*#+%@0O-RC 3.[^2/0$I".#@ ]7>?"_1J32


C%&:"%@f6QC ""%$<Ns1*#(WC2(W1*!fE

E 4(*O@)+"60$#298:32I".+%9".(*>0_]v1>0O/M%*1"%@1H>)"%32]H".V!%/M%@0@19(H.-K"="%$<Ns1*#,(*C2(D1!
[^2/0$I".#@;1>0*$O5(H.-1*>0`32Obk!!@Q14/M%@)!@Q1(E

"%@)3;1>0!#7#@1!9"%1*#%@)(E

,0E7qX@Y"c*5".$ONm1O(WC2(W1*!fS9"h]

(*!@)(*%(W#+%@?".$I(=@031*d6?f/0!/025(*(*3e6M-R* 1*>0C!"%@y6M&?(W536C"n!%/0&21!5E
uv>C:I(7<1V@0!((*"%*C1
/0*/0!((U1*>0="h] (W@)(W7(W#+%@)"%$#(J6?!-R%,1*>0C !"%@f6?&)(*3f6C"
%/0&01*! 3!^2/0$#"%O@1>0
32ObM*@1,1DC/M(%-/0!/025(*(*O@)+;1*>?"_1=".@0%
".$#$OCi".*#3n%&21@e(*!@?(W,(*#+%@)"%$#(V1*f
".81*>0 (*&0<19".60$#1*L6M
&)(*332O1*$#C;6C "/0&21*E

)E7qD32!@Q1<-RCL1>08%Ci32<bk!!@?(,6M1D]U!@n>)"%3c".$ONs1*#S(W%-B1*5".$ONm1O%S"%@)3LA?* "%$<Ns1*#(*C2(D1!
(E\ P 
"_1,$O5"%(W1
%@0\^0"%/)$O\.-*5".$ONm1OJ19"%(*82(U!%*5(W/M%@?32O@)+`1*1>0(*41>0!!".1*!+%O5(!EqD32!@Q1<-RC
1>0\1*#O@0+
!%@)(W1*9".#@Q1(O@C%&0
1"(W82(H".@)3zD&)(W1*O-RC:]7>C
1>0,1"(W82(7(*>0%&)$#36M`!"_1!+%Op3
#@Q1*1*>)`!"_1!+%O5(GC%&>)" P \O@?32#"_13'E
2E [
 ^2/0$I".#@d1*>0 8%!Ce32ObM*@)5(=6M1D]U!@e1*>09>)".9"%1**I(D1#(,.-4"i(*.-B1*5".$ONm1O
19"%(*8d(*&)9>"(`]U!6{60_]J(W#@0+i"%@)3{"
@0%@0Ns"%$<Ns1*#419"%(*8:(W&?9>"(HNr"%O$30!$# P !C%E

)E\ P :".@y^0"./0$#:%-4"n(*.-B1"%$<Ns1*#;19"%(*8d"%@)3"i@)%@2Nr*5".$ONm1O
19"%(*8kE([^2/0$I".#@e1*>) 8!Ce32<bk!!@?6?!1D]!@{1>0
9>)".9"%1**I(D1#(G%-Z1>0(*,1D]1DC/M(H.-1"(W82(E


E

"%".@Cf1D]U #/?W19".@Q1(W@)(W\30 P #!(,".@?3L1D]U"o1*&?"_1*\30 P #!(\&)(*3cO@d".$ONs1*#"./0/)$OI!".1*#%@)(,".@?3i^2/0$I".#@


1*>0/)>QC2(*#".$k/0O@?#/0$O5(76M!>0#@)3 1*>0O4]*8#@0+)E

 9"h]w" (9>0".1*I`232!$[(*>0_]7#@0+
1*>)#/?W19".@Q1,!%/M%@0@19(4%-G";1DC/0I!"%$>?".93L*5".$ONm1O(WC2(W1*!fE [^2/0$I".#@L1>0
0E 4
]*8#@0+:%-1>0
%&01*/0&21`#@Q1*W-t"&)(*O@0+L"f(*&0<19".60$#
(*9>)!
"_1#32#+%9".fE;[^2/0$I".#@n&)(*#@0+i"f(W&0O1"%60$#!O9&)<1=32I".+"%
>0_]30O+<19".$k1*
"%@)".$#%+f* J4HH!%@ P (*#%@ ".@6?`"9>0# P 53;#@L".@f%&21/0&21J#@Q1*!*-t"%!%E
 9"h]w" (9>0".1*I`232!$[(*>0_]7#@0+
1*>)#/?W19".@Q1,!%/M%@0@19(4%-G";1DC/0I!"%$>?".93L*5".$ONm1O(WC2(W1*!fE [^2/0$I".#@L1>0
 E 4
]*8#@0+.-'1>04#@0/0&01U#@Q1*!*-t"%!4&)(*#@0+="=(*&0O1"%60$O\(*9>)!
"_1#J30O+"%E [^2/0$I".#@;&)(*#@0+"`(*&0O1"%60$O\#!&0O1U32I".+"% >0_]
".@)"%$O+`1;32O+<19".$m
H7@ P !9(W#%@:#(J"9>0# P 53;#@L".@O@0/)&214#@1!*-t"%!%E

2EHqX@c" >)".93i"%$<Ns1*#(*C2(D1!fS'I(VO1@0!((*"%*C1>)"_1 P !C1"%(*8L#@i1*>)(*C2(D1!6M.->?".93L*5".$ONm1O1DC/?3 ^/)$#"%O@


C%&07".@)(*]H&)(W#@0+
"(W&)<19".60$#^0"./0$#%E
0EHqX@;1>0\!%@Q1*!^1U%-Z/0 P I32#@0+(*C2(D1!Nr$O P !$?-t".&)$<1*Nm1%$#!9".@)!%S]7>C"%*\>)"%32]H".7-t"%O$#&0(*\/032Io19".60$#V"%@)3;5"%(*O
1*i>?".@)32$#:!%/)".3d1n(*.-B1D]H".-t".#$O&0(43 ^/)$#"%O@e1>0
N P !9(W#%@{(9>0!
1i/0 P I32;(*.-B1D]H".-t".&0$O1WNs1*$O"%@)E
uv>)"_1".1*>0(W>)%*1O@0+Q(4%-G1>0#(,(9>0!3 J_] 32(V1*>0! P !C60$O298f19>0@0IaQ&0"_1W1!/21,1* P !%`O143
45(H<14(*&)!!!5
3 3.[^2/0$I".#@C%%&)H"%@)(*]E

 ^2/0$I".#@=1>049>0598/?O@Q1*#@0+".@?3*$O$#6)"%98! P *C`(9>0!H1/0* P I32U-t".&0$O1WNs1*$O"%@Q1*5".$ONm1O7/)&21*#@0+)E,^/)$#"%O@


E [
1*>0`1DCQ/M(4.-K-t".&)$<19(4O1V!"%@L>0!$#/L1%$#!9"_1*`"%@)31*>)`-t".&)$<19(JO1\!"%@f@0.1V1*%$#!9"_1%E4[^2/0$I".#@f1*>0(WO1*&)".1*#%@)(4O@n]7>0#9>f1>0I(
1*59>0@0Ia&)\I(7&)(*-R&)$mE

2E7J@)(*]U!U1*>0,-R$O$#_]7#@0+
a&)(W1*#%@)(7!%@)!!@0O@)+=-t"%&0$<1*Nm1%$#!9".@)!,.-"%$<Ns1*#(WC2(W1*!
(E
t"Q^/)$#"%O@]7>C;>)".932]H".4-t"%&0$O1WNs1*%$#!9".@?\#(75"%(*OU1*;"%9>)O P ,%/)"%*53
1;(W%-B1D]U"%*V-t".&0$O1WNs1*$O"%@)E

*

Version 2 CSE, IIT Kharagpur

R6? ^/)$#"%O@ 1*>0


"%O@1*59>0@0IaQ&0(7" P ".#$I".60$#41;"%9>0# P V>?".932]U"%*V-t".&)$<171%$#!9".@)!%E
t uv>)".1\"%*1>0=
"%O@L19>0@)#aQ&05(V" P ".#$I".60$#,1*"%9>0# P =(W%-B1D]U"%*,-t"%&0$O1WNs1*%$#!9".@? 3{uv>)"_1".1*>)(*>0%*1!%O@)+(
%-1>0(*\1*9>)@0#aQ&05( 3
0E7U*#)C
!^2/0$#"%O@ >0_] >)"%30]U"%*7-t"%O$#&0(t%E +)EK/0!((W-t"%O$#&0(9".@ 6?\1*$O".1*53;#@("_-R!1DCNXO1*I!".$M>)"%3:*5".$ONm1O
"./0/)$OI!".1*#%@)(E[@)(*#321>04-t"o11*>)".1U>)"%3"%$<Ns1*#J19"%(*8(G>)" P V(D1*#@0+%@Q1U325"%32$#O@)(]7>)#9> =&)(W16MV!1&0@)30!H".$#$
#!&0
(D19".@)!(E

n>

K

EHuv>)"_1\32;C%&L&0@)32(W1"%@)3f6C:1>0 W-t".#$<NX("_-R (W1".1*`%-G";(WC2(W1* 3y2"_-R!1DCNXO1*I!".$Z*5".$ONm1O`(*C(W1*


(432;@).14>)" P `"
-t".#$<NX("_-R,(D19"_1*E[uv>)"_1JI(H1>0O/0$#I!"_1O@ %-1>0I( 3
 ^2/0$I".#@
]7>C("_-R!1DC
".@)3
!$#I".60#$OO1DC
".J@0%1U#@)32/?@)32!@Q1H#((*&0(O@ (*".-R1DCQNr!*O1*I!"%$)>)"%3;*5".$ONm1O4(*C2(D1!
(!E,^/)$#"%O@
0E [
1*>06?"%(*#V1*59>0@0IaQ&0(HC%&]&0$#3"%30%/21H1*;30 P $O/ "
(*.-B1D]H".4/0232&)171*>)".1J#(HaQ&0#*53;16?>0#+%>)$OC *$OI".60$#%E

E qD(<1/?Q(*(*#60$O 1*d>)" P  ".@Y^1*!$OC("_-R60&21


&0@0!$#I".60$#(*C2(D1! 3 qr-\C%%&)"%@)(W]U!I(".
*
"_1 P %SK1>0!@ +% P ".@
 H
^0"./0$#.-[(*&)9>i"
(WC2(W1*EUqr-[C%&f"%@)(*]7O@f1>0`@0+"_1 P %S21>0!@zD&?(D1<-RCf]7>C:O14I(J@0%1J/?Q(*(*O6)$O-R4(*&)9>L"
(WC2(W1*!
1*^2I(D15E

*%0EHuv>)"_1JI(J"("_-R1DCQNX<1#".$(*C2(D1!

3 \ P `"-R!]/09"%1*I!"%$'^0"./0$#(7("_-R!1DCNXO1*I!".$k>)"%3"%$<Ns1*#,(*C2(D1!
(EGJ".$#$
>)".93 *5".$ONm1O(WC2(W1*(4(*".-R1DCQNr!*O1*I!"%$ 3Lqr-K@).1S)+% P "_14$#"(D17@0^0"./0$#.-[">)"%3 *5".$ONm1O`(*C2(D1! 1>)"_1JI(7@0%1
(*".-R1DCQNX<1#".$sE

 ^2/0$I".#@e]7<1>{1*>0:>0!$#/{.-J"i(9>0!
".1*I;32I".+%9". >0_] 1*>0;! P *Ci6)$O298c(9>0 !".@{6M;&)(*3d1n"%9>)O P -t".&)$<1*N
E [
1*$O"%@).-U*5".$ONm1O1"%(*82(!Euv>)".1=".=1>0;(W>)%*1O@0+Q(\.-G1>0I((*9>0 3 [^2/0$I".#@e(WO1*&)".1*#%@)(\]7>0*O1=!"%@c6M
(*".1*I(D-t"o1%O$#C
6?&?(W53 "%@)3f(WO1*&)".1*#%@)(H]7>)!\O14!"%@ @).1J6M&)(W53'E

*-*2EHqD32!@Q1<-RC".@)3!/)*5(W@1G1*>071O#@0+!%@)(W1*9".#@Q1([#@1*>)J-R%$#$#_]7O@0+`"%O*NX32-R@)(WJ(*C2(D1!6C5".@)([%-Z".@
!^Q1!@)303
(W1"_1

"%9>0#@032I".+%9".fE$#"(*(*O-RC;"9>!%@)(W1*9".#@Q1U#@Q1*
!O1*>)!7/M!*-R%"%@),U6M!>?" P #%I".$'@)(D1"%O@Q15E
 P !C{O@)!%#@0+eI((W#$OL&)(W1;6?n301*5o13 ]7<1>0#@ 0E\d
* 2@)30(
%-VO1(:!@Q1**#@0+d1*>0L9"%3)".
 P !9".+%".")E FH>0
O@Q1!9!/014#((W#$#(*>0%&0$I3L6M=@0+"%+%3f]7O1*>)O@+
, !%@)3)(J.-G301*5o1O@i.-[1>0=19".+%!14#((W#$#%E4FH>0O@Q1!9!/01V#((*O$#
*%0E

(W>)%&0$I3:6M,A)3"_-B1!4)E !%@)3)(H.-K<19(7!@0+Q".+!!@Q1H60&21J@0
$I"_1!U1*>)"%@ 2.E

l ! /)*5(W@17"]U"(W>0Ns
"%9>)O@0V>)" P O@)+=1>0\-R%$#$O_]7#@0+(W/M!<A?"_1O@ 6C;"%@)(U.-K".@^1*@)323(W1"_1,"9>0#@032#"%+%9".fE
FH>0]U"(W>2Nr
"%9>0#@0 ]U"%<19(`-R1>0
e(W]7O19>y1*d6?f/0((W53'E7-B1!1>0f&)(W/)*5(*(*(=1*>0
e(*]7<199>S1>0

"%9>0#@0A)$#$#(\1>0
]U"(W>c1*&)6d]7O1*>e<1>0!`>).1%`!%$I3n]H"_1!`32/?@)32#@0+L&0/M%@c1*>0;(*1*1*#@0+L.-1*>0   i(W]7O19>ZE
FH>0J]H"_1![A)$#$#O@0+%@Q1O@&05(&0@Q1*#$?1*>0J>)O+>
$O P !$?#((W@)(*3'E[FH>0J
"9>0O@)4(D19".*1(K1>0V"%+%O1".1*#%@.1*"%@)3
@1O@&05(
".+<19"_1*#@0+L1>0]U"(W>e1&06y&0@Q1O$H!O1*>)!1*>0/0(*1=1O!^/)O(=%1*>0&)(*!=/)*5(*(*(`1*>0
{(W]7O19>ZEdJ-B1*!1>0
".+<19"_1*#%@ (W1*%/?(!SU1*>)L"9>0#@0L]U"%<19(-R%;1*>0i&?(W
1*{/0((1*>)

(*]7<199>EJ-B1*;1*>)i&)(*!
/0((W5(
1*>0


(W]7O19>S?1*>)=
"%9>0#@0=(W1"%W19(71>0=>0%1V".#46)$O_]U!4"%@)3i!%@Q1*#@&0(76)$O_]7#@0+;>0%1\"%OJ#@Q1*:1*>032*C#@0+
9>)".6?H&0@Q1*#$!O1*>071*>)&)(W7/0((W5(G1>0
:(*]7O19>%H1*>)/0*5(W!1H1*#J^2/0#(E

Av-1

v-1 1=$

*

Av2-
- 2 R
+v;

v-1 11=

?v2}

*-,2E

EHqX@d""%$<Ns1*#(*C2(D1! ]7>?"_1#(1*>0;32Obk!!@)!6M1D]U!@d"/M!*-R%
".@)!!%@)(W1*9".#@Q1,"%@)3d" 6M!>?" P #%I".$[@)(D1"%O@Q1 3
\ P ,/0"o1#".$k^0"./0$#(H%-5"%9> 1DC/?,.-[@)(W1*9".#@15E
l ! /)*5(W@1K1>0H1*#O@0+`!%@)(W1*9".#@Q1(#@"!%$#$OI(*O@" P % I30".@)!19"%(*8=#@"%@"%O(*&0 P O$#$#"%@)H(*C(W1* "([".@^1*@)323A?@0<1
(D19"_1\
"9>0O@) G[ @nH30#"%+%9".fE[FH>0%$#$##(*O@" P % I30".@?V1"%(*8:!%@)(*#(W1(U%-1>0,-R%$#$O_]7#@0+"%1* P O1*#(E

FH>0HA?(W1G(W&)621"(W8@)".39"%30"%(W#+%@)"%$2/0!((WK/0*2!((W5(Z1>0J9"%30"%[(W#+%@)"%$2%@
",(W#+%@?".$0/025(*(*%1*+!@0".1*
1>0,1*9"%98;!%93;#@1*!
(H.-1*>0,19".+%15x (H$#2!".1*#%@f".@)3 P $O2O1DC;]7O1*>0#@ ;5\.-K*5!#/217.-1*>)`(W#+%@)"%$mE
FH>0V1*9"%98
!%93#(1"%@)(WO1W13:1*1*>0,30"_19"=/)*25(*(*%]7<1>0#@ ;\"_-B1!U1*>0\1"98!%93
I(U301**#@03E
v(*&06219"%(*8`%@1*>0730".1"\/02((*%[*!$I"_1(Z1*>07!! P 3`1*9"%98!%93`]7O1*>1*>0U1"98`*530(.-M.1>0!K19".+%19(
1>)"_14!%$#(*V1;3211J/?%1*!@Q1#"%$%$#$##(*O@:1>)"_1J#+%>Q172!&)7]7<1>0O@1>0@0^1 %%
2.E
qr-" $O$##(*#%@LI(V"%@1#!O/?"_1*53'SM1*>0@i1>0!%*5o1* P `"o1O@i#(\32!1*!O@)3i]7O1*>)O@
;5`6CL".@0%1*>0\(*&06219"%(*8
&0@0@0#@0+%@1>0`30"_19"/0*2!((WE

q,

*

Version 2 CSE, IIT Kharagpur

*-,
2.E

FH>0`!%*5o1 P \"o1*#%@I(U1*9".@)(*<1*1*3 11>0,1*9"%98 %o1O@;19"%(*8;]7<1>0#@

* 0E4%@)(*I32!U1*>),-R%$#$O_]7#@0+LR/)"%W1#"%$IU(*/?5OA?!".1*#%@.-["*5".$ONm1O(WC2(W1* (

FH>0 P !$#2O1DCe.-V"d(W/?"%!Nr!".-B1&)(D16Mf("./0$#3y6C"c!%/0&21!%@2Nr6M".93d1*>)f(*/)"NX9"_-B1"_1$O5"%(W1@)  P !C


(W5@)3vB1>0 ("./0$#O@)+i P !@Q1I(=32@0.13{6C0EJ-B1*!("./0$#O@0+i1*>0 P $O2O1DC%S1*>)!&0*!@Q1=/M(*O1*#%@{I(!%/0&213
t32@0.13f6C: P @1\H7]7<1>0O@ %%
(W5.S2/)"%"%$O$#!$#$OC:1*>0=^2/?5o13f/M(*<1O@%-K1*>0=(*/)"NX9"_-B17I(J1*# P 3:-R* 1>0
30"_19".6)"(W:]7<1>0O@ ..
(W5it30!@0%1*3y6Cd P @1 l E V(W#@0+n1*>05(Wf30"_19"0SK1>030 P #".1*#%@{-R% 1>0 @)%"%$U!%&09(*;.1*>0,(*/)"%!NX9"_-B1G&)(D1H6M,301**#@03:]7<1>0#@ %
(*t32@0.13;6C
 P !@Q4
1 \U".@?3:*1* P  P !$#2O1DC"3hzD&)(W1*!@Q19(
=&)(W1H6?,!"%*O53
%&01U6M-R*\"=@0] P $O2!<1DC P ".$#&0\#(H("./0$#3;#@cR1*>0 P !$#!<1DC
"3hzD&)(W1*!@Q1H P @Q1UI(H32!@0%1*53;6C
VoE
U".$I&0$I"_13/?Q(WO1*#%@?([=&)(W16M71*9".@)(*<1*1*53=1,1*>075".*1*>
(W1"_1O@".1$O5"%(W1%@)!7 P !C`O@&21`R/M(*<1O@1"%@)(*I((W#%@
 P !@Q17#(732@0.136C
1*>) P @Q17FJE

qD32!@Q1<-RCL1>0;32ObM*@Q11*##@0+L@)(W1*9".#@19(\O@d1*>);(WC2(W1*!fE:$I"%((WO-RCf1*>05(W
#@Q1*f!O1*>)!/M!*-R%"%@)%6M!>?" P #%I".$
@)(D1"%O@Q19(!E%@)(W1*&)17"%@ [ @ 1*
232!$k1>0`(WC2(W1*E

*QE4%@)(W1*&)1U1>0G[

232!$%-K"1!$#!/0>0@0(WC2(W1*

0(

]7>0Q(W
R/?".*1*I".$BG6M!>?" P #%HI(J325(*!*#6?53:6M!$#_]

*

7-B1!=$#O-B1*#@0+i1>0:!! P !>?".@)30(*15S1*>0:30#"%$G1%@0:(*>0&0$#3{"%/0/M".=]7<1>0O@ .L(*@)30(Efqr-4"L32#"%$G1%@0 !".@e@0%16M


+% P @i]7<1>0#@ %:(*@)30(SM1*>0@d"%@nI32$O1*@0#(\/0232&)!3'E`J-B1*!,1>032#"%$1*%@)"%/0/?5".9(!SM1>0A)(W132O+<1(*>0%&0$I3L1
6?
32I".$#$#3i]7O1*>)O@ (*@)30(\".@)3n1*>)(*&06)(*aQ&0@Q1\A P 32O+<19(,]7<1>0#@ (W5@)30(\.-U"%9>c.1>0!5E=qr-1*>0
32I".$#$O#@0+.".@C:%-[1*>032#+%O1(JI(\32!$I"hC%53'S01>0!@n"%@L#30$O=1*%@)`#(4/030&)53'E4FH>0`I32$#`1%@0%@Q1O@&05(7&0@Q1*#$Z1>0=!! P J>)".@?30(W!1
#(H!/)$#"3E

*0EHuv>)"_1J"%*\1*>)`32<bk!!@Q171DC/M(H.-1*#O@)+;%@?(D1"%O@Q1(1>)"_14".@&07#@L"(WC2(W1*!fE

\ P ,^0"%/)$O5(H.-5"%9>E

;  

)(
   2D
&H "H H vDMC  =CIC D
F(
,
*h=Q1 P `4".1*>E 
 ^GIC ;C 8E  C  LC    )E G$#(* P #!5S2*.%0E
_`U*I".@L2"%@1)E,6?5303253 6?"_1W1$O,_C"%$OE     C  :DFB S/)".+(7    *2S 45=6M!q*%% E

`\E \"%(".9"_1>C%E7FHO#@0+ !%@)(W1*9".#@Q1(7%-[*5".$ONm1O=(*C2(D1!


( 4@)(D1*&?o1(7-R%\^2/0((W#@0+1*>)!fSk!1*>0230(J-R% P ".$##30".1*#@0+
1*>)!f
E
         
   .S0[$mE % ?E %  0S  "%@Q&?".C   2E

Version 2 CSE, IIT Kharagpur


   !"
#%$'&(*)+-,/.0&213(
,54*&)768)9:)7;
$*)<9',6=)>,?+A@B&C-DE)F&3,?.GH,/.JI/$*)K&(
,5&(
,/..I?DE)1I?$L.0&=6=,?CM$N&=.,?.=.IO17C-,5&)<9H8PCA&=('CM&>QFRS:&I?T*&(
)U&=(*6)>)
V 6=I/,/9W1+X,?.=.Y)<.PI5T2&C-DE)Z17I?$
.Y&63,5C-$N&=.P8)'9:CX.17S
.=.Y)<9\[L9:)<,?9:+-C-$*)'1I/$
.Y&63,5C-$/&I/$W&=,/.YG:.CX.P&=(*)'DEIN.0&17I?DEDEI?$]Q^#%$_,?+M+.YS V .Y)<`/S
)7$N&
9:CX.=1S
.=.YC-I?$L.F8)P&(*)>6)7TaI?6=)bC-DE4*+MCX1CM&+-cd,?.=.YS
De)bI?$*+-cd9:)>,/9:+MC-$*)f1I?$L.0&=6=,?CM$N&=.FI?$6=)>,?+A@B&C-DE)P&=,/.YG:.>[/S*$
+M)<..U8K)De)>$N&C-I?$I?&(*)>68PCX.Y)/Q
gP)<,5+M@h&=CMDE)H&3,?.GO.i?)&i?)7$
)763,j&)<9kC-$l6=)>.4LI/$
.Y)H&=Ik.I?DE)m)7n/)7$N&=.^&=(
,j&DE,oc)7CM&(*)>6 V )p)qO&=)76=$
,5+]I/6C-$/&=)76=$
,5+]&Id&=(*)'.cO.Y&)>DWQ
r
I?6E)q*,5DE4*+-)?[K,_&3,?.GsDeC-i?(N&di?)7&ei/)7$*)>6=,5&)<9t9:S*)&Iu,5$vC-$/&=)76=$
,5+)7n/)7$N&d.YS
13(w,?.e,u1+-I:13GxC-$N&)>66=S*4:&dI:1717S*66=C-$*iy)>n?)76=cxTa)78
DEC-+M+-CP.Y)<1I?$L9*.m&=Iy4z)76=CMI:9:CX17,?+M+-c{4zI?+-+K&(*)k&)7DE4z)763,j&=S*6)I5Tb,{13(*)7DECX17,5+K4*+X,5$N&>Qx|$*I?&(*)>6'&3,?.G{DEC-i?(N&Zi/)&Zi/)7$*)>6=,5&)<9s9:S*)&=I
,?$_)qO&)>6$L,5+)7n?)>$N&H.S
13(y,/.&=(*)ZSL.Y)>64*6=)>.=.CM$*i,k.8PCA&313(]Qm}~(*)>${,d&3,?.Gli?)7&=.i?)7$
)763,j&)<9\[zCA&HC-.H.=,5CX9W&I(
,on/)j j3ZI?6m/5
7M3o73jQFUn?)>6cE6=)>,5+M@B&C-De)f.Yc:.Y&)>D S
.YSL,5+-+Mc17I?$
.C-.Y&=.I?T,'$OS*D V )>6^I5TJ6=)>,?+A@B&C-DE)&=,/.YG:.>Q^(*)b&=CMDE) V I?S*$
9
.^I?$9*CA)76=)7$N&&=,?.G:.
Dd,oc V )f9:CA)76=)7$N&<Q}x)b(L,?9,?+M6=)>,/9:c'4zI?C-$N&)>9I?S:&F&=(
,j&K&(*)f1I/$
.Y)<`NS*)7$
17)>.UI5T],H&=,/.YGEDECX..CM$
ipCA&3.F&=CMDE) V I/S*$
9*.UDE,ocE,5+X.Ipnj,56=c
Ta6=I?D &3,?.Gd&IE&3,?.GQ2^(
C-.PCX.^I5T&=)7$W)q:4*6=)>.=.)>9k,/.&(*)p176CM&CX17,?+MCM&0cI?T2,Z&=,/.YGQ
#%$s&=(*)k+X,?.Y&e13(L,54:&=)76<[8)k(L,?9s4zI?C-$N&)>9I?S:&Z&(
,5&e,?4*4*6=I?4*6=C-,5&)k.=13(*)<9:S*+-CM$*iyI5TP&=,/.YG:.ZC-.'&(
) V ,/.YCX1DE)>13(L,5$*CX.YD,?9*I?4:&=)>9
V cW,d6)<,5+M@h&=CMDE)pI/4L)>6=,5&C-$*ik.c:.0&=)7D&IDE)7)7&b&=(*)p&=CMDE)Z17I?$
.Y&63,5C-$N&=.PI?TU,E&=,/.YGQ^(*)>6)7TaI?6=)?[z.Y)>+M)<1 &C-I?$lI?TU,5$_,?4*4*6=I?4*6=C-,5&)H&3,?.G
.=13(*)>9*S*+MC-$*ix,5+-i?I?6=CM&(*DC-.e1)>$N&63,5+K&I_&=(*)4*6I/4L)>6pTaS*$L1 &C-I?$
CM$*ixI5Tb,y6)<,5+M@h&=CMDE)k.c:.0&=)7DWQx#%$t&(
C-.e13(
,54*&)76e8)9:CX.17S
.=.Z.I?DE)
TaS*$L9*,5DE)7$N&3,5+^&=,/.YGt.=13(*)<9:S*+-CM$*i{&)<13(*$*CX`NS*)>.Z&(L,j&,56=),onj,?CM+X, V +-)?Qt|b$S
$
9:)763.Y&=,5$L9:CM$
i{I?Tb&(
)>.)&=)>13(*$
C-`NS*)<.Z8I?S
+-9(*)7+-4SL.
$*I?&I?$*+-c&=Ik.=,j&CX.YT,?1 &=I?6=CM+-c9:)<.YC-i?$l,E6=)>,5+M@B&C-De)p,?4*4*+-C-1>,j&=CMI/$][ V S:&f,5+X.YIES*$
9*)763.0&3,5$
9W,5$L9,?4*4*6=)>17C-,5&)f&(*)pTa)>,j&=S*6=)>.PI?TDEI:9:)76=$
17I?DEDE)7631CX,5+6)<,5+M@h&=CMDE)HI?4z)763,j&=CM$
iE.c:.0&=)7Dd.P9:CX.17S
.=.Y)<9kC-$W+-,5&)7613(L,54:&=)763.7Q
^(*CX.J13(L,54:&=)76C-.JI?6=i/,5$
CM>)>9m,?.]TaI?+-+MIj8.>Q]}x)U;L6=.Y&JC-$/&=6I:9:SL1)K.I?DE) V ,?.C-1K1I?$L1)74*&=.J,?$
9H&=)76=DeC-$*I/+MI/i?C-)>.J,/..I:1CX,j&=)>9f8PCA&=(p&3,?.G
.=13(*)>9*S*+MC-$*iLQeOS V .Y)<`/S
)7$N&+-c?[]8)E9:C-.=1SL..&08IDd,j0I/6m1+X,?.=.Y)<.I?TF&=,/.YG_.=13(*)<9:S*+-)763.7H1+-I:13G/@%9:6=CMn/)7$y,?$
9_)>n?)>$/&@9*6C-n?)>$]Q'rCM$L,5+-+Mc/[
8)H)q:4*+X,5C-$.I?DE)mC-De4zI?6&=,?$N&^CX.=.YS*)<.&(
,5&D'S
.Y& V )p17I?$
.CX9:)76=)>98P(*C-+M)p9:)>n?)>+MI/4*CM$
iZ4*63,?1&CX17,?+],54*4*+-CX17,j&=CMI/$
.>Q
kZ]x'2peZWPb2
#%$d&=(*CX..)>1&C-I?$8)bC-$N&6=I:9:S
1)f,HTa)78CMDE4zI?6&=,5$N&^1I?$L1)74*&=.,5$
9E&=)76=DECM$*I/+MI/i?C-)>.8P(
C-13(8KI/S*+-9 V )fS
.Y)7TaS*+CM$kS*$
9:)>6=.Y&=,?$
9:C-$*ip&=(*)
6=)>.Y&PI5T&(*CX.13(
,?4:&)>6>Q
*>{7<*?z U,/13('&=CMDE)P,5$E)>n?)7$N&I:1717S*6=.>[jCM&&6=CMi/i?)763.&(*)&3,?.Gm&(
,5&F(
,5$L9:+M)<.&(*CX.)>n?)7$N&2&IH6=S*$]Q#%$EI5&(
)7628KI/6=9
.7[?,&3,?.G
CX.bi/)7$*)>6=,5&)<9W8P(*)7$x.YI/De)e.Y4z)>17CA;z1p)7n/)7$N&I:1>1S*63.7QfgP)>,?+A@B&C-DE)p&3,?.GO.b&(
)76=)TaI?6=)p$*I/6Dd,?+M+-c6=)>17S*6H,d+-,?6i/)p$OS*D V )76fI5TU&C-De)<.,5&
9:CM)76=)7$N&FCM$L.0&3,5$N&=.2I?TL&=CMDE)9:)>4L)>$
9:C-$*imI?$Z&(*)P)>n?)>$/&I:1717S*6=6)>$
1)&C-DE)>.>Q#&FCX.4zI/.=.YC V +-)&(
,5&F6)<,5+M@h&=CMDE)&=,/.YG:.26=)>1S
62,5&F6=,?$
9:I/D
C-$
.Y&=,5$N&3.7QHIj8)7n/)76<[
DEI/.Y&6=)>,?+A@B&C-DE)m&=,/.YG:.6)<1S*68PCA&=({1)>6Y&3,5C-$l;*q:)>9_4L)>6C-I:9*.7QHr*I/6)7q*,5DE4*+-)?[,d&)>DE4L)>6=,5&S*6=)Z.)7$
.C-$*i&3,?.G
C-$y,k13(
)7DEC-1>,5+4*+-,?$N&DECMi/(N&6=)>1S
6CM$L9:);
$
CA&=)7+-cl8PCA&=(y,k17)76&=,5C-$l4z)76=CMI:9 V )>1>,5S
.)m&(
)'&=)7DE4L)>6=,5&S*6=)pCX..=,5DE4*+-)>9_4L)>6C-I:9:C-1>,5+-+Mc/[
8P(*)>6)<,?.P,e&3,?.G(
,?$
9:+-CM$
i,d9:)7nOCX1)mC-$/&=)76=6S
4:&bDECMi/(N&6)<1S*6b,5&6=,?$
9:I/DC-$
.0&3,5$N&=.>QKK,?13(&C-DE)',e&=,/.YG6)<1S*63.>[*CA&C-.1>,5+-+M)<9W,5$

3%j3HI5T&(*)&=,?.GQk^(*)E;
63.Y&m&C-De),&=,?.G_I:1717S*63.7[CA&'CX.p1>,5+-+M)<9y&=(*)E;
63.0&pC-$
.Y&=,?$
1)dI?TK&=(*)d&=,/.YGQk^(
)d$*)qO&pI:1717S*66=)7$L1)
I?T&(*)'&=,?.GWC-.f17,?+M+-)>9WCM&=.f.)>1I/$
9lC-$
.Y&=,5$L1)?[,5$L9_.YIkI?$]Qf^(*)%&=(yC-$
.0&3,5$
17)pI5TU,&=,/.YG\F8I?S*+X9 V )Z9:)>$*I5&=)>9_,/.b\Y-O QK,?13(
C-$
.Y&=,5$L1)dI5TP,W6=)>,5+M@B&C-De)e&3,?.G_C-.',?.=.YI:1CX,j&=)>9{8PCA&=(t,l9:)>,/9:+-CM$*) V c_8P(
C-13(sCM&p$*)7)<9*.H&=I_1I?DE4*+-)&=),5$
9x4*6=I:9:S
17)d6)<.YS*+M&=.>Q}x)
.(
,5+-+,j&&C-De)<.6)7Ta)76&I'&=,?.GdC-$
.0&3,5$
17)>.,?.K4*6=IO17)>.=.Y)<.K,?$
9dS
.)&(*)<.Y)&08KI'&)>6Dd.CM$N&=)76313(
,5$*i/)>, V +McZ8P(*)7$$*IE1I?$*TaS
.YC-I?$,56=C-.)>.>Q
Nh:>LN
hLNj>w2>z>N
hL ^(*){, V .I?+-S:&)x9:)>,/9:+MC-$*){I5Tp,s&3,?.GCX.&=(*){, V .I?+-S:&)y&C-De){nj,5+-S*)
h1I?S
$/&=)>9uTa6=I?D&=CMDE)W/ V cu8P(*CX13(t&=(*)k6=)>.S*+M&=.'Ta6I/D&(*)k&=,/.YGs,56=)k)7q:4L)<1 &)<9\Qs^(OS
.7[F, V .I?+-S:&)9:)>,/9:+MC-$*)C-.Z)>`NS
,?+U&=Iy&=(*)

Version 2 CSE, IIT Kharagpur

absolute deadline of Ti(1)


= +d
relative
deadline of Ti(1)
=d

+ d

Ti(1)

Ti(2)
+ pi

0
arrival of Ti(1)

deadline of Ti(1)

r C-i?S*6=) gP)7+X,j&=CMn/)m,5$
9W| V .YI/+MS:&=)b)<,?9:+-C-$*)>.^I?T2,E,?.G
C-$N&)76=nj,5+:I?Tz&=CMDE) V )&08)7)>$Z&=(*)P&=CMDE)m,5$L9'&=(*),?1&S
,?+*C-$
.0&3,5$N&U,j&F8P(
C-13(e&(
)9:)>,/9:+MC-$*)PI:1717S*63.,?.DE)>,/.YS
6)<9 V c'.I?DE)P4*(Oc:.YCX17,?+
17+MI:13GQ}~(
)76=)>,?.>[N6)>+-,5&C-n?)b9:)<,?9:+-C-$*)bCX.F&=(*)&C-De)CM$N&=)76=no,?+ V )&08)7)>$d&(
)f.Y&=,?6Y&UI?T\&(*)&=,/.YGE,5$L9E&(*)fC-$
.0&3,5$N&,5&K8P(*CX13(k9:)<,?9:+-C-$*)
I:1717S*63.7Q#%$uI?&(*)>6p8KI/6=9
.7[]6=)7+X,j&=CMn/)d9:)>,/9:+MC-$*)dCX.H&(
)d&C-DE)CM$N&=)76=no,?+ V )7&08K)>)7$x&(
)k,56=6C-nj,5+I?T^,&3,?.Gy,5$
9{&=(*)k1I/66=)>.4zI?$
9:C-$*i
9:)<,?9:+-C-$*)?Qd^(*)d9:CMz)>6)>$
1) V )&08)7)>${6=)7+X,j&=CMn/)e,?$
9x, V .I?+-S:&)d9:)<,?9:+-C-$*)>.HCX.HCM+-+-S
.0&=6=,5&)<9yC-$srC-i
Q QZ#&'1>,5$ V )dI V .Y)>6n/)>9WTa6=I?D
rC-i
Q &(
,5&P&(*)m6=)7+X,j&=CMn/)f9*)>,?9*+MC-$*)mI5T&(*)H&3,?.Gk^C CX.9\[:8P(
)76=)>,?.^CM&=.P, V .I?+-S:&)m9:)<,?9:+-CM$
)mC-. LQ
N Uz<Wp
L ^(*)m6=)>.4LI/$
.Y)&C-DE)pI5T2,e&=,/.YGCX.&(
)m&C-DE)mCA&P&3,5G?)<.m,/.^De)<,?.S*6=)>9kTa6I/D &(*)p&=,?.Gk,?66=CMnj,?+L&=CMDE)oKTaI?6P&=(*)
&3,?.GW&I4*6I:9:SL1)'CM&=.H6=)>.S*+M&=.>Qm|b.m,5+-6=)>,?9*c6=)7Dd,56=G?)<9\[z&=,/.YGWC-$
.0&3,5$
17)>.fi?)7&fi/)7$*)>6=,5&)<9_9:S*)Z&II:171S
66=)7$
17)'I?TU)7n/)7$N&=.>Qm^(*)>.)
)>n?)7$N&3.2DE,oc V )C-$N&)>6$
,?+O&IH&=(*).Yc:.Y&)>D.YSL13(E,/.1+-I:13GpCM$N&=)76=6S*4*&=.>[5I?6)7qN&=)76=$
,5+*&If&(*).Yc:.Y&)7D .YSL13(e,/.,H6I V I?&2)>$
1I/S*$N&)>6C-$*i
,?$I V .0&3,?17+M)/Q
  !" #$  !%'&(*) ,+-.'/$ 0211&(34150+6$ 05798(*) 8$ 
):;<$ = !=$ ):"2%&415 ! <;&(> <?

r
I?6b(L,5639l6)<,5+M@h&=CMDE)'&=,?.G:.7[,?.+-I?$*ik,/.,?+M+&(
)7C-6H9*)>,?9*+MC-$*)>.f,56=)pDE)&<[&(*)>6)ZC-.$*I.Y4z)>17C-,?+,/9:nj,5$N&=,?i?)pI?TK1I/De4
+M)7&C-$*i&=(*)
&3,?.GO.^)<,56=+Mc/QUIj8)7n/)76<[NTaI?6b.I5T&6=)>,?+A@B&C-DE)&3,?.G:.7[
,on/)763,5i/)b6=)>.4LI/$
.Y)f&=CMDE)pI?T&3,?.GO.C-.,?$WCMDE4zI?6&=,5$N&PDE)&=6CX1H&IdDE)<,?.S*6)f&=(*)
4z)76TaI?6=Dd,5$
17)dI5T,l.13(
)>9:S*+-)76<QW| .13(
)>9:S*+-)76pTaI?6'.I5T&'6=)>,?+A@B&C-DE)E&=,/.YG:.p.(*I?S
+-9x&=6cy&I_)7qO)<1S:&=)E&(*)k&=,/.YG:.mC-$t,5$uI?639:)>6m&(
,5&
DEC-$*CMDEC-7)<.^&(*)p,on/)763,5i/)b6=)>.4LI/$
.Y)&C-DE)mI5T&=,/.YG:.>Q
*>A @HjO?ON?C B |w&=,/.YGZC-.U.,?C-9e&=Im4*6)<1)<9:),5$*I?&(*)>6&=,/.YG[/CAT&(
)P;
63.0&F&3,?.G'DZS
.0&U17I?DE4*+-)&=) V )7TaI?6=)^&(*).Y)<1I?$L9'&3,?.GZ1>,5$
.Y&=,?6Y&<Q}~(
)7$l,Z&=,?.G\4*6=)>1)<9:)>.P,?$*I5&=(*)76&3,?.GE Dj[*&(*)>$)<,?13(CM$
.Y&=,?$
1)HI?T\24*6=)>1)<9:)>.K&=(*)p1I/66=)>.4LI/$
9:C-$*i'C-$
.Y&=,?$
1)HI5TE D?Q
^(
,5&fCX.>[zCMTUG FH4
6)<1)>9*)>.I H?[z&(*)>$yG Fj b4*6)<1)<9:)>.bI H/ [\G Fj3 J?P4
6)<1)>9*)>.I H/K J/ [\,5$
9{.YII?$]QH| 4*6)<1)<9:)7$
17)'I/6=9:)>69:)7;
$*)<.
,4
,56&CX,5+2I/6=9:)>6m,5DEI?$*ik&=,/.YG:.>QZgP)<1I?+-+-)>1 &fTa6=I?D ,k;
63.0&p1I/S*63.Y)ZI?$u9:C-.=16=)&=)ZDd,5&(*)>DE,5&CX17.f&=(
,j&p,4
,56&CX,5+2I?639:)>66=)7+X,j&=CMI/$yCX.
6=5) L
)7q:CMn/)?[F,5$N&=C-.cODeDE)7&6=C-1?[U,5$
9t&63,5$
.CM&C-n?)?Qs|b$)q*,?De4
+M)4
,56&CX,5+I?639:)>6C-$*i{,?DEI?$*iy&=,?.G:.'CX.E.Y(
Ij8P$tCM$wrCMiLMQ J:Qtb)76=)kG F
4*6=)>17)>9:)<.f H [ V S*&p8K)d17,?$*$*I?&f6=)7+X,j&=)e F 8PCM&(u)7CM&(*)>6mO NZI/6HC P/QE}{).(
,5+-+2+-,5&)>6mS
.Y)e&3,?.G_4*6=)>1)<9:)7$L1)e6)>+-,5&C-I?${&Il9:)7n/)7+-I?4
,?4*4*6=I?4*6=C-,5&)&=,/.YGk.=13(*)<9:S*+-CM$*id,?+Mi/I?6=CA&=(*Dd.7Q
:>M QGR:jT SJ ,?.G:.PI5T&=)7$l$*)>)>9&=I.Y(
,?6)H&=(*)7C-66=)>.S*+M&=.b,?DEI?$*iE)>,/13(WI5&(
)768P(*)>$lI?$*)p&=,?.Gk$
)7)>9
.^&Ik.(
,?6)H&=(*)p6=)>.S*+A&3.
4*6=I:9:S
17)>9 V ck,5$*I?&(*)>6^&=,/.YIG U
17+M)<,56=+Mc/[O&(*)p.)>17I?$
9&=,/.YGkD'S
.Y&4*6=)>1)<9:)H&(
)H;
6=.Y&P&=,/.YGQ#%$T,?1&>[L4*6)<1)<9:)7$
17)H6)>+-,5&C-I?$ V )7&08K)>)7$
&08Id&=,/.YG:..YI/De)7&C-DE)>.CMDE4*+-CM)<.9
,j&=,k.Y(
,?6C-$*i V )&08)7)>$W&(*)Z&08Id&=,/.YG:.')?Q i
QP;L6=.Y&b&3,?.G4
,/..C-$*ik.I?DE)p6=)>.S*+A&3.&=Id&(
)e.)>17I?$
9
&3,?.G:Q_Ij8)7n/)76<[]&(
C-.'C-.'$*I5&E,5+-8,oc:.f&6=S*)/Q_| &=,/.YG{Dd,oc V )k6=)>`NS*C-6)<9{&I_4*6=)>17)>9:),5$*I?&(*)>6p)7n/)7$s8P(*)>$u&(*)>6)CX.Z$*Iy9*,5&=,
.(
,56=C-$*i
Qmr*I/6)7q*,5DE4*+-)?[CM$x,13(
)7DEC-1>,5+4*+X,5$N&fCM&HDE,oc V )e6)<`/S
CM6=)>9W&=(
,j&f&(
)Z6=)>,/1 &C-I?${13(
,5D V )>6DZS
.0& V )';
+-+-)>9{8PCA&=(y8^,j&)>6
V )TaI/6)k13(
)7DEC-1>,5+X.p,56=)dC-$/&=6I:9:SL1)>9]Q#%$u&=(*CX.'17,/.Y)/[J&=(*)&3,?.Gy(
,?$
9:+-CM$
il;
+-+MC-$*i_S*4u&=(*)k6=)>,/1 &=CMI/$x13(
,?D V )76p8PCM&(8,5&)76'D'S
.Y&
17I?DE4*+-)&)/[ V )TaI/6)&(*)&3,?.Gs(
,5$
9*+MC-$*iuCM$N&=6I:9:S
1&C-I?$I5Tb&=(*)l13(*)7DECX17,?+-.eCX.e,/1 &=CMnj,j&=)>9\Q#&dC-.e&=(*)76=)TaI/6)$*I5&d,54
4*6I/4*6=C-,5&)&=I
J

Version 2 CSE, IIT Kharagpur

T2
T1

T4

T3

r C-i?S*6=)J:F6=)>17)>9:)>$
1)HgP)>+-,5&C-I?$W|DEI?$*i,?.G:.
6=)74*6=)>.)7$N&P9*,j&3,E.Y(
,?6C-$*ieS
.CM$*iE4*6=)>17)>9:)>$
1)H6=)7+X,j&=CMI/$]Qr*S*6&(*)>6>[*9
,j&=,E.(
,56=C-$*iZDd,ocI:1>1S*6^$*I?&I?$*+-c8P(*)>$I/$*)f&=,?.G4*6=)>17)>9:)<.
&=(*)I5&=(*)76<[ V S*&UDECMi/(/&FI:1>1S*6U,?DEI?$*if&6=S*+-cZ17I?$
17S*66=)7$N&2&=,/.YG:.>[?,5$L9ZIjn/)76=+-,?4*4*C-$*i&=,?.G:.7Q#%$EI5&=(*)76F8I?639*.>[?9*,5&=,H.Y(L,56=CM$*im,?DeI/$*i
&3,?.GO.U9:IO)>.F$
I5&F$*)<1)>.=.=,56=CM+-c'C-DE4LIN.Y),?$Nce4
,?6Y&=C-17S*+-,?6I?639:)76=C-$*im,5DEI?$*iH&3,?.G:.7Q2^(*)76=)TaI/6)/[?9*,5&=,p.(
,56=C-$*iH6)>+-,5&C-I?$d,5DEI?$
iH&=,?.G:.
$*)>)>9*.&I V )Z6)>4*6)<.Y)>$N&)>9S
.C-$*i,9*CA)76=)7$N&f.cOD V I?+BQP}{)e.Y(L,5+-+J6=)74*6=)>.)7$N&9*,5&=,.(
,?6C-$*i,5DEI/$*iE&08KI&=,?.G:.S
.C-$*ik,9*,/.Y(
)>9
,?66=Ij8mQ^#%$l&(*)e)q*,?De4
+M)pI?TU9*,j&3,.(
,56=CM$
ik,5DEI?$
iE&=,?.G:.6=)74*6=)>.)7$N&=)>9WC-$yrCMiL=Q J:[zO HmS
.)>.b&(*)Z6)<.YS
+A&3.I5TF N [ V S*&fO H',?$
9W N
Dd,ocE)q:)>17S:&)H1I/$
1S
66=)7$N&+-c?QO HbDd,ocE)7n/)7$.0&3,56&K)q:)<1S:&=CM$*iZ;
63.0&<[:,jT&)>6P.YI/De)7&C-DE)>.KCA&PDd,ocE6)<1)7C-n?)f.YI/DE)9*,5&=,mTa6=I?D N [O,?$
9
17I?$N&C-$OS*)HCA&3.P)q:)>17S:&C-I?$J[*,5$
9W.IeI/$]Q
x  
>mpW7Wmm2J7P
^,?.)>9ZI?$Z&(
)P8,ocp6=)>,?+A@B&C-DE)U&3,?.G:.26)<1S*6Ijn/)76,f4L)>6C-I:9'I?TL&=CMDE)?[/CA&FCX.4zI/.=.YC V +-)&Ip1+X,?.=.CATacH&=(*)7D CM$N&=I&=(*6=)7)PDd,5C-$e1>,j&=)7i?I/6C-)>.>
4z)76=CMI:9:CX15[5.4zI?63,?9:CX15[5,?$
9',?4L)>6C-I:9:C-1U&=,/.YG:.>QJ#%$'&(*)TaI?+-+-Ij8PCM$*iL[o8K)^9:CX.17S
..&=(*)^CMDE4zI?6&=,5$N&13(
,563,?1&)>6CX.0&=C-1>.]I?T*&(*)<.Y)K&(
6)>)KDd,j0I/6
1>,j&)>i?I/6C-)>.I5T6)<,5+M@h&=CMDE)f&=,/.YG:.>Q
@/jh]h*7]/ |4z)76=CMI:9:CX1P&3,?.GZCX.UI/$*)&=(
,j&^6=)74z)>,j&3.U,5T&)76^,p17)76&=,5C-$d;*q:)<9E&C-DE)C-$N&)76=nj,5+BQ^(
)b4*6=)>17C-.)&=CMDE)bC-$
.Y&=,?$/&3.K,5&
8P(*CX13(k4z)76=C-IO9*C-1&=,?.G:.U6=)>17S*6^,56=)bS
.S
,5+-+-cE9*)7Dd,56317,5&)>9 V cd17+MI:13GECM$N&=)76=6S*4*&=.>Q2r
I?6K&(*CX.6)<,?.I?$][/4L)>6C-I:9:CX1&3,?.GO.,56=)b.I?DE)&=CMDE)<.
6=)Ta)>66=)>9&I,?.17+MI:13GN@9*6C-n?)>$&3,?.G:.7QP^(*)m;
qO)<9&C-DE)'C-$/&=)76=nj,5+J,5T&)768P(*CX13(_,E&=,/.YG6)>4L)<,j&=.bC-.17,?+M+-)>9&=(*) 
 <pI?T2&(*)'&=,?.GQ
#T CX.,d4z)76=CMI:9:CX1H&3,?.Gz[
&(*)>$W&(*)'&C-DE)mTa6I/D e&=CM+-+&(*)pI:1>1S*6=6)>$
1)mI?T2&(*)m;L6=.Y&bC-$
.0&3,5$
17)mI5T ChQ )?Q^ YPC-.9:)7$*I?&)<9 V c
z U],5$
9yC-.f17,?+M+-)>9_&(*)e4*(
,/.Y)ZI5T&(
)'&3,?.GzQm^(*)e.Y)<1I/$
9lC-$
.0&3,5$
17)ChQ )?QH\Y3 J?I:1717S*63.,50& zO LQH^(
)p&(
CM639_C-$
.Y&=,5$L1)WaCBQ )/Q
\Y /I:1717S*63.,50& zO  J"!zK,?$
9y.IkI/$]Qmr*I/6Dd,5+-+-c?[,k4z)76=CMI:9:CX1m&3,?.GW17,?$ V )Z6=)74*6=)>.)7$N&=)>9 V cl$, #k&S*4
+M)WK z%[ L0'[ &oY[ /
8P(*)>6) LFCX.P&=(*)'4z)76=C-IO9WI?T2&=,?.G[ &oCX.b&(*)p8I?63.Y&17,/.Y)m)7qO)<1S:&=CMI/$W&C-DE)'I5T2&=(*)p&3,?.Gz[z,5$
9 /UC-.&(*)Z6)>+-,5&C-n?)p9:)<,?9:+-CM$
)pI5T&=(*)
&3,?.GzQ2}x)p.Y(L,5+-+\S
.Y)H&=(*CX.P$*I5&3,j&=CMI/$)7qN&=)7$
.C-n?)7+-cC-$&(*)m6=)7Dd,5C-$
9:)>6^I5T&(*CX. V INI/GQ
IWCM+-+MSL.0&=6=,5&)e&(*), V Ijn?)e$*I5&3,j&C-I?${&Il6=)74
6)<.Y)>$/&m6=)>,?+A@B&C-DE)e4z)76=C-IO9*C-1e&3,?.GO.>[]+-)&pS
.'1I?$L.YCX9:)76H&=(*)E&63,?13G{1I?6=6=)>1 &=CMI/$_&3,?.G
&0cO4*CX17,?+M+-ckTaI/S*$
9lC-$y,d6=I:13G?)7&b1I?$N&=6I/+J.YI?T&08,?6)/Q|b.=.YS
De)p&(*)'TaI?+-+MIj8PC-$*ik13(
,?6=,/1 &=)76=C-.Y&CX17.^I?T&(*)m&=6=,/13G17I?6=6)<1 &=CMI/$&3,?.GQ^(*)
&=6=,/13Ge17I?6=6)<1 &C-I?$e&3,?.Ge.Y&=,?6Y&3. J5/?HDEC-+M+-C:)>1I/$
9*.K,jT&)>6U&=(*)b+X,5S
$
13(I5T&=(*)b6=I:13G?)&<[N,?$
9ECM&K4z)76=CMI:9:CX17,?+M+-cE6)<1S*63.)7n/)76=)c (?mDECM+-+-C
O)<1I/$
9*.^&=(*)7$WI?$JQUU,/13(C-$
.Y&=,5$L1)mI5T&(
)H&=,?.Gk6=)>`NS*C-6=)>.P,e4*6=IO17)>.=.YC-$*ie&C-DE)mI5+T *EDECM+-+MC2O)>17I?$
9
.P,5$
9CM&=.P6=)7+X,j&=CMn/)H9*)>,?9*+MC-$*)mCX.
(?EDeC-+-+MCO)>17I?$
9
.7Q^gP)>1>,5+-+]&=(
,j&&=(*)'4
(
,?.)mI5TF,E&3,?.GkCX.b9:)7;
$*)>9 V c&(
)pI:171S
66=)7$
17)H&C-DE)pI5T2&(
)p;
63.0&C-$
.Y&=,?$
1)pI?T2&(*)'&=,?.GQ
^(*)>6)7TaI?6=)?[o&=(*)P4*(
,/.Y)^I5TL&(*CX.2&3,?.GmC-. J??/DECM+-+-C
.Y)<1I/$
9*.>Q^(*CX.&=,/.YG'1>,5$ZTaI?6=Dd,5+-+Mc V )^6)>4*6=)>.)7$N&)<9',?.P3 J5/?Dd:)>15,[ (5fDO)>1?[
*fDO)>1?,[ (?DO)<1>Q2^(
C-.2&3,?.GpCX.4*CX1 &I/6CX,5+-+-c'.Y(
Ij8P$ZC-$drC-i
Q *Q}~(*)>$Z&=(*)9:)<,?9:+-CM$
)PI5T\,b&3,?.Gp)>`NS
,?+-.2CM&=.F4L)>6C-I:9ChQ )?-Q  / .  [
8)Z1>,5$_I/DeCM&f&(*)'TaI?S*6&(y&S*4*+-)?QH#%$l&=(*CX.f1>,?.)?[z8K)e17,?$_6)>4*6=)>.)7$N&b&=(*)p&3,?.GW,/.b 0 . K J5/?dDO)<15'[ (5kDO)>1?-[ *kDO)>1< Qm^(*CX.
8I?S*+X9,5S:&=I?Dd,j&=C-1>,5+-+McEDE)>,?$ z . N . (?'DO)<15QUOC-DECM+X,56=+Mc/[O8P(*)7$ z .
[:CA&1>,5$ V )HI?DECM&Y&=)>98P(*)7$$*Id1I/$:TaS
.CMI/$,?6CX.Y)<.7QOIL[
\ . K J?2 143+&6587 ?9 13+&657F8KI/S*+X9kC-$
9:CX17,5&)',e&3,?.G8PCA&=( z . *2[ z . ?5DO)<15:[ &o . J?5DO)<15[
,?$
9 / . /5DO)>1?Q}~(*)7$
)7n?)>6
&=(*)76=)HC-.P,?$Nc.17I?4z)TaI/6P1I?$*TaS
.YC-I?$J[:8K)m.(
,5+-+\)q:4*+-C-17CA&=+Mc8P6CM&)HI/S:&^&(*)m4
,?6=,?DE)&)>6=.K\ . ; L . (5pDEC-+M+-CO)<17.>:[ &o . *'DEC-+M+-CO)<17.>[
N . #N'DEC-+M+-CO)<17.3 [*)7&=1?Q




Version 2 CSE, IIT Kharagpur

ei

=2000
0



di





+ pi


+ 2*pi

r C-i?S*6=) *F6=,/13GKI?6=6)<1 &C-I?$,/.YG{KJ5/?913+&6587  7 & 7  I?T,EgPI:13G?)7&


|nj,?.Y&PDd,j0I?6=CM&0cdI5T&(*)H&3,?.GO.^4
6)<.Y)>$/&PC-$l,'&0cO4*CX17,?+\6)<,5+M@h&=CMDE)m.cO.Y&)>D,?6)f4L)>6C-I:9:CX15QF^(*)m6=)>,/.YI/$TaI?6^&=(*CX.PC-.P&(
,5&DE,?$Oc
,/1 &C-nOCA&=CM)<.^17,56=6=CM)<9I?S*& V c6=)>,?+A@B&C-DE)f.c:.0&=)7Dd.^,56=)4z)76=CMI:9:CX1CM$$
,j&=S*6=)?[OTaI?6^)7q:,?DE4*+M)fDEI?$*CM&I/6C-$*iE1)>6Y&3,5C-$1I/$
9:CM&C-I?$
.>[O4LI/+M+-C-$*i
C-$:TaI?6=Dd,j&=CMI/$sTa6I/D .Y)>$
.I?63.',j&e6)>i?S*+X,56ZCM$N&=)76=no,?+-.'&Iu17,?66=cxI?S:&d1)>6Y&3,5C-$,?1&C-I?$,5&e6=)7i/S*+-,?6'C-$N&)76=nj,5+X.h.YSL13(,?.e9:6=CMn/).I?DE)
,/1 &SL,j&I/6=.3 Q}{).Y(
,?+M+K1I?$L.YCX9:)76')q*,5DE4*+-)>.mI?T.YS
13(x&3,?.GO.mTaI?S*$
9uC-$t,&0cO4*CX17,5+13(*)7DECX17,?+F4*+X,5$N&>Q#%$t,l13(*)7DECX17,?+F4*+X,5$N&Z.)7nN@
)>6=,?+&)7DE4z)763,j&=S*6)mDEI/$*CA&=I?63.7[:4
6)<..S*6=)DEI?$
CA&=I?63.7[*,?$
9W13(*)7DECX17,5+]17I?$
17)7$N&63,j&=CMI/$DEI/$*CA&=I?63.^4L)>6C-I:9:CX17,5+-+-ck.,?DE4*+M)H&=(*)p1S
66=)7$N&
&=)7DE4L)>6=,5&S*6=)?[N4*6=)>.=.YS
6)/[N,?$
9d13(*)7DECX17,?+z17I?$
17)7$N&63,j&=CMI/$dno,?+MS
)>.F8P(
C-13(k,?6)&(*)>$1I/DED'S*$*CX17,5&)<9e&Ip&=(*)f4*+-,?$N&1I/$N&6=I?+-+M)>6>Q^(*)
C-$
.Y&=,5$L1)>.UI5T&(
)P&)>De4z)763,j&=S*6=)?[N4*6)<..S*6=)?[?,?$
9d13(*)>DeCX17,?+L17I?$
17)7$N&63,j&=CMI/$ZDEI?$
CA&=I?6=CM$*iH&3,?.G:.U,56=)P$*I/6Dd,5+-+-c'i?)>$*)763,j&=)>9Z&(
6I/S*i?(
&=(*)bC-$N&)76=6=S*4:&=.K6=)>1)>CMn/)>9eTa6=I?D ,m4z)76=CMI:9:CX1P&=CMDE)>6>Q^(*)<.Y)CM$*4
S:&=.^,56=)S
.)>9d&IZ17I?DE4*S:&=)17I?6=6)<1 &C-n?),/1 &=CMI/$
.F6=)>`NS*C-6)<9e&IZDE,?CM$*@
&3,5C-$&=(*)p13(*)>DeCX17,?+\6)<,?1&C-I?$,5&b,E1)76&=,?CM$63,j&)/Q^(*)p1I/66=)>1&C-n?),/1 &=CMI/$
.P,56=)f&(*)>$W1>,56=6C-)>9kI?S:&P&=(*6=I?S*i/(,?1&S
,5&I/6=.>Q
^(*)b4L)>6C-I:9:C-1&=,/.YGeCM$&(*)f, V Ijn?)P)q*,?De4
+M))7q:C-.Y&=.UTa6I/D &=(*)&=CMDE)I5TJ.cO.Y&)>D C-$*CM&CX,5+-CM<,j&=CMI/$]QIj8)7n?)>6>[?4L)>6C-I:9:C-1&=,/.YG:.F1>,5$
,?+-.I1I/De)mC-$N&I)7q:C-.Y&)>$
1)'9*cN$L,5DEC-1>,5+-+Mc/Q^(
)'1I/De4
S:&=,5&C-I?$&(
,5&bI:1717S*6=.CM$y,?CA&P&=6= , 1mDEI?$*CM&I/6=.>[*I?$L1)', L
C-i?(N&bCX.b9*)&)<1 &=)>9
V cd&=(*)m6=,/9*,56&=CM+-+\&(
)m6=,/9*,56^)q:CM&=.^&=(*)m63,?9*,?6.CMi/$
,5+\>I?$*)HCX.,5$)q*,?De4
+M)HI5T,E9:cO$
,5DECX17,?+M+-ck16=)>,5&)<9k4z)76=CMI:9:CX1&=,/.YGQ
Q ULo
hK
7 B | .Y4zI?63,?9:CX1^&3,?.GeCX.KI?$*)b&(
,5&6=)>17S*6=.K,j&6=,?$
9:I?D C-$
.0&3,5$N&=.>Q|.4zI?63,?9:CX1^&=,/.YGE 1>,5$ V )fC-.K6)>4*6=)>.)7$N&)<9 V c
,Z&(
6)>)H&S*4*+-)?
\ . &o 7
? 7/
8P(*)>6") &<CX.&(
)8I?63.0&U1>,?.))q:)<1S:&=CMI/$d&C-DE)bI5TJ,?$C-$
.0&3,5$
17)I5T\&=(*)&3,?.G [
?9:)7$*I?&)<.F&=(*)bDEC-$*CMDZS*D .)74
,?6=,5&C-I?$ V )7&08K)>)7$d&08I
17I?$
.)>17S:&C-n?)fCM$L.0&3,5$
17)>.^I5T&(*)H&3,?.G[ /2CX.&(*)m6=)7+X,j&=CMn/)f9*)>,?9*+MC-$*)?Q^(*)mDEC-$*C-D'S*D .Y)>4
,563,j&=CMI/$y
? V )7&08K)>)7$&08KIE1I/$
.)>1S*&C-n?)
C-$
.Y&=,5$L1)>.I5T&(*)m&3,?.GkC-DE4*+MC-)>.&(
,5&I?$
17)p,5$WC-$
.0&3,5$
17)pI5T,d.4LI/6=,/9:C-1&3,?.GkI:1717S*6=.>[:&=(*)p$*)7qN&C-$
.Y&=,?$
1)'1>,5$*$
I5&I:1717S*6 V )7TaI?6=)

?^&=CMDE)S*$*CM&=.p(L,on?)d)7+X,54L.Y)<9\Q^(L,j&'CX.7[
?P6=)>.Y&6=C-1&=.H&=(*)k63,j&=),j&p8P(*CX13(t.4LI/6=,/9:C-1e&3,?.G:.p17,?$t,56=C-.)?Q|b.'9*I?$*)dTaI/6p4z)76=CMI:9:CX1
&3,?.GO.>[O8K)H.(
,5+-+LSL.Y)&(*)m17I?$On?)>$/&=CMI/$d&(L,j&&(*)f;
63.0&^C-$
.0&3,5$
17)I?T,e.Y4zI?63,?9:CX1P&3,?.Gd\JCX.^9:)7$*I?&)<9 V cd\Y ,5$
9&(*)H.YSL171)<..C-n?)
C-$
.Y&=,5$L1)>. V c K J/ [: /[:)&=1?Q
_,?$Ock.Y4zI?63,?9*C-1b&=,/.YG:.P.S
13(l,?.^)7DE)>6i/)7$
17cdDe)<..=,5i/)f,?66=C-no,?+-.^,?6)H(*C-i?(*+-c176CM&CX17,?+\CM$W$
,5&S*6=)?QFr
I?6P)7q:,?DE4*+M)/[:CM$l,e6=I V I5&,
&3,?.G&(L,j&i?)7&=.Pi/)7$*)>6=,5&)<9&=I(
,5$L9:+M)p,?$WI V .Y&=,/1+-)&=(
,j&f.YS
9
9:)7$*+-c,?4*4z)>,563.^CX.b,d.4LI/6=,/9:C-1&3,?.GzQU#%$_,eT,?1 &=I?6=c?[O&=(*)m&=,/.YGk&(
,5&
(
,?$
9:+-)>.;
6=)m1I/$
9:CM&C-I?$
.PCX.P,E.Y4zI?63,?9*C-1&=,/.YGQ^(*)H&=CMDE)mI5TI:171S
66=)7$
17)HI5TJ&=(*)>.)H&=,/.YG:.P1>,5$$*I5& V )m4*6)<9:CX1 &)<9\Q
^(*)d176CM&CX17,?+MCM&0c_I5TP.4LI/6=,/9:C-1'&=,/.YG:.Hnj,56=C-)>.fTa6=I?D (*C-i?(
+Mcx16=CA&=C-1>,5+2&IWDEI:9:)763,j&=)7+-cy16=CM&CX17,5+BQr*I/6m)q*,5DE4*+-)?[,5$x# ?R 9*)7nOC-17)
C-$N&)76=6=S*4:&>[I?6p, _| C-$/&=)76=6S
4:&mC-.mDEI:9:)>6=,5&)7+-cy176CM&CX17,?+hQbIj8K)>n?)76<[],&=,/.YG_(L,5$
9:+-C-$*iW&(*)d6=)74zI?6&C-$*iWI5TK;
6=)1I?$L9:CA&=CMI/$
.HCX.
(*C-i?(
+Mck176CM&CX17,?+hQ
UNoh]*> B |b$,?4L)>6C-I:9:C-1&=,/.YGECX.KC-$kDd,?$NcE8^,oc:.U.CMDEC-+-,?6U&=Ie,Z.Y4zI?63,?9:CX1P&3,?.GQ2|b$,?4L)>6C-I:9:C-1&=,/.YGd17,?$,?6CX.Y),j&^6=,?$:@
9:I/DC-$
.Y&=,5$N&3.7QIj8)7n?)>6>[:C-$l17,/.Y)mI?T2,?$W,?4L)>6C-I:9:CX1f&=,?.G[:&(
)pDECM$*C-D'S
D .)74
,?6=,5&C-I?$
? V )7&08K)>)7$W&08Id1I?$L.Y)<1S:&=CMn/)mCM$
.Y&=,?$
1)<.
1>,5$ V )l*Qs^(
,j&eC-.>[&08IyI/6ZDEI?6=)kC-$
.Y&=,?$
1)<.'I?T,5$,?4L)>6C-I:9:CX1&3,?.GxDEC-i?(N&ZI:1>1S*6d,j&Z&(*)W.=,5DE)k&=CMDE)CM$L.0&3,5$N&>Qs|+X.I
[&=(*)
9:)<,?9:+-C-$*)pTaI/6,5${,54z)76=CMI:9:CX1H&=,/.YG:.C-.)q:4*6=)>.=.)>9W,?.)7CM&(*)>6f,?$_,on?)>6=,?i?)Hnj,5+-S*)'I/6bCX.b)7qO4
6)<..)>9l.Y&=,5&CX.0&=C-1>,5+-+Mc/Q|4z)76=C-IO9*C-1p&=,?.G:.
#

Version 2 CSE, IIT Kharagpur

,?6)Hi?)>$*)763,5+-+-c.YI?T&^6=)>,?+A@B&C-DE)f&=,?.G:.7Q
#&dCX.d)>,/.Ycu&=Is6)<,5+-CM>)8P(Oc,?4L)>6C-I:9:C-1&3,?.GO.E$
)7)>9&I V )_.YI?T&6)<,5+M@h&=CMDE)&=,/.YG:.>Qw|b4L)>6C-I:9:CX1&=,?.G:.E17,5$v6=)>1S
6dCM$~`NS*CX13G
.S
1717)>.=.YC-I?$JQl#&'&(
)76=)TaI?6=) V )>17I?DE)>.Zn?)>6cx9:C 17S*+A&e&IyDe)>)&Z&(*)W9:)>,/9:+-CM$*)<.pI?Tb,5+-+UC-$
.0&3,5$
17)>.'I5Tb,5$,54z)76=CMI:9:CX1E&=,/.YGQ_}~(
)7$
.)7n/)763,5+J,?4L)>6C-I:9:C-1m&=,?.G:.6=)>17S*6bC-$y,k`NS*CX13GW.YS
1>1)<..CMI/$][*&=(*)76=)'CX.f, V S*$
13(
CM$*iI5T&=(*)p&3,?.GC-$
.Y&=,5$L1)>.f,5$L9WCA&fDeC-i?(N&f+M)<,?9W&=Ik,
Ta)>89:)<,?9:+-CM$
)DECX..)>.>Q|b.^,5+-6)<,?9:cd9:CX.=1S
.=.Y)<9\[:.YI?T&P6)<,5+M@h&=CMDE)&3,?.G:.1>,5$k&I?+-)763,j&=),'Ta)78 9:)>,/9:+MC-$*)fDEC-.=.Y)<.7Q|b$)7q:,?DE4*+M)fI5T,5$
,?4L)>6C-I:9:C-1f&3,?.GCX.b,E+-I?i/i?C-$*iE&=,/.YGCM$_,k9:C-.Y&6=C V S:&)<9l.Yc:.Y&)>DQP^(*)'+MI/i?i?C-$*iE&3,?.G17,?$ V )Z.0&3,56&)>9 V cW9:CA)76=)7$N&&3,?.G:.P6S
$*$*C-$*i
I/$E9*CA)76=)7$N&U$*I:9:)<.7Q2^(*)+-I?i/i?C-$*iH6)<`NS*)>.Y&=.2Ta6=I?D 9:CMz)>6)>$/&U&=,?.G:.Dd,ocZ,?66=CMn/),5&F&(
)+MI/i?i/)76,5+-DEI/.Y&U,j&F&=(*)b.=,5DE)^&C-DE)?[NI?6&=(*)
6=)>`NS*)<.0&3.KDd,oc V )m.Y4
,/1)<9kI/S:&PCM$&C-DE)?QKRb&(
)76^)q*,5DE4*+-)>.I?T,54z)76=C-IO9*C-1b&=,/.YG:.CM$L1+-S
9:)mI?4z)763,j&=I?66)<`NS*)>.Y&=.>[OG?)7c V I/,?6=9d4
6)<..)>.>[
DEI?SL.Y)HDEIjn?)>De)>$N&=.>[:)&=1?Q#%$kT,/1 &<[
,5+-+]C-$/&=)763,?1&C-n?)H1I?DEDd,5$L9*.^C-.=.S*)>9 V ckS
.)763.^,56=)f(L,5$
9:+-)>9 V ck,?4L)>6C-I:9:C-1&3,?.GO.>Q
 m  k W 4
7 
gP)<,5+M@h&=CMDE)'&=,?.Gl.13(
)>9:S*+-C-$*ik)<..)7$N&CX,5+-+-c6=)Ta)>6=.&IW9:)&=)76=DeC-$*C-$*i&=(*)'I/6=9*)76bC-$y8P(
C-13(l&=(*)eno,?6C-I?SL.P&=,/.YG:.f,56=)m&I V )Z&=,?G?)>$_S*4
TaI/6P)q:)>17S:&C-I?$ V cd&(*)mI/4L)>6=,5&C-$*id.Yc:.Y&)>DQUn?)76=cdI?4z)763,j&=CM$
ie.c:.0&=)7D6=)7+-C-)>.I?$WI?$
)fI/6^DeI/6)f&3,?.Gk.13(
)>9:S*+-)763.K&Id4*6=)74L,56=)b&=(*)
.=13(*)>9*S*+M)'I5TF)q:)<1S:&=CMI/$_I5TFnj,56=C-I?S
.^&3,?.G:.CM&$*)>)>9*.b&I6S*$JQbU,/13(W&=,?.GW.13(*)<9:S*+-)76C-.f13(
,563,?1&)>6C-7)<9 V c&(*)e.13(
)>9:S*+-C-$*i,?+Mi/I5@
6=CA&=(*DCA&)7DE4*+-Ijc:.7Q2| +X,56=i?)$OS*D V )>6UI?TJ,5+-i?I?6=CM&(*Dd.2TaI/6.=13(*)>9*S*+MC-$*ip6=)>,?+A@B&C-DE)P&=,/.YG:.U(
,on?).ImT,56 V )7)7$9:)7n/)7+-I?4z)>9\Q2gP)>,?+A@B&C-DE)
&3,?.G.=13(*)>9:S
+MC-$*iEI?$WS*$*C-4*6=I:1)>.=.I?63.KCX.,eDd,j&=S*6)p9*C-.=1C-4*+-CM$*)'$*Ij88PCM&(lDEI/.Y&PI5T&(*)'CMDE4zI?6&=,5$N&6=)>.S*+M&=.^(
,onOC-$*i V )>)7$l8I?6=G?)>9
I/S:&mCM${&(*)d)<,56=+Mc   
.7Q'^(
)e6=)>.)>,?6=13(y6)<.YS*+M&=.m,onj,?CM+X, V +-)E,j&m4*6=)>.)7$N&fC-$x&(*)E+-CA&=)763,j&=S*6)d,?6)en?)>6cl)7qN&=)7$
.C-n?)E,5$
9{CA&p8I?S
+-9
C-$
9:)>)>9 V )bi?6=S*)>+M+-CM$
iH&I'.Y&S
9*c'&=(*)7D)q:(
,?S
.Y&C-n?)7+-c?Q#%$E&(
C-.U&)7qN&<[/8)P&=(*)76=)TaI/6)17+-,/..CATac'&(*)f,onj,5C-+-, V +M).=13(*)<9:S*+-CM$*ip,?+Mi/I?6=CA&=(*Dd.
C-$N&Id,eTa)78 V 6IN,?91+X,?.=.Y)<.^,5$
9W.Y&S
9:c&(*)p13(
,?6=,/1 &=)76=C-.Y&CX17.I5T2,ZTa)78 CMDE4zI?6&=,5$N&I/$*)>.^C-$)<,?13(W1+X,?.=.7Q
 

 !#"%$&')(&*+,-$/.102)35467$&"98:"9;9:<

)TaI/6)ZTaI:1S
.=.CM$*iI?${&(*)E9:CMz)>6)>$N&m17+-,/..)>.I5T^.13(
)>9:S*+-)763.DeI/6)E1+-I/.)7+-c?[+-)&mS
.;
63.0&mC-$N&6=IO9*S
1)E,Ta)>8 C-De4zI?6&=,?$N&m17I?$
17)74:&3.
,?$
9&=)76=DECM$*I/+MI/i?C-)>.8P(*CX13(W8KI/S*+-9 V )mS
.Y)<9CM$WI?S
6+X,j&=)769:CX.=1S
.=.YC-I?$L.7Q
= *h/
Q] RNC B | no,?+MCX9y.=13(*)<9:S*+-)pTaI?6H,k.)&fI5T&3,?.GO.CX.bI/$*)'8P(*)>6)e,j&fDeIN.0&fI?$*)'&=,/.YGWCX.f,/..C-i?$*)<9&I,k4*6=IO17)>.=.YI/6b,j&H,
&=CMDE)?[?$*If&=,?.GmCX..=13(*)<9:S*+-)>9 V )7TaI?6=)KCM&=.,?66=CMnj,?+?&=CMDE)?[N,5$
9p&(*)^4*6=)>17)>9:)>$
1)^,5$L9'6=)>.I?S*631)1I/$
.0&=6=,?CM$N&3.JI?Tz,5+-+N&=,/.YG:.2,56=)K.=,j&=C-.Y;
)>9]Q
> N
>hA
QJ ROC B | nj,?+MCX9_.=13(*)>9:S
+M)pCX.f17,5+-+-)>9l,ETa)<,?.C V +-)'.=13(*)>9*S*+M)/[LI/$*+-cCMTU,5+-+J&3,?.G:.PDE)7)&&(*)>CM6f6=)>.4L)<1 &C-n?)p&C-De)e1I/$:@
.Y&63,5C-$N&=.^C-$&=(*)m.13(
)>9:S*+-)?Q
@Hj@ ?/O"
Q] RON B |w&3,?.GZ.=13(*)>9*S*+M)>6 ACBD<E^CX.F.=,5CX9Z&I V G) FE5 z7 HK7L*&=(
,5$,?$*I5&=(*)76F.=13(*)>9*S*+M)>6 ACBID JL[5CM-T ACBD<E^1>,5$
Ta)<,?.C V +-cE.13(*)<9:S*+-)b,5+-+*&3,?.Ge.)&3.&=(
,j/& A BID5Jm1>,5$ETa)>,/.YC V +-ce.=13(*)<9:S*+-)?[ V S:&K$
I5&b<3Ho737jQ^(
,5&KCX.7@[ ACBD<EP1>,5$ETa)<,?.C V +-cE.13(*)<9:S*+-)
,?+M+\&3,?.G.)&3.^&(
,5G& ACBD5Jd1>,5$][ V S:&&=(*)76=)m)q:CX.0&3.,j&+-)>,/.0&I/$*)f&=,?.G.)&P&=(
,jK& A BID5Jd1>,5$$*I5&Ta)<,?.C V +Mc.13(*)<9:S*+-)?[*8P(
)76=)>,?L. ACBID<E
1>,5$]Q^#T ACBID)Ep17,5$WTa)<,?.C V +McW.13(
)>9:S*+-)',?+M+J&=,?.G.)&3.P&=(
,jM& A BID5Jd1>,5$WTa)>,/.YC V +-c.=13(*)<9:S*+-)',5$
9u<3eo737j[L&(*)>N$ ACBID)E',5$
O9 ACBID5J
,?6)m17,?+M+-)>9uQ PSR
5U T: H7
K7W V
=X R:M733Q
Y <
t*# QJ RON B | 6)<,5+M@h&=CMDE)H&3,?.G.=13(*)>9*S*+M)>6CX.b17,?+M+-)>9s zBZ FE5 [CATFCM&17,?$WTa)>,/.YC V +-c.=13(*)>9:S
+M)',?$Oc&=,/.YG.Y)7&&(L,j&1>,5$
V )kTa)<,?.C V +Mcs.=13(*)>9:S
+M)<9 V cu,?$Oc{I?&(*)>6e.=13(*)>9*S*+M)>6>Q{#%$tI5&=(*)76e8I?639*.7[CM&e8I?S*+X9s$*I?& V )4zI/.=.C V +-)&=I_;
$L9,lDEI?6=)k4
6I?;L1C-)7$N&
.=13(*)>9*S*+MC-$*il,5+-i?I/6CM&(
D &(
,?$x,?$uI?4:&=CMDd,5+F.=13(*)<9:S*+-)76<Qd#T^,?${I/4:&C-Dd,5+U.=13(*)>9*S*+M)>6p17,?${$*I?&'.13(
)>9:S*+-)d.YI/DE)Z&3,?.Gy.)&>[J&(*)>$u$*I
I?&(*)>6.13(*)<9:S*+-)76.(*I?S
+-9 V )p, V +-)&=Id4*6=IO9*S
1)m,ZTa)>,/.YC V +-)p.13(*)<9:S*+-)fTaI?6^&(L,j&P&=,/.YG.Y)7&>Q
QJ ROhT S @Lh>/ ^(*)m.=13(*)>9*S*+MC-$*ie4LI/CM$N&3.^I5T,E.=13(*)>9:S
+M)>6,?6)&(*)H4zI?C-$N&=.^I?$k&C-DE)f+-C-$*)m,j&P8P(*CX13(&(
)H.=13(*)<9:S*+-)76^Dd,5G?)<.
9:)<1CX.YC-I?$L.^6)>i/,5639:C-$*i'8P(
C-13(&=,/.YGkC-.^&=I V )m6=S*$W$*)qO&<Q#&C-.PC-DE4LI/6Y&3,5$N&^&Id$*I?&)H&=(
,j&b,Z&=,/.YG.13(*)<9:S*+-)769:IO)<.^$*I5&$*)>)>9&IE6=S*$
17I?$N&C-$OS*I?S
.+-c?[zCA&fC-.f,?1&C-no,5&)<9 V c&=(*)'I/4L)>6=,5&C-$*ik.cO.Y&)>D I?$*+-cl,j&&=(*)e.=13(*)<9:S*+-CM$*ik4LI/CM$N&=.b&IDd,5G?)p&(*)e.13(*)<9:S*+-CM$
i9:)<1CX.YC-I?$
,/.^&I8P(
C-13(W&3,?.Gk&=I V )'6S*$l$
)qO&>QP#%$_,17+MI:13GN@%9:6C-n?)>$.=13(*)<9:S*+-)76<[*&(
)'.13(
)>9:S*+-C-$*i4zI?C-$/&3.b,?6)p9:)7;
$*)<9l,j&&=(*)p&=CMDE)pC-$
.Y&=,5$N&3.
Dd,56=G?)<9 V cC-$N&)>66=S*4:&3.i?)>$*)763,j&=)>9 V cl,4z)76=CMI:9:CX1m&=CMDE)>6>Qf^(*)Z.=13(*)>9*S*+MC-$*i4LI/CM$N&=.C-$y,5$_)>n?)>$/&@9*6C-n?)>$W.=13(*)<9:S*+-)76H,56=)'9:)&=)76@


Version 2 CSE, IIT Kharagpur

DEC-$*)>9 V cI:1717S*66=)7$L1)HI5T21)76&=,?CM$)7n/)7$N&=.>Q^(*CX.^&I/4*C-1fCX.9:CX.17S
.=.Y)<9kDEI?6=)H)7+X, V I?63,j&=)7+-cdCM$_O)<15Q J:Q *Q
@HjO
<azMQ]RNNO |4*6=)7)>DE4:&C-n?)E.13(
)>9:S*+-)76mCX.HI?$
)e8P(
C-13(x8P(*)7$u,(*C-i?(*)>6m4*6C-I?6=CM&0cW&=,?.G_,56=6=CMn/)>.>[].YS
.4z)7$
9*.m,?$Oc
+-Ij8K)>6U4*6=C-I?6=CA&0cZ&=,/.YGe&(L,j&KDd,oc V ))7qO)<1S:&=CM$
iZ,5$L9E&=,?G?)>.KS*4d&=(*)f(*CMi/(*)764*6=CMI/6CM&0cZ&=,?.GeTaI?6K)q:)>17S:&C-I?$]Q^(OS
.>[OCM$,m4*6=)7)7DE4:&=CMn/)
.=13(*)>9*S*+M)>6>[/CA&^17,?$d$*I5& V )b&(*)f17,?.)^&(L,j&,p(*CMi/(*)76K4*6=CMI/6CM&0cp&3,?.GZCX.U6=)>,/9:cZ,?$
9d8^,5CM&C-$*iHTaI?6K)q:)>17S:&C-I?$J[N,?$
9E&(
)+MIj8)76U4*6C-I?6=CM&0c
&3,?.GfCX.)q:)>17S:&C-$*i
Q2|4*6)>)7DE4:&=)>9m+-Ij8K)>6J4*6=C-I?6=CA&0c&=,/.YGm17,?$p6=)>.S*DE)UCM&=.)q:)>17S:&C-I?$'I?$*+-cm8P(*)7$'$*I(
CMi/(*)764*6C-I?6=CM&0c&3,?.GHC-.6)<,?9:c/Q
>h /:>hLK ^(
)f4
6I:1)<..I?6S:&=CM+-CM<,j&=CMI/${aI/6P.YC-DE4*+MckS:&C-+MC->,5&C-I?$LKI?T,Z&=,?.GdCX.U&=(*)m,on?)>6=,?i?)P&=CMDE)fTaI?6^8P(*CX13(CM&P)q:)>17S:&)<.4L)>6
S*$
CA&&=CMDE)^CM$N&=)76=no,?+hQ#%$e$*I5&3,j&C-I?$L.7\TaI/6F,b4z)76=C-IO9*C-1K&=,/.YGm\[j&(
)S*&C-+MC->,5&C-I?$ z . [?8P(*)>6) &oC-.&=(*)P)q:)>17S:&C-I?$'&C-DE),5$
"9 LzCX.
&=(*)b4z)76=CMI:9EI?T\YQ2r
I?6,p.Y)7&UI5T\4z)76=CMI:9:CX1^&3,?.GO. >\ NJ&=(*)&=I5&=,?+
S:&=CM+-C->,j&=CMI/$9:S*)b&I',?+M+
&=,?.G:. . F Q#&KCX.&=(*)bI V 0)>1&C-n?)
I?T,?$NcZi?IOI:9E.13(*)<9:S*+-CM$
ip,5+-i?I?6=CM&(*D &=ImTa)>,/.YC V +-cZ.=13(*)>9*S*+M)P)>n?)>$Z&=(*I/.)^&=,/.YGe.Y)7&=.2&=(
,j&K(
,on?)Pn/)76=cp(*C-i?(ES:&C-+-CM<,j&C-I?$J[/CBQ )/QS*&C-+MC->,5@
&=CMI/$Z,54
4*6IN,?13(*C-$*i Q2RbTL17I?S*63.)?[oI?$e,S*$*C-4*6=I:1)>.=.I?6JCM&C-.$*I?&4zI/.=.YC V +-)U&=If.=13(*)<9:S*+-)F&=,/.YGp.)&3.J(L,onNC-$*iS:&C-+MC->,5&C-I?$ZDeI/6)U&(
,?$ Q
a>>NO CM&Y&=)76eC-.Z&=(*)9*)7nOC-,5&C-I?$tI?T,_4z)76=C-IO9*C-1k&=,/.YGxTa6=I?DCA&3.E.0&=6CX1 &e4L)>6C-I:9:C-1 V )7(
,onOC-I?6<Qx^(*)W,56=6=CMnj,5+U&C-DE)'0CM&Y&=)76EC-.Z&=(*)
9:)>nOC-,5&C-I?$WI5T2&(
)p&=,/.YGkTa6I/D ,?66=C-nNC-$*id,j&b&(*)p4
6)<1CX.Y)m4z)76=CMI:9:CX1H&=CMDE)'I?TF,56=6C-nj,5+BQU#&bDd,oc V )'1>,5S
.)>9 V cCMDE4*6=)>17C-.)'1+-I:13G:.7[*I/6
I?&(*)>6bT,/1 &I/6=..YSL13({,?.b$*)&08I?6=Gl1I/$*i?)<.0&=CMI/$
.7QHOC-DeC-+X,56=+Mc/[17I?DE4*+-)&=CMI/$l&C-DE)b0CM&Y&=)76HC-.b&(
)e9:)>nOC-,5&C-I?$_I?TF&(*)E1I/DE4*+M)7&C-I?$_I?TU,
&3,?.GlTa6I/D 4*6=)>17C-.)E4L)>6C-I:9:CX1E4LI/CM$N&=.>Qk^(*)17I?DE4*+-)&=CMI/$y&=CMDE)m0CM&Y&=)76pDd,oc V )k17,?S
.)>9 V cy&(*).4z)>1CM;L1d.=13(*)>9*S*+MC-$*il,5+-i?I/6CM&(
D
)>De4
+MIjc/)>9d8P(*CX13(d&3,5G?)<.FS*4,m&3,?.GZTaI/6.=13(*)<9:S*+-CM$*ie,?.K4L)>617I?$On?)>$*C-)7$
17)b,5$
9&(*)f+-I/,?9d,5&^,?$C-$
.0&3,5$N&>[O63,j&=(*)76U&(
,?$.=13(*)>9:S
+MC-$*i
,5&P.I?DE)m.Y&6=C-1&P&C-De)mC-$
.Y&=,?$/&3.7Q CM&Y&)>6=.P,?6)fS*$
9*)>.CM63, V +-)fTaI?6.I?DE)m,54*4
+MCX17,5&C-I?$
.>Q lI?6=)m9:C-.=1SL..CMI/$
.^I?$&(
C-.P+X,j&=)76<Q






 





 





O87 C L' * :"9$ "






)8 I0O74  02  <. &87$ ;  8:; "935 * &46


!

#"%$

'&

)(

*&

O)>n?)>6=,?+J.13(
)7DE)>.bI5TF1+X,?.=.YCM;L1>,j&C-I?$WI?T26=)>,?+A@B&C-DE)m&=,/.YGW.=13(*)>9:S
+MC-$*ik,?+Mi/I?6=CA&=(*Dd.P)q:CX.0&<Q| 4zI?4*S*+X,56.13(*)>DE)'1+X,?.=.YCM;
)<.P&(
)p6)<,5+M@
&=CMDE)&=,?.G.=13(*)>9:S
+MC-$*iZ,?+Mi/I?6=CA&=(*Dd. V ,?.)>9dI/$k(*Ij8w&=(*)f.=13(*)<9:S*+-CM$*iZ4LI/CM$N&3.,?6)f9:);L$*)>9\QF^(
)b&=(*6)>)Dd,?CM$d&0cO4z)>.I5T.13(*)<9:S*+-)763.
,/171I/6=9*CM$*iZ&Ie&=(*C-.b1+X,?.=.YCM;L17,5&C-I?$.13(*)>DE)p,56=)?21+-IO13GN@%9:6=CMn/)7$][O)7n/)7$N&Y@%9:6=CMn/)7$][:,?$
9(Nc V 6=CX9\Q
  14> 214:,+-%'  7  14  %'& > ;) .,$ ( -!  14 $ , 1 %& >  8   <!) .% <3  %/.,0
$   <3K&  < 1 7 % +-.'/)1>  1:(?21 $ 57 + %'  7 ,43 $ 014  %'&(>  8   <)
%(, 5O %6.,0 15  )   57<7-!  14 A.14> &4%  "1>  1:  <3K&  <? #  408.   %A & /. $
1>  1: <33&(<)9 - > > ) 7   2114& 3. 19< % :5O=$  G14  %'&(>  8 2  <?

|Ta)78 C-De4zI?6&=,?$N&De)>D V )763.^I5T)>,?13(I5T&(


)>.)&=(*6=)7) V 6=I/,/9k1+X,?.=.)>.^I5T2.13(
)>9:S*+-C-$*id,5+-i?I?6=CM&(*Dd.^,56=)f&(*)HTaI/+M+-Ij8PCM$
i

Q K+MI:13G 6C-n?)>$]
, V +-)@%9:6=CMn/)7$
Kc:1+-CX1
J*QFn/)7$N& 6=CMn/)7$]
OC-DE4*+-)m4*6C-I?6=CM&0c/@ V ,/.Y)<9
g,5&) lI/$*I5&=I?$*CX1f|$
,?+Mc:.C-.phg _|f
K,56=+MC-)>.Y& )>,/9:+-CM$*)prC-6=.Y&' r

Qc V 6=C-9]
gPI/S*$
9O@6=I V C-$
#%DE4zI?6&=,5$N&De)>D V )763.I5T17+MI:13GN@9*6C-n?)>$k.13(
)>9:S*+-)763.U&(
,5&8)f9*C-.=1S
.=.CM$k&(*CX.K&)7qN&,?6)b&=, V +M)7@9:6=C-n?)7$,5$
91c:1+-C-1f.=13(*)>9:S
+M)>6=.>Q
K+-I:13G/@%9:6=CMn/)7$k.=13(*)<9:S*+-)763.,?6)f.YC-DE4*+-)H,?$
9) 1C-)7$N&>Q^(*)>6)7TaI?6=)?[N&(
)>.)H,?6)Ta6=)>`NS*)7$N&=+McdS
.)>9C-$)>D V )>9*9:)<9,?4*4*+-C-1>,j&=CMI/$
.7Q2}x)
C-$On?)>.Y&C-i/,5&)&(*)<.Y)H&08Id.13(
)>9:S*+-)763.CM$l.I?DE)m9:)&3,5C-+]C-$l:)>15Q J*Q #LQ
;
;

;
;
;

Version 2 CSE, IIT Kharagpur

#%DE4zI?6&=,5$N&)7q:,?DE4*+M)<.PI5T)>n?)7$N&@9:6=C-n?)7$l.=13(*)>9*S*+M)>6=.b,56=)pU,56=+-CM)<.0& )>,?9*+MC-$*)'rC-6=.Y&Z rb,5$


9lg,5&) lI/$*I5&=I?$*CX1p|b$
,5+-c:.YCX.
h g _|Q:Fn?)>$N&Y@%9:6C-n?)>$d.13(*)<9:S*+-)763.U,?6)DEI/6)f.YI/4*(*CX.0&=C-1>,j&)<9e&(
,?$17+MI:13GN@9*6C-n?)>$E.=13(*)<9:S*+-)763.U,5$L9dS
.S
,5+-+McE,56=)DEI?6=)b4
6I?;L1C-)7$N&
,?$
9 LL)q:C V +M)E&=(
,5$u1+-I:13G/@%9:6=CMn/)7$x.13(*)<9:S*+-)763.7QE^(*)<.Y)d,56=)eDeI/6)E4*6=I5;z1C-)7$N& V )>1>,5S
.)e&(*)>c{1>,5${Ta)>,?.C V +Mc{.13(*)<9:S*+-)d.YI/De)e&3,?.G
.)&3.8P(*CX13(_1+-I:13G/@%9:6=CMn/)7$W.13(
)>9:S*+-)763.1>,5$*$*I?&>QP^(*)<.Y)',?6)mDEI/6)L
)7q:C V +-) V )>1>,5S
.)m&(
)7cW17,5$WTa)<,?.C V +McW.13(
)>9:S*+-)p.4LI/6=,/9:C-1m,?$
9
,?4L)>6C-I:9:C-1&3,?.GO.C-$,/9*9:CM&C-I?$&IE4z)76=CMI:9:CX1&=,/.YG:.>[N8P(
)76=)>,?.^17+MI:13GN@9*6C-n?)>$.=13(*)>9:S
+M)>6=.^17,?$.=,j&=C-.YT,?1&I/6C-+McE(
,?$
9:+-)HI?$*+-c4z)76=CMI:9:CX1
&3,?.GO.>QkUn?)7$N&@9:6=C-n?)7$x.13(
)>9:S*+-C-$*ilI5T^6)<,5+M@h&=CMDE)E&3,?.GO.HC-$t,WS*$*C-4*6=I:1)>.=.I?6H)7$OnOCM6=I?$
De)>$N&H8^,?.',.S V 0)<1 &'I?TC-$N&)>$
.Y)d6=)>.)>,?6=13(
9:S
6C-$*i')<,56=+Mc C 5
.>[5+-)>,?9*CM$*i'&Ip4
S V +-C-1>,j&C-I?$I5TJ,m+X,56=i?)b$NS
D V )76I5T]6=)>.)>,56313(E6)<.YS
+A&3.7QFRS:&KI?T\&(*)f+X,56=i?)P$OS*D V )76I5T]6=)>.)>,?6=13(
6=)>.S*+M&=.K&(
,5&P8K)>6)f4*S V +-CX.Y(*)<9\[O&(
)TaI/+M+-Ij8PC-$*i'&08Ie4LI/4*S*+X,56P,5+-i?I/6CM&(*Dd.,56=)b&=(*)H)>.=.Y)>$
1)fI5T,5+-+&(*IN.Y)f6)<.YS
+A&3.7U,?6+-C-)>.Y9& )>,?9:@
+-CM$
)HrC-6=.Y&p r [L,5$
9g,j&=) lI?$*I?&I/$*C-1f|$L,5+-cO.CX.fhg _|f Q
#T8K)HS*$L9:)763.0&3,5$
9&(*)<.Y)f&08Id.13(*)<9:S*+-)763.8K)>+M+B[O8K)H8I?S*+X9ki/)&P,
i/INI:9i?6=CM4I?$6=)>,5+M@B&C-De)f&3,?.Gk.13(
)>9:S*+-C-$*iEI?$S*$*C-4*6I:17)>.=.YI/6=.>Q2:)7n?)>6=,?+no,?6CX,j&=CMI/$
.K&IE&=(*)>.)H&08KI V ,/.YCX1H,5+-i?I?6=CM&(*Dd.^)q:CX.0&<Q
|b$*I5&=(*)761+X,?.=.CA;L1>,j&=CMI/$pI5Tz6)<,5+M@h&=CMDE)K&=,?.Gp.=13(*)>9:S
+MC-$*iH,5+-i?I?6=CM&(*Dd.17,5$ V )^Dd,?9*) V ,?.)>9pS
4LI/$'&=(*)&0cN4z)I5T
&3,?.Gp,?1>1)74*&=,5$L1)
&=)>.Y&&=(
,j&F,b.=13(*)<9:S*+-)7617,?66=CM)<.]I/S:& V )TaI/6)CM&&3,5G/)>.S*4Z,b&=,/.YGfTaI?6.=13(*)>9*S*+MC-$*iLQ^(*)^,?1>1)74*&=,5$L1)K&)>.Y&2C-.S
.)>9p&IH9:)>17C-9:)8P(*)7&(*)>6
,Z$*)78P+-ck,?66=CMn/)>9e&3,?.Gd8KI/S*+-9,j&P,5+-+ V )f&3,5G?)>$kS*4TaI?6P.=13(*)>9*S*+MC-$*ieI?6 V )f6=)00)<1 &=)>9\+Q ^,?.)>9kI?$&=(*)f&=,/.YG,/171)>4:&=,?$
1)&)<.0&PS
.)>9][
&=(*)76=)m,56=)&08I V 6=I/,?917,5&)7i/I?6=CM)<.I5TJ&3,?.Gk.=13(*)>9:S
+M)>6=.>
F+X,5$*$
CM$*i?@ V ,?.)>9
)>.Y&^)7zI/6Y&
#%$4*+-,?$*$*C-$*i5@ V ,/.Y)<9d.13(*)<9:S*+-)763.7[N8P(*)>$,m&3,?.Gd,56=6C-n?)<.&(
)f.=13(*)>9*S*+M)>6F;
63.Y&^9:)7&)>6DEC-$*)>.K8P(*)&=(*)76&=(*)b&3,?.Gd17,5$kDe)>)&^CA&3.^9:)>,/9O@
+-CM$
)>.>[:CAT2CA&CX.&=,?G?)>$S*4TaI/6)7q:)>1S*&C-I?$]Q#T2$*I5&<[:CA&CX.^6=)00)>1&)<9\Q#T&=(*)f&=,/.YGk1>,5$DE)7)&CM&=.P9*)>,?9*+MC-$*)p,5$L99:IO)<.^$*I5&17,?S
.)fI?&(*)>6
,?+M6=)>,/9:ck.=13(*)>9:S
+M)<9k&3,?.G:.&IdDEC-.=.^&=(*)7C-66=)>.4L)<1 &C-n?)p9*)>,?9*+MC-$*)>.>[:&=(*)7$W&=(*)H&=,/.YGC-.,/1717)74:&=)>9TaI?6b.=13(*)<9:S*+-CM$*iLQRb&(
)76=8PC-.)?[*CM&CX.
6=)00)<1 &)<9\Qp#%$ V )<.0&H)I?6&m.13(*)<9:S*+-)763.7[\$
I,/171)>4:&=,?$
1)'&)<.0&mCX.f,?4*4*+-CM)<9\Q'|b+M+2&3,?.GO.b&(L,j&p,56=6C-n?)Z,56=)p&=,?G?)>$yS*4{TaI?6m.=13(*)>9:S
+MC-$*i
,?$
9 V )>.Y&)I?6&CX.2Dd,?9:)K&IfDE)7)&CM&=.9:)<,?9:+-C-$*)>.>Q S:&<[5$*Ifi?S
,?6=,?$/&=)7)KC-.i?C-n?)>$Z,/.J&=I8P(
)&(
)76F,b&=,?.'G
.9:)<,?9:+-CM$
)8I?S
+-9 V )^DE)&<Q
|&(
CM639&0cO4z)mI5T21+X,?.=.YCM;L17,5&C-I?$I5T6=)>,?+A@B&C-DE)b&3,?.G:.KCX. V ,/.Y)<9kI/$k&=(*)H&=,?6i/)&^4*+-,5&YTaI/6D I/$k8P(*CX13(&(*)f&3,?.GO.^,?6)f&I V )H6S*$JQ
^(*)p9*CA)76=)7$N&1+X,?.=.Y)<.^I5T2.13(*)<9:S*+-CM$
iE,?+Mi/I?6=CA&=(*Dd.^,?1717I?639:C-$*i'&=IE&(*CX..=13(*)7DE)m,56=)?
$*C-4*6=I:1)>.=.I?6
lS*+M&C-4*6=IO17)>.=.YI/6
bCX.Y&6=C V S*&)>9
b$*CM4
6I:1)<..I?6.=13(*)>9*S*+MC-$*im,5+-i?I/6CM&(
DE.2,?6)^4zI/.=.YC V +-cm&(*).C-De4
+M)<.0&FI?T
&(
)^&(*6=)7)17+-,/..)>.I5T\,5+-i?I/6CM&(
DE.>Q]#%$d1I/$N&63,?.Y&&=ImS*$*C-4*6I?@
17)>.=.YI/6,?+Mi/I?6=CA&=(*Dd.7[OC-$DZS*+A&=CM4
6I:1)<..I?6P,?$
9k9:CX.Y&6=C V S*&)>9W.=13(*)>9*S*+MC-$*iE,5+-i?I/6CM&(*Dd.K;
63.0&,e9:)>17C-.C-I?$(
,?.K&I V )HDE,/9:)H6)>i/,?6=9:C-$*i
8P(*CX13(&=,/.YG$*)7)<9*.^&Id6=S*$WI?$W8P(*CX13(l4*6=I:1)>.=.I?6P,5$
9&=(*)7$W&=(*)>.)H&=,/.YG:.,?6)m.=13(*)>9:S
+M)<9\QU#%$l1I/$N&63,?.Y&&=IdD'S*+M&C-4*6=I:1)>.=.I?63.7[O&=(*)
4*6=I:1)<..I?63.C-$x,9:CX.0&=6C V S:&=)>9u.cO.Y&)>D 9:I$*I5&m4zI/.=.Y)<..H.(
,56=)>9lDE)>DeI/6c/QZ|b+-.IC-$u1I?$N&=6=,/.0&&IWD'S*+M&C-4*6=I:1)>.=.I?63.7[L&(*)>6)ECX.f$*I
i/+MI V ,5+S*4:&I:9*,5&)E.0&3,j&=)'C-$:TaI?6=Dd,j&C-I?${,ono,?CM+X, V +M)pC-${9*C-.Y&6=C V S:&)<9y.cO.Y&)>Dd.7QH^(*CX.Dd,?G?)>.bS*$*C-4*6=IO17)>.=.YI/6.=13(*)>9*S*+MC-$*ik,?+Mi/I?6=CA&=(*Dd.
&=(
,j&P,?.=.YS
De)f,'17)7$N&63,5+z.0&3,j&)fC-$:TaI?6=Dd,j&C-I?$dI?T,5+-+L&=,?.G:.K,?$
9d4*6=I:1)<..I?63.2&IZ)q:CX.0&^S*$
.S*CM&=, V +M)TaI?6KS
.Y)fC-$9:CX.0&=6C V S:&=)>9.Yc:.Y&)7Dd.>Q
r
S*6Y&=(*)762C-$Z9:CX.Y&6=C V S*&)>9Z.Yc:.Y&)>DE.>[<&(*)P17I?DED'S*$
C-1>,j&C-I?$Z,5DEI?$*i&=,?.G:.JCX.&(*6=I?S
i?(pDE)>.=.=,5i?)U4
,?.=.YC-$*iLQ KI?DEDZS*$*CX17,j&=CMI/$m&(
6I/S*i?(
DE)>.=.=,5i?)H4
,/..C-$*idC-.1IN.0&=+Mc/QK^(*CX.DE)>,?$
.^&=(
,j&,k.13(*)<9:S*+-CM$
i,5+-i?I?6=CM&(*D.(*I/S*+-9W$
I5&bC-$
1S
6P&IOIDZS
13(l1I?DEDZS*$*CX17,j&=CMI/$WIjn?)76@
(*)<,?9\QOI17,?6)7TaS*+M+-ck9:)<.YC-i?$
)>9W9:CX.0&=6C V S:&=)>9W,5+-i?I/6CM&(*Dd.P,?6)H$*I/6Dd,5+-+-ck1I/$
.YCX9:)>6)<9.S*CM&=, V +M)HTaI/6S
.)mCM$l,d9:CX.0&=6C V S:&=)>9W.cO.Y&)>DWQ
}x)p.0&=S
9:cD'S*+M&C-4*6=IO17)>.=.YI/6P,5$
99:CX.0&=6C V S:&=)>9W.13(
)>9:S*+-C-$*id,5+-i?I?6=CM&(*Dd.CM$l13(
,?4:&)>6 #
Q
#%$&(*)HTaI/+M+-Ij8PC-$*id.Y)<1 &C-I?$L.7[:8)m.0&=S
9:c&=(*)p9:CMz)>6)>$N&b1+X,?.=.Y)<.KI?T.=13(*)>9*S*+M)>6=.^C-$WDEI?6=)H9*)&=,?CM+BQ

k   Z k W 4
7 

K+-I:13G/@%9:6=CMn/)7$.=13(*)>9*S*+M)>6=.UDd,5G?)&(*)>CM6P.=13(*)>9:S
+MC-$*i'9:)<1CX.YC-I?$L.U6=)7iN,5639:CM$
im8P(*C-13(&=,?.Ge&IZ6S*$k$*)qO&^I?$*+-cd,j&U&=(*)H1+-IO13GeC-$/&=)76=6S
4:&
4zI?C-$N&=.>Q K+-I:13GN@9:6=C-n?)7$d.=13(*)>9*S*+M)>6=.U,56=)P&(*IN.Y)TaI?6U8P(
C-13(E&=(*).=13(*)>9*S*+MC-$*ip4zI?C-$N&=.,56=)9:)&=)76=DECM$*)<9 V c'&=CMDE)>6KC-$N&)76=6=S*4:&=.>Q K+MI:13GN@
9:6=C-n?)7$.13(*)<9:S*+-)763.U,?6)b,?+-.I'1>,5+-+M)<9dI5z@B+-C-$*).=13(*)>9*S*+M)>6=. V )<17,?S
.Y)b&(*)<.Y)f.13(
)>9:S*+-)763.U;*qE&(*)f.13(*)<9:S*+-) V )TaI/6)b&(*)H.Yc:.Y&)>D.Y&=,?6Y&3.
;
;

;
;
;

Version 2 CSE, IIT Kharagpur

&=IZ6=S*$]QF^(
,5&CX.>[O&(*)m.=13(*)>9:S
+M)>6K4*6=)@%9:)7&)76=DECM$
)>.8P(*CX13(&=,/.YGd8PC-+-+\6S*$8P(*)7$JQF^(*)76=)TaI/6)/[/&=(*)>.)H.13(*)<9:S*+-)763.CM$
17S*6^n?)>6cE+-CA&&+-)
6=S*$W&C-DE)pIjn?)>6(
)>,?9]QKIj8)7n/)76<[
,E4*6=I?DEC-$*)7$N&.(*I?6&=17I?DEC-$*iEI5T2&(*CX.f1+X,?.=.PI5TF.=13(*)>9:S
+M)>6=.PCX.P&=(
,j&b&(*)>c1>,5$l$*I?&.,5&CX.0T,/1 &=I?6=CM+-c
(
,?$
9:+-)m,54z)76=CMI:9:CX1H,5$
9.Y4zI?63,?9*C-1&=,/.YG:.^.CM$
17)f&(*)m)7q:,/1 &^&C-DE)mI5TIO1>1S*6=6=)7$
17)fI?TJ&=(*)>.)f&=,?.G:.P17,?$$*I?& V )m4*6=)>9*C-1&)>9]QFr*I?6^&=(*CX.
6=)>,/.YI/$][N&(*CX.^&0cO4L)mI?T.=13(*)>9*S*+M)>6=.P,?6)H,5+X.IE1>,5+-+M)<9,E.Y&=,5&CX1m.13(*)<9:S*+-)76<Q
#%$&(*CX.E.Y)<1 &C-I?$J[F8K).0&=S
9:cs&=(*) V ,?.C-1Ta)>,5&S*6=)>.eI5Tb&08KI{CMDE4zI?6&=,5$N&d1+-I:13G/@%9:6=CMn/)7$t.=13(*)>9*S*+M)>6=.>d&3, V +-)@%9:6=CMn/)7$,?$
9t1c:17+MCX1
.=13(*)>9*S*+M)>6=.>Q


02/87


!

3@9<$   . &87$&;
$

&

, V +-)@%9:6=CMn/)7$s.=13(*)>9:S
+M)>6=.mSL.YS
,?+M+-cx4*6)<1I/De4
S:&)d8P(*CX13(u&=,/.YGx8I?S*+X9u6S
$s8P(*)7$t,?$
9s.0&=I?6=)E&(*CX.e.13(*)<9:S*+-)dCM$,W&=, V +M),j&p&=(*)
&=CMDE)&(*)f.Yc:.Y&)7DCX.K9*)>.CMi/$*)>9dI/6K17I?$:;
i/S*6=)>9\Q2g,j&=(*)76K&(L,5$k,?S:&I/DE,5&CX1b17I?DE4*S:&3,j&C-I?$kI5T\&(
)f.=13(*)>9*S*+M) V ce&=(*)f.=13(*)<9:S*+-)76<[?&=(*)
,?4*4*+-C-1>,j&C-I?$y4*6I/i?63,5DEDE)76b1>,5$ V )Zi/CMn/)7$l&=(*)pTa6=)7)<9:I?D &=I.)7+-)>1&(*CX.bIj8P${.13(*)<9:S*+-)pTaI/6b&=(*)Z.)&HI5T&3,?.GO.bCM$y&(*)E,54
4*+MCX17,5&C-I?$
,?$
9.Y&I/6)f&=(*)p.13(
)>9:S*+-)HCM$l,Z&=, V +-)17,?+M+-)>9y7W V
3 R:MZ% 7M^&I V )mSL.Y)<9 V cd&=(*)p.=13(*)>9:S
+M)>6,j&P6S
$&=CMDE)/Q
|b$d)q*,5DE4*+-)I5T],p.=13(*)<9:S*+-)^&=, V +M)CX.U.(*Ij8P$dC-$, V +-)?Q Q2, V +-) .Y(
Ij8.2&(
,5&U&3,?.GZ! F^8I?S
+-9 V )&=,?G?)>$eS
4dTaI?6F)7q:)>1S*&C-I?$
,5&U&C-DE)bC-$
.Y&=,5$N&^*[NI H8KI/S*+-9k.0&3,56&U)q:)>17S:&C-I?$ 'DECM+-+MC.)>1I/$
9*.K,jT&)>6U8^,5639*.>[N,?$
9d.YI'I?$]Q|$kCMDE4zI?6&=,5$N&^`/S
)>.Y&C-I?$E&(L,j&K$
)7)>9
.
&=I V )',/9*9:6=)>.=.Y)<9,5&&(
C-.b4LI/CM$N&CX.8P(
,5&8KI/S*+-9 V )m&(
)'.YC-7)mI?T&=(*)'.=13(*)>9*S*+M)H&3, V +-)m&=(
,j&b8I?S
+-9 V )p6)<`NS*CM6=)>9kTaI?6.YI/De)mi/CMn/)7$
.)&HI5TF4z)76=CMI:9:CX1Z6)<,5+M@h&=CMDE)p&3,?.G:.&=I V )Z6=S*$yI/$y,k.c:.0&=)7
D w|$x,5$
.8)76&I&=(*CX.f`NS*)<.0&=CMI/$y17,?$ V )Zi/CMn/)7$y,/.TaI/+M+-Ij8.>PCATK,.Y)7&
: . <\ bI5T\$E&3,?.GO.UC-.&I V ).=13(*)>9*S*+M)<9\[5&=(*)7$&(*))7$N&6=CM)<.C-$E&(*)b&=, V +M)8PC-+-+
6=)74*+-C-1>,j&=)^&(*)>DE.)7+-n?)<.U,5T&)7 6  t; IF87 EH97   7 
&=CMDE)mS*$*CM&=.>[*8P(*)>6) IF87 CH27   7  ,56=)b&=(*)m4L)>6C-I:9*.^I5TG F67YO H87   -QFr*I?6P)7q*,5DE4*+-)?[:CMT8)H(
,on?)&(*)fTaI/+M+-Ij8PCM$
iZ&=(*6=)7)f&=,/.YG:.>^ &F . (
Dd.)>17.>9[  F . J?EDE.)>1>.=[ & H6. J5EDd.)>17.>9[  H . ?eDd.Y)<17.3 [2 &N . /EDE.)>1>.7[ EN . J9(5eDd.)>17.3 QP^(*)>$][L&(*)'.=13(*)<9:S*+-)p8PCM+-+J6=)74z)>,5&
,5T&)76b)7n?)>6$c (??eDd.Y)<17.>QUOI
[*TaI?6,5$Oci?C-n?)7$&=,/.YG.Y)7&CA&CX..S 1C-)7$N&P&I.Y&I/6)H)7$N&=6C-)>.^I/$*+MckTaI?6  t  F 7  H 7   7  P9*S*6=,5&C-I?$
C-$&(*)p.=13(*)>9*S*+M)f&3, V +-)?Q  t  F 7  H 7   7  CX.P17,?+M+-)>9&(
) FE 7jZ T?-^I5T&(*)p.)&I?TJ&3,?.GO.*HQ

/=)3
;)   1

T1,01> , + )5 +  )5: ;)    <  74) >+  !, $ 0 ; >  ,5&414 "$ )=  )41
0414> #
 3 $ %2 I ) :! 1&(  %    1 ) > > 0 ?

#%$&(*)H6=)>,/.YI/$*CM$
i'8)f4
6)<.Y)>$/&=)>9, V Ijn?)bTaI?6^&(
)H17I?DE4*S:&3,j&=CMI/$I?TJ&(
)H.C-7)HI5T2,e.=13(*)<9:S*+-)&3, V +-)?[:I/$*)m,?.=.YS
De4*&C-I?$&=(
,j&P8)
C-DE4*+MCX1CM&+-ckDd,/9:)mC-.&=(
,j&;z . *Q^(
,5&C-.>[*,5+-+\&3,?.GO.P,?6)fC-$4
(
,?.)?Q
N&3,56&^CMDE)
,/.YG C-$DEC-+M+-CO)<1I/$
9*.
F

H

O N

I P
J
 
I 
, V +-)?Q F|b$lq*,5DE4*+-)I?T2,E, V +-)-@ 6C-n?)>$W:13(
)>9:S*+-)
bIj8K)>n?)76<[\&3,?.GO.'I5T&=)7$t9:I_(L,on?)d$*I/$:@B>)76=Il4*(
,/.Y)/Q#&Z8KI/S*+-9 V )kC-$N&)>6)<.0&=CM$*iW&=Iy9:)7&)76=DECM$
)8P(
,j&Z8KI/S*+-9 V )&=(*)Dd,j0I/6
17cO17+M)f8P(*)>$&=,/.YG:.K(
,on?)$*I?$*@B>)76=Ip4*(
,/.Y)/Q2^(
)6=)>.S*+M&=.I5T,?$kC-$On?)>.Y&C-i/,5&C-I?$dC-$N&IZ&(*CX.C-.=.YS
)(
,/. V )>)7$ki/CMn/)7$k,/.^^(*)7I/6)>D J*Q Q
RO
j
 BCB! V
Fd 75'S T?7Me "pe77 "H%o #j% $ '& <G F 7YO H87   7 X% (*),+.- OF67 EH27   7  /E7o71 0 V
{Z V
m%o #o

V
jje5 B5 T V
o N5 2
@Hj]4 3= |.K4z)76^I/S*69*);
$*CM&C-I?$I5T,pDd,j0I/617cO17+M)/[O)7n?)>$k8P(*)>$&3,?.GO.(
,on/)b$*I/$:@7)76=Ip4*(L,?.CM$*iN.7[N&3,?.GeC-$
.Y&=,?$
1)<.K8I?S
+-9d6=)74z)>,5&
&=(*).=,5DE)b8^,oceCM$)<,?13(dDd,j0I/6K17cO17+M)/5Q ])&S
.1I?$L.YCX9:)76,5$)7q*,5DE4*+-)CM$k8P(*C-13(&(*)fI:171S
66=)7$
17)>.I?TJ,m&3,?.GZ\CM$k,'Dd,j0I?6K1c:1+-)
V )Z,/..Y(
Ij8P$C-$yrC-i
Q #
QP|b.f.(*Ij8P$WCM$W&=(*)')7q:,?DE4*+M)'I5TFrCMiLQ #L[*&=(*)76=)',56=)mGN@ IO1>1S*6=6=)7$
17)>.^I5T2&=(*)p&3,?.Gk\U9:S
6C-$*ik,EDd,j0I/6
17cO17+M)/QF^(*)H;
63.0&I:1>1S*6=6)>$
1)fI5T2\.0&3,56&=. _&C-DE)mS*$*CM&=.^Ta6=I?D&(*)p.Y&=,?6Y&PI5T&(
)mDE,50I?617cO17+M)/QF^(*)mDd,j0I/61c:1+-)H)7$
9*.Pqk&C-DE)
S*$
CA&3.,5T&)76&(
)'+X,?.Y&ZaCBQ )/QZG/@ %&(LI:171S
66=)7$
17)mI5T&=(*)p&3,?.G\FC-$l&=(*)'Dd,j0I/617cO17+M)/QfRbTF1I/S*6=.)?[L&(
C-.D'S
.Y& V )'&=(*)Z.=,5DE)pC-$

Version 2 CSE, IIT Kharagpur

+ x= pi

Ti(1) Ti(2)

Ti(k1)

Ti(k) Ti(k+1)

Ti(2k1)

rCMi/S*6)#L y,j0I?6 K c:17+M)H}~(*)>$W| ,?.G b,/.I/$:@)76=I U(


,?.CM$
i
time

)<,?13(DE,50I?6P1c:17+M)/Q
|..S*DE)f&(
,5&&=(*)m.YC-7)fI5T)>,/13(kDd,j0I/617cO17+M)HCX. sQ*^(*)7$J[:Ta6I/D ,5$CM$
.4z)>1 &=CMI/$I?TrC-i
Q#
[OTaI/6K&=(*)f&=,/.YGE&=Ie6=)74z)>,5&CX9:)>$/&=C-1>,5+-+Mc
C-$W)>,?13(Dd,j0I/6^17c:1+-)?Q
 .  z'M

  sKJ
bIj8m[?TaI/6F&(
)b&3,?.GZ\\&=I'(
,on/)CX9:)7$N&CX17,?+LI:1>1S*6=6)>$
1)&C-De)<.UC-$)<,?13(dDd,j0I/6K1c:17+M)/[ = WD'SL.0&)>`NS
,5+
&I"L.)7)rC-i
Q J:Q #NQ
OS V .0&=CA&=S:&C-$*iE&=(*C-.CM$lq:4*6<Q J:Q 8)mi?)7&> [  .  ' ! LE  L .  ! L
OIL[&(*)DE,50I?6e1c:1+-) 17I?$N&=,?CM$
.Z,5$sC-$N&)7i/6=,?+UDZS*+A&=CM4
+M)I5T LQy^(*CX.e,56=i?S*DE)7$N&'(
I?+X9*.mTaI/6')>,/13(u&=,/.YGuC-$s&(*)k&=,/.YGu.Y)7&
C-66=)>.4z)>1 &=CMn/)I?TCM&=.4*(
,?.)?Q^(*)>6)7TaI?6=)?[  .  t IF 7 EH97   7  o Q






87   . &87)35
$

&

Kc:1+-CX1k.=13(*)>9:S
+M)>6=.e,56=)n?)>6cu4zI?4*S
+-,?6e,?$
9t,56=) V )7C-$*i{)qO&)>$
.YC-n?)>+McuS
.)>9CM$&(*)C-$
9:S
.Y&6=c?Qu|+X,56=i?)kDE,50I?6=CA&0cuI?Tb,5+-+.Dd,5+-+
)>D V )>9*9:)<9{,?4*4*+-C-1>,j&=CMI/$
. V )>CM$*iDd,5$OS:T,/1 &S
6)<9_4*6=)>.)7$N&+-c_,56=) V ,?.)>9yI?${17c:1+-C-1E.=13(*)>9:S
+M)>6=.>Q Kc:1+-C-1E.=13(*)>9:S
+M)>6=.f,56=)e.C-De4
+M)/[
) d17CM)>$N&>[/,?$
9e,56=)K)<,?.cm&IH4*6=I?i/6=,?DQ|$E)q*,5DE4*+-)P,54*4
+MCX17,5&C-I?$e8P(*)76=)P,f17c:1+-C-1^.=13(*)>9:S
+M)>6CX.$*I/6Dd,?+M+-cmS
.)>9ZC-.,&)>DE4L)>6=,5&S*6=)
17I?$N&6=I?+-+M)>6>Qd| &=)7DE4L)>6=,5&S*6=)d1I/$/&=6I/+M+-)76H4z)76=CMI:9:CX17,?+M+-cy.=,5DE4*+-)>.f&=(*)E&)>De4z)763,j&=S*6=)dI5T,W6=IOI?D ,?$
9{DE,?CM$N&3,5C-$
.HCA&e,j&p,W4*6=)>.)&
nj,5+-S*)/QUOS
13(&)7DE4z)763,j&=S*6)p17I?$N&6=I?+-+-)763.K,?6)H)7D V )<9*9:)<9C-$&0cO4*C-1>,5+]17I?DE4*S:&=)76@17I?$N&6=I?+-+M)<9,5C-61I/$
9:CM&C-I?$*)>6=.>Q
Task Number

Frame Number

T3

F1

T1

F2

T3

F3

T4

F2

r CMi/S*6=) (*|$lq*,5DE4*+-)p:13(*)<9:S*+-)p, V +M)fTaI/6, Kc:17+MCX1p:13(*)<9:S*+-)76


| 1c:1+-C-1e.=13(*)>9:S
+M)>6b6=)74z)>,j&3.,k4*6=)>1I/DE4*S:&)<9_.=13(*)>9:S
+M)/Qf^(*)e4*6=)>17I?DE4*S:&=)>9_.=13(*)>9*S*+M)Z$*)7)<9*.&I V )E.0&=I?6=)>9WI/$*+McWTaI/6bI/$*)
Fd75ZST?7M ,?.9:CX.=1S
.=.Y)<9kC-$yO)<15Q J*Q #LQ Q2K,?13(&=,/.YGC-$W&(
)H&=,?.Gk.)&P&=I V )'.=13(*)<9:S*+-)>96)>4L)<,j&=.C-9:)>$N&CX17,5+-+-cCM$l)>n?)>6cdDd,j0I/6
17cO17+M)/Q{^(*)Dd,j0I?6e1c:1+-)kCX.e9:CMnOCX9:)>9tCM$N&I{I?$*)I?6ZDeI/6)kDeC-$*I/6e17cO17+M)<.kh.Y)>)rCMiLQ N QuU,?13(uDEC-$*I?6E1c:1+-)kCX.e,5+X.YIy1>,5+-+M)<9s,
"3XFE7Qx#%$t&(
)k)q*,?De4
+M).Y(*Ij8P$sC-$rC-i
Q *[2&(
)kDd,j0I/6Z1c:17+M)(
,?. V )>)7$9*CMnOCX9:)>9CM$N&IyTaI?S*6ZDECM$*I/6e17c:1+-)>.Ta63,5DE)>.3 Qx^(*)


Version 2 CSE, IIT Kharagpur

.=13(*)>9*S*+MC-$*i4zI?C-$N&=.bI5TF,d1c:1+-CX1p.13(
)>9:S*+-)76bIO1>1S*6f,j&Ta63,5DE) V I?S
$
9*,56=C-)>.>Q^(*CX.DE)<,5$
.&(
,5&,E&=,/.YG17,?$_.0&3,56&b)q:)>17S:&C-$*idI/$*+Mc
,5&&=(*) V )7i?C-$*$*C-$*idI?T2,ZTa63,5DE)?Q
^(*)Ta63,5DE) V I?S*$L9*,56=CM)<.^,56=)9:)7;
$*)>9&(*6=I?S
i?(&=(*)fCM$N&)>66=S*4:&3.i?)7$
)763,j&)<9 V c,p4z)76=CMI:9:CX1b&C-De)>6>QFK,?13(d&3,?.GEC-.^,?.=.CMi/$*)>9E&=I
6=S*$xCM$xI?$*)EI/6fDEI/6)ZTa6=,?DE)>.>QZ^(*)d,?.=.CMi/$*DE)7$N&fI?TU&3,?.GO.&=ITa63,5DE)<.CX.m.Y&I?6=)>9yCM$s,y7WV
=XR:Mk M7QE|$u)q*,5DE4*+-)E.13(*)<9:S*+-)
&3, V +-)mC-.P.(*Ij8P$CM$ (*Q
Major Cycle

Major Cycle

Minor
cycle

r C-i?S*6=) * _,50I?6,5$L9lC-$*I/6 KcO17+M)<.^CM$l, Kc:1+-C-1p*13(*)>9:S


+M)>6
^(*)m.CM>)I?TJ&=(*)fTa6=,?De)f&=I V )HS
.)>9 V c&(*)m.=13(*)>9:S
+M)>6CX.P,5$C-De4zI?6&=,?$N&^9:)<.YC-i?$4
,?6=,?De)7&)>6,?$
9k$
)7)>9
.&I V )m13(*IN.Y)>$kn/)76=c
1>,56=)TaS*+-+Mc/Q| .Y)>+M)<1 &)<9Ta6=,?De)m.CM>)m.Y(*I/S*+X9.=,j&=C-.YTacd&=(*)HTaI?+-+MIj8PC-$*iZ&(*6=)7)p17I?$
.Y&63,5C-$N&=.>Q
Q 
xT
Zz>\ QE> RT SGB ^(*CX.d1I/$
.Y&63,5C-$/&eC-.EC-DE4LIN.Y)<9t&=I{DEC-$*C-DeC-7)&=(*)W$NS
D V )76dI5Tf1I?$N&=)qO&.Y8PCM&=13(*)<.
I:171S
66=CM$
iW9*S*6C-$*i&=,/.YG{)q:)>17S:&C-I?$JQ^(*)k.C-De4
+M)<.0&pC-$N&)76=4*6=)&3,j&C-I?$uI?TK&=(*C-.Z1I/$
.0&=6=,?CM$N&mCX.H&(
,5&Z,&=,/.YG{CM$L.0&3,5$
17)dD'S
.Y&
1I/De4
+M)7&)6=S*$*$*C-$*iZ8PCA&=(*CM$kCA&3.K,/..CMi/$*)>9eTa63,5DE)/Q b$*+-)>.=.U,m&3,?.Ge17I?DE4*+-)&=)>.K8PCA&=(*CM$kCA&3.K,?+M+-I:17,j&=)>9ETa63,5DE)/[?&=(*)&3,?.GZDEC-i?(N&
(
,on?)k&I V )_.YS
.4z)7$
9:)<9,?$
96)<.0&3,56&)>9CM$~,{+-,5&)>6ETa6=,?De)/Qv^(
C-.E8I?S*+X96)<`/S
CM6=),x1I/$N&)qO&.8PCA&313(C-$On?I?+-nOCM$
ix.I?DE)
4*6=IO17)>.=.YC-$*ieIjn?)>6(*)<,?9\Q2IE,on/I?CX9S*$
$*)>17)>.=.,?6ck17I?$N&)7qO&P.8PCM&=13(*)<.7[O&=(*)p.Y)>+M)<1 &=)>9Ta6=,?DE)H.C-7)m.Y(
I?S*+X9 V )m+X,56=i?)>6K&=(
,5$&=(*)
)q:)>17S:&C-I?$u&=CMDE)I?T)>,/13({&3,?.G[2.IW&(L,j&Z8P(
)7$t,W&3,?.Gx.Y&=,?6Y&3.p,j&Z,lTa6=,?De) V I/S*$
9*,?6cxCA&e.Y(*I/S*+X9 V ), V +-)d&I{1I?DE4*+-)&=)
8PCA&=(*C-$y&=(*).,?DE)'Ta63,5DE)?QEr*I/6Dd,?+M+-c?[]8)d17,?${.Y&=,j&=)e&(*CX.p1I/$
.Y&63,5C-$/&m,?.> 1   &o j
8P(*)76=)) &<^CX.f&(
)e)7q:)>1S*&C-I?$
&C-DE)>.KI5T\&(
)I?T\&=,?.GE\0[:,5$
9kr{CX.K&(*)bTa6=,?DE).CM>)?Q I?&)&=(
,j&&(
C-.1I/$
.0&=6=,?CM$N&UC-DE4LIN.Y)<.K,'+MIj8)76@ V I/S*$
9EI?$Ta6=,?De).YC-7)/[
ChQ )?Q2&=(*)HTa63,5DE)m.YC-7)mrtDZS
.Y&$*I5& V )p.YDd,5+-+-)76^&(L,5$ 1   &o o Q
J*Q 
?*>z 3K*h QJ /E B ^(*CX.1I/$
.Y&63,5C-$/&d6=)>`NS*C-6)<.Z&(
,5&&(*)l$OS*D V )>6dI5TH)7$N&6=C-)>.EC-$&=(*)y.=13(*)>9*S*+M)&3, V +-)
.Y(
I?S*+X9 V )fDEC-$*C-D'S*D C-$kI/6=9*)76K&IeDeC-$*C-DECM>)&=(*)H.0&=I?63,5i?)6)<`NS*CM6=)7DE)>$/&I5T]&=(*)m.13(
)>9:S*+-)&3, V +-)?QFg)7DE)7D V )>6K&=(
,j&P1c:17+MCX1
.13(
)>9:S*+-)763.p,?6)SL.Y)<9sCM$.YDd,5+-+)7D V )>9
9:)>9t,?4*4*+-C-1>,j&=CMI/$
.p8PCM&(n?)76=c{.Dd,5+-+.Y&I/6=,?i?)1>,54
,/1CM&0c?Q{OIL[&(*CX.Z17I?$
.Y&63,5C-$N&'CX.
CMDE4zI?6&=,?$/&b&Id&=(*)Z17I?DEDE)7631CX,5+.S
1>1)>.=.I?TF,d4*6=IO9*S
1 &<Q lC-$*CMDEC->,5&C-I?$_I?T&(*)Z$NS
D V )76bI?TF)7$N&6=C-)>.^&=I V )Z.Y&I?6=)>9WC-$l&=(*)
.13(
)>9:S*+-)H&=, V +-)p17,5$ V )',?13(
CM)>n?)>98P(*)>$W&(*)pDEC-$*I?61c:1+-)p.`NS
,?6)>+Mc9:CMnOCX9:)>.P&(*)pDd,50I?61c:17+M)/QK}~(*)>$W&(*)mDEC-$*I?61c:1+-)
.`NS
,?6)>+Mcl9:C-nOC-9*)>.f&(
)eDd,50I?6m1c:1+-)?[]&(*)EDd,j0I/6H17c:1+-)e17I?$N&=,?CM$
.H,?${C-$N&)7i/6=,?+2$NS
D V )76mI5TKDeC-$*I/6p1c:1+-)>.Ea$
ITa63,?1&C-I?$
,?+
DECM$*I/6F1c:1+-)>.3 Q $
+M)<..2&=(*)DEC-$*I?6U17c:1+-)^.=`NS
,56=)7+-c'9:C-nOC-9*)>.2&=(*)Dd,j0I/6F1c:1+-)?[N.0&=I?6=CM$*if&=(*).13(
)>9:S*+-)^TaI?6UI?$*)^Dd,j0I/6F1c:1+-)
8KI/S*+X9$
I5& V )'.S 1C-)7$N&>[,?.^&=(*)'.=13(*)>9*S*+M)<.C-$W&(*)'DE,50I?6b17c:1+-)p8KI/S*+X9$
I5&b6=)74z)>,5&,5$
9&=(*C-.8I?S*+X9DE,?G?)H&=(*)'.CM>)pI5T
&(*)p.=13(*)<9:S*+-)&3, V +-)H+-,?6i/)?Q2}x)p17,5$TaI?6=D'S
+-,5&)f&(*CX.17I?$
.Y&63,5C-$N&^,/.7
f1

f2

f3

f4

f4n

f4n+1

f4n+2

f4n+3








 .

#%$sI5&=(*)76Z8KI/6=9*.>[CAT^&(
) L
IOI?6'I5T  5r)<`/SL,5+X.  5rK[J&(*)>$s&(
)Dd,j0I?6Z1c:1+-)8I?S*+X9s1I/$/&3,5C-$t,5$sC-$N&)7i/6=,?+F$OS*D V )76ZI5T
Ta6=,?DE)>.>Q

 Q Q]*> 3*5<zw 3P*>N


hEB ^(*CX.&(*C-6=91I/$
.Y&63,5C-$/&^I?$kTa6=,?DE)H.C-7)fC-.^$*)<1)<..=,56=ce&IEDE)7)&^&=(*)f&=,?.G9:)<,?9:+-CM$
)>.>Q
^(*CX.17I?$
.Y&63,5C-$N&CMDE4zI/.)>.b&(
,5& V )&08)7)7$_&(*)E,56=6C-nj,5+]I?TU,d&3,?.G,?$
9lCM&=.f9:)>,/9:+MC-$*)/[L&=(*)76=)pDZS
.0&f)q:CX.0&H,j&+-)>,/.0&fI?$*)pTaS*+M+
Ta6=,?DE)?QP^(*CX.17I?$
.Y&63,5C-$N&C-.b$*)>17)>.=.,?6c.YC-$
1)Z,E&=,/.YGW.Y(
I?S*+X9W$*I5&DeCX.=.bCM&=.9:)>,/9:+MC-$*)/[ V )>1>,5S
.) V ck&=(*)p&=CMDE)ZCA&17I?S*+X9 V )
&=,?G?)7$kS*4TaI/6^.=13(*)<9:S*+-CM$*iL[N&(*)H9:)>,/9:+-CM$*)f8^,?.KCMDEDECM$
)7$N&>Q KI/$
.YCX9:)>6U&=(*C-.>F,m&3,?.G17,?$I?$*+-c V )b&3,5G?)>$kS*4kTaI?6P.=13(*)>9:S
+MC-$*i
,j&&=(*)b.Y&=,56&UI?T\,fTa63,5DE)/Q#T V )&08)7)7$E&=(*)b,?66=CMnj,?+
,5$
9E17I?DE4*+-)&C-I?$dI?T],f&=,?.G'$
I5&U)>n?)7$dI/$*)^Ta63,5DE)P)q:CX.0&3.7[O,m.YCM&SL,j&C-I?$,/.
.Y(
Ij8P$CM$WrCMiLQ  DEC-i?(N&P,56=C-.)?Q#%$k&=(*CX.P17,?.)?[N&=(*)f&=,?.G,56=6=CMn/)>.U,Z+-CA&&+-)p,jT&)>6&(*)HGN&(kTa6=,?De)H(
,/.^.0&3,56&)>9]QFR V nOC-I?S
.+McECM&
17,?$d$*I5& V )b&=,?G?)7$kS*4dTaI?6^.=13(*)>9:S
+MC-$*i'C-$d&=(*)GN&=(dTa6=,?DE),5$L917,?$I?$*+-c V )b&=,?G?)7$kS*4kC-$d&(
)eG  &=(dTa6=,?DE)?+Q S:&>[N&(
)7$
CA&Dd,oc V )m&=IOId+-,5&)H&IdDE)>)&bCM&=.9*)>,?9*+MC-$*)p.CM$
17)H&(*)')q:)>17S:&C-I?$&C-DE)pI5T,e&=,/.YG17,?$ V )mS*4:&=Id&(
)p.YC-7)mI?T,ZTaS*+-+]Ta63,5DE)/Q
^(*CX.HDeC-i?(N&m6=)>.S*+A&pC-${&(*)E&3,?.G_DEC-.=.YC-$*iWCM&=.p9:)<,?9:+-C-$*)d.YC-$
1)E&=(*)E&=,/.YGyDeC-i?(N&p1I/DE4*+M)7&)dI/$*+Mc{,j&H&(*)d)>$
9xI5THa'G  %&(

Version 2 CSE, IIT Kharagpur

Task arrival
Deadline
t

kF

(k+1)F

(k+2)F

rCMi/S*6)  U:,j&=C-.YT,?1&C-I?$I5T,e,?.G )>,/9:+MC-$*)

Task arrival

Deadline

(k+1)F

kF

(k+2)F

r CMi/S*6=)*
F| r*S*+-+Jr
6=,?De)mFqOCX.Y&=. )&08)7)>$k&=(*)p|6=6C-nj,5+],?$
9 )>,/9:+-CM$*)mI?T,d,?.G
Ta6=,?DE)'D'SL13(y,jT&=)76&(*)E9:)>,/9:+-CM$*)e9l(
,/.b4
,/..)>9]Q}x)'&=(*)76=)TaI/6)'$*)7)<9y,dTaS
+M+Ta63,5DE)p&=Ik)q:CX.0& V )7&08K)>)7$l&=(*)E,56=6C-nj,5+JI?TU,
&=,/.YGk,?$
9CA&3.9:)>,/9:+-CM$*)m,/.P.Y(*Ij8P$C-$WrC-i
Q *
[*.YIe&(L,j&P&=,/.YG9:)>,/9:+MC-$*)<.P1I?S
+-9 V )mDE)7&>Q
lI?6=)eTaI?6=Dd,5+-+Mc/[]&(
C-.Z1I?$L.0&=6=,?CM$N&p17,?$ V )dTaI/6DZS*+-,5&)<9x,/.fTaI?+-+MIj8.>ZOS
4*4LIN.Y),&3,?.G{,?6CX.Y)<.m,jT&=)76 f&C-DE)dS*$*CM&=.p(L,on?)
4
,?.=.)>9k.C-$
1)H&=(*)H+-,/.0&PTa63,5DE)d.)7)mrCMiLQ */QF^(*)7$][*,/..S*DEC-$*ie&(
,5&b,e.C-$*i?+-)fTa6=,?De)HCX.P.YS d17CM)>$N&P&Id1I/De4
+M)7&)H&(
)H&=,?.G[
&(*)&=,?.G{1>,5$t17I?DE4*+-)&) V )TaI/6)kCA&3.'9:)<,?9:+-CM$
)CA J 
NI/6>[ J
NG  QlgP)>De)>D V )76'&(
,5&p&(*)kno,?+MS
)I5T
mDeC-i?(N&eno,?6c{Ta6=I?DI?$*)CM$L.0&3,5$
17)kI5TP&=(*)&=,?.G{&I{,?$*I5&=(*)76<Q{^(
)k8I?63.0&Z1>,?.).=1)>$
,56=CMIt8P(*)76=)&=(*)&=,?.GuC-.Z+-CMG/)7+-c
&IWDEC-.=.mCM&=.p9*)>,?9*+MC-$*)<I:1717S*63.fTaI?6H&(
)d&=,/.YG_C-$
.Y&=,?$
1)E(
,onOC-$*i&(*)dDEC-$*CMDZS*D nj,?+MS*)dI?T  [.YS
13({&(L,j& 
Q^(*CX.
C-.&=(*)^8KI/6=.Y&1>,?.)K.=1)7$L,56=CMIL[o.C-$
1)^S*$
9*)76&(*CX.&(*)&3,?.Gm8KI/S*+-9'(
,on?)U&If8,?CA&&(
)+-I?$
i?)>.Y& V )7TaI?6=)KCM&=.2)7qO)<1S:&=CMI/$Z1>,5$Z.Y&=,?6Y&<Q
#&^.(*I/S*+-9 V )m17+M)<,56K&(
,5&^CMT,p&=,/.YG,?66=CMn/)>.]0S
.0&,5T&)76P,'Ta6=,?DE)(
,/.^.0&3,56&)>9][/&=(*)7$&(
)b&3,?.Gd8KI/S*+-9k(
,on?)b&Ie8,?CA&TaI?6&=(*)
TaS*+-+9:S*63,j&=CMI/$lI5T2&(
)Z1S
66=)7$N&PTa63,5DE) V )TaI?6=)mCM&f17,?$ V )p&=,5G/)7$lS*4WTaI/6b)7qO)<1S:&=CMI/$]Q^#TU,E&=,/.YG,j&,?+M+DEC-.=.Y)<.CM&=.9:)>,/9:+MC-$*)/[
&(*)>$17)76&=,5C-$*+-cdCA&P8I?S*+X9 V )fS*$
9:)>6.YS
13(.YCM&SL,j&C-I?$L.7Q2#%$kI?&(*)>6^8KI/6=9*.>[/&(*)H8I?63.0&^17,?.)H.17)7$
,?6C-ImTaI?6P,'&=,/.YGE&=IZDE)7)7&PCA&3.
9:)>,/9:+-CM$*)bIO1>1S*63.TaI/6UCM&=.KCM$L.0&3,5$
17)P&(
,5&K(
,/.&=(*)bDEC-$*CMDZS*D .)74
,?6=,5&C-I?$eTa6I/D &=(*).Y&=,?6Y&KI5TJ,HTa63,5DE)?Q^(*)9:)&=)76=DeC-$
,5&C-I?$
I5Tf&(*)lDEC-$*C-D'S*D .Y)>4
,563,j&=CMI/$nj,5+-S*)tChQ )?QDeC-$J YETaI/6,x&=,?.G,?DeI/$*is,5+-+C-$
.0&3,5$
17)>.dI?T&=(*)W&=,/.YG8KI/S*+X9(*)>+M4~C-$
9:)&=)76=DECM$*C-$*iE,ZTa)>,?.C V +M)fTa63,5DE)H.YC-7)/Q}{)m.(*Ij8 V ck^(*)>I?6=)7D J:Q J'&(
,5& 1
F YKCX.^)>`NS
,5+z&=I
%55z 7 L KI?$
.)>`NS*)>$/&=+Mc/[
&(*CX.P1I/$
.Y&63,5C-$/&1>,5$ V )m8P6=CA&&)>$W,/.7TaI/6P)7n?)>6ckY
J 
%55z 7 zB
N   >3 J (?
?

Version 2 CSE, IIT Kharagpur

I?&)&=(
,j&e&(
C-.d17I?$
.Y&63,5C-$N&Z9:);L$*)>.E,5$S*4*4z)76@ V I?S*$L9tI?$Ta6=,?DE).CM>)kTaI/6e,_&=,?.Gs\0Qs^(
,5&eCX.7[UCAT&=(*)Ta6=,?De)W.CM>)kCX.
,5$Oc+-,?6i/)76P&=(
,5$y&(*)e9:);
$
)>9_S
4*4L)>6Y@ V I?S*$
9][L&=(*)7$y&=,/.YG:.DEC-i?(N&DECX..b&(
)7C-6f9:)<,?9:+-C-$*)>.>QfFq:4*6>Q=J:Q (9:)7;
$*)>.b&(
)'Ta63,5DE)
.YC-7)/[
Ta6=I?D &=(*)e17I?$
.CX9:)763,j&=CMI/$lI5TFI?$
)p&=,/.YGI?$
+Mc/Q bIj8 1I?$L.YCX9:)76=C-$*ik,5+-+&=,?.G:.7[L&(
)'Ta63,5DE)Z.C-7)'DZS
.Y& V )e.Dd,5+-+M)>6&(L,5$
Dd,jq]aiN179]hrK[  = J*Q
RO
j
 B  B V* Fe
Z F2R+F 7 *5jBjw "d V*kj #_j jj4 "3 F V*=5  
jjO "3= Fdd %j bBZ Fd1 - Fe -  / /
3j
?7 NWj* 5z3m "'d%o #pbX'W P R
jJZ/3 - z /2
@Hj]4 3= J)&mi . iN179]hrK[ Lh [J8P(
)76=)eiN179{C-.f&=(*)eTaS*$
1&C-I?$s9:)&=)76=DECM$*C-$*i&(
)di?6=)>,j&=)>.Y&H17I?DEDEI?$u9:C-nNCX.I?6HI5TCA&3.m,56=i?S*DE)7$N&3.7Qe#&
TaI/+M+-Ij8.Ta6I/D &=(*)p9:);L$*CA&=CMI/$lI5T2i/1>9&=(
,j&biEDZS
.0&b.=`NS
,56=)7+-ck9:C-nOC-9*)m)>,?13(I5Trv,5$
9 LYQ ])7&\ V )p,e&3,?.G8PCM&(l7)>6IE4*(L,?.CM$*iLQ
bIj8m[N,/..S*DE)P&(L,j&U&=(*CX.K^(*)>I?6=)7D C-.KnOCMI/+-,5&)>9eTaI/6K17)76&=,5C-$dC-$/&=)7i/)763.D ,5$
9d$J[N.S
13(d&=(
,j&K&(*) JFIO1>1S*63.FC-$E&(
)D'&(dTa63,5DE)
,?$
9&=(*)p9:CMz)>6)>$
1) V )&08)7)>$k&=(*)p.Y&=,56&^&C-DE)mI5TJ&=(*)mDp&=(Ta6=,?De)m,?$
9&=(*)p,56=6=CMnj,5+z&=CMDE)mI5T&(*)m$N&=(&3,?.GCX.^+M)<..&=(
,5$Wi
Q^(
,5&
CX.7[L 1!  ! 
Q
CMnOCX9:C-$*iE&(*CX.P)7qO4
6)<..CMI/$&=(*6I/S*i?(
I?S:& V ci
[:8)Hi?)7&>
1 !
 ! z
:   sK J N
bIj8K)>n?)76<[/r jiZ,5$L9  oie,56=) V I?&(CM$N&=)7i?)>6=. V )<17,?S
.Y)iZCX.Ki/179J  [ r2Q:^(*)76=)TaI/6)/[/8)1>,5$k8P6=CM&)
. F ,?$
9
. H
TaI/6.I?DE)mCM$N&=)7i?63,5+Jno,?+MS
)>. F ,5$L9 5H Qb:S V .Y&CM&S:&=CM$*ik&(*CX.C-$yFqO4
6;J:Q *[L8K)pi/)& 1 !  $! 5H QP:CM$
17) 1 ! F ,?$
9
! 5H ,56=) V I5&=(ECM$N&)>i?)>6=.>[j&(
)7C-6U9:CMz)>6)>$
1)1>,5$*$*I?& V ),fTa63,?1&C-I?$
,?+:no,?+MS
)P+McOC-$*i V )7&08K)>)7$dm,5$
9 Q^(*)>6)7TaI?6=)?[o&=(*C-.U)q:4*6=)>.=.YC-I?$
1>,5$$*)7n/)76 V )p.,5&CX.0;
)<9\Q
#&'1>,5${&(*)>6)7TaI?6=) V )1I/$
1+-S
9:)<9{&(
,5&m&(*)dDEC-$*CMDZS*D &=CMDE) V )&08)7)>$x,Ta63,5DE) V I?S*$
9
,56=cy,5$
9{&=(*),56=6C-nj,5+2I5T&(
)1I?6=6=)@
.4LI/$
9:C-$*iECM$L.0&3,5$
17)mI5T\1>,5$$*I5& V )m+M)<..&=(
,5$WiN179]hrK[ LB Q

r
I?6,ei?C-n?)>$k&3,?.Gk.Y)7&CA&CX.P4zI/.=.YC V +-)f&(
,5&DeI/6)f&=(
,5$WI?$
)Ta63,5DE)m.CM>)p.,5&CX.0;
)<.P,5+-+&(*)H&=(*6=)7)p1I/$
.Y&63,5C-$/&3.7Q2#%$l.S
13(1>,?.)>.>[
CM&UCX. V )&Y&=)76K&Ip13(*IOIN.Y)^&=(*)b.(*I?6&)<.0&FTa63,5DE).CM>)?Q2^(*CX.FCX. V )>17,?S
.)I5T&(
)PT,?1&F&(
,5&F&(
).=13(*)>9:S
+-, V CM+-CM&0c'I5T],f&3,?.Ge.)&UC-$
176)<,?.)>.
,/.^DeI/6)H$OS*D V )>6PI5TTa6=,?De)<. V )<1I/De)m,onj,5C-+X, V +-)Ijn/)76P,eDd,j0I?617c:1+-)?Q
#&^.Y(*I/S*+X9d(*Ij8)7n?)>6 V )6=)7DE)7D V )>6)<9e&(
,5&U&=(*)DE)>6)bT,?1 &K&(
,5&,Z.YS*CM&=, V +-)Ta63,5DE).CM>)1>,5$ V )f9:)7&)>6DEC-$*)>99*IN)<.U$
I5&KDE)<,5$
&=(
,j&,ZTa)>,/.YC V +-)H.=13(*)<9:S*+-)f8I?S
+-9 V )HTaI/S*$
9\Q#&Dd,oc.IZ(
,?4*4z)7$&(
,5&^&(*)>6)HCX.^$*I5&P)7$
I?S*i/($OS*D V )>6PI5TJTa63,5DE)<.,onj,?CM+X, V +-)fCM$W,
Dd,j0I/6P1c:1+-)H&I V )p,?.=.YC-i?$*)<9d&=I,5+-+&(*)H&3,?.GCM$L.0&3,5$
17)>.>Q
}x)m$*Ij8 C-+M+-S
.Y&63,j&=)m(*Ij8,?$,?4*4*6=I?4*6=C-,5&)Ta6=,?DE)H.C-7)m17,?$ V )p.Y)>+M)<1 &=)>9TaI?617cO17+MCX1H.13(
)>9:S*+-)763.&(
6I/S*i?(W,ZTa)78 )q*,5DE4*+-)>.>Q
]
2 CB |1c:1+-CX1d.13(*)<9:S*+-)76pCX.m&=I V )S
.)>9x&Iy6S*$x&=(*)TaI/+M+-Ij8PCM$
iW.)&ZI5TP4L)>6C-I:9:CX1E&=,/.YG:.mI/$t,WS*$*C-4*6I:17)>.=.YI/6>pG F .
& F . [  F . #O [: H . & H . [  H . (? [
I N . &N . [ CN . J5N [OI P . & P . J:[ 'P . J?/Q:)7+-)>1 &b,?$,?4*4*6=I?4*6=CX,j&)Ta63,5DE)m.YC-7)/Q
QJLhJ<z B r*I?62&=(*)i/CMn/)7$Z&=,?.GZ.)&<[/,?$E,?4*4*6=I?4*6=CX,j&)KTa63,5DE).YC-7)PCX.2&=(*)PI?$*)^&=(
,j&.,5&CX.0;
)<.,5+-+:&(
)^&(*6=)7)P6=)>`NS*C-6)<9Z17I?$
.Y&63,5C-$N&=.>Q
#%$&(
)HTaI?+-+MIj8PC-$*i
[O8)p9:)&=)76=DECM$*)m,E.S*CA&3, V +-)HTa63,5DE)m.YC-7)mrt8P(
C-13(l.=,j&CX.Y;
)>.P,?+M+&=(*)H&(*6=)7)H6=)>`NS*C-6)<917I?$
.Y&63,5C-$N&=.>Q
$ 1  6&o
EQFr
6I/D &(
C-.17I?$
.Y&63,5C-$N&>[O8)mi?)& (
Zz>7j*h CB ])&br V )p,?$,?4*4*6=I?4*6=CX,j&)Ta63,5DE)m.YC-7)/[:&(*)>
Zz>7j*h

 B ^(*)mDd,j0I?6P17cO17+M)  TaI?6^&=(*)mi?C-n?)>$k&3,?.Gk.)&CX.^i?C-n?)7$ V c  .  t #L[ (*[ J?/ . J?*Q


.(*I?S*+X9 V )p,?$C-$N&)7i/6=,?+\D'S*+M&C-4*+-)mI5T&(*)fTa63,5DE)p.CM>)Hr[*CBQ )?Q  1 4 .
Q
^(*CX.b17I?$
.CX9:)763,j&=CMI/$C-DE4*+MC-)>.&(
,5&rv17,5$&3,5G?)mI/$&(*)pnj,?+MS*)<!. J:[ #
-[ (:[ *E[ J?*QKr
6=,?DE)'.YC-7)mI?T (
,?. V )7)>$l6S
+M)<9WI?S:&b.CM$L1)pCM&
8I?S*+X9nNC-I?+X,j&=)f&(*)p17I?$
.Y&63,5C-$N& Q
Zz>7j*h B I.=,j&CX.YTac&(
C-.17I?$
.Y&63,5C-$N&>[*8)m$*)>)>9&I13(*)<13Gk8P(*)7&(*)>6b,d.)7+-)>1 &=)>9Ta63,5DE)p.YC-7)prv.=,j&CX.Y;
)>.^&=(*)mC-$*)>`NS
,?+MCM&0c
J 
5L 7 
 TaI/6P)>,?13(  Q


















Version 2 CSE, IIT Kharagpur

J)&S
.;
63.Y&P&6=cdTa6=,?DE)H.C-7)J:Q
r
I?6r . Je,5$
9&=,/.YGk Fj
J ! J 
%55L3J%7 #N
# #  J
#
^(*)>6)7TaI?6=)?[NTaI?+6 OFb&(*)mC-$*)<`/SL,5+-CA&0cCX..=,j&=C-.Y;
)>9]Q
J)&S
.&=6ckTaI?6r . Je,5$
9k&=,/.YGO H?
J ! J 
%55L3J%7 (?
# # 
(
^(*)>6)7TaI?6=)?[NTaI?+6  H &(*)mC-$*)<`/SL,5+-CA&0cCX..=,j&=C-.Y;
)>9]Q
J)&S
.&=6ckTaI?6r . Je,5$
9k&=,/.YGO N?
J ! J 
55zKJ:7J?/
# #  J
J5
r
I?+6  N &=(*)mC-$*)>`NS
,?+MCM&0cCX.P.,5&CX.0;
)<9\Q
^(*)>6)7TaI?6=)?[NTaI?6r . Je,?$
9&3,?.G P
J ! J 
55zKJ:7J?/
# #  J
J5
r
I?+6 'PH&=(*)mC-$*)>`NS
,?+MCM&0cCX.P.,5&CX.0;
)<9\Q
^(OS
.>[*1I/$
.0&=6=,?CM$N& eC-.P.=,j&=C-.Y;
)<9 V ck,?+M+&3,?.G:.TaI?6^Ta63,5DE)m.YC-7,) J*Q
OIL[OTa6=,?DE)p.YC-7) Je.,5&CX.0;L)>.P,5+-+&(
)H&(*6=)7)m1I/$
.Y&63,5C-$/&3.7Qb)7$
17)?E[ JZCX.P,eTa)>,?.C V +M)fTa63,5DE)m.YC-7)/Q
J)&S
.&=6ckTa6=,?De)m.CM>
) #
Q
r
I?6r . #d,5$
9&=,/.YGk Fj
J ! # 
%55L # 7 #N
# * #
#
^(*)>6)7TaI?6=)?[NTaI?+6  F &(*)mC-$*)<`/SL,5+-CA&0cCX..=,j&=C-.Y;
)>9]Q
J)&S
.&=6ckTaI?6r . #d,5$
9k&=,/.YGO H?
J ! # 
%55L # 7 (?
( * 
(
r
I?:6  H &(*)UCM$*)<`NS
,5+-CA&0cC-.J$*I5&J.=,j&=C-.Y;
)<9\QJ}x)F$*)>)>9H$*I?&\&(*)>6)7TaI?6=)+MIOI?Gf,5$OcTaS
6Y&=(*)76<Q K+-)>,?6+-c?[<r . #PCX.]$*I?&J,.YS
CA&3, V +-)2Ta6=,?DE)F.YC-7)/Q
J)&S
.^$*Ij8&6=cTa63,5DE)m.YC-7
) (*[O&I13(*)<13GdCAT2&(L,j&PC-.b,5+X.YIZTa)>,/.YC V +-)?Q
r
I?6r . (e,5$
9&=,/.YGk F [*8)H(
,on?)
J ! ( 
5L/ (%7 #O
# 
#
^(*)mC-$*)<`/SL,5+-CA&0cCX.^$*I?&b.,5&CX.0;
)<9TaI/6PG FoQ}x)m$*)7)<9$
I5&P+MIOI/Gk,5$OcdTaS*6&(
)76<Q K+M)<,56=+Mc/[Or . (eCX.^$*I5&b,E.S*CM&=, V +M)fTa63,5DE)m.YC-7)
J)&S
.^$*Ij8&6=cTa63,5DE)m.YC-7) *Q
r
I?6r . E,5$L9&3,?.G F [*8)H(
,on?)
J ! 
5L : 7 #N
# J5  J
#
^(*)mC-$*)<`/SL,5+-CA&0cCX.^$*I?&b.,5&CX.0;
)<9TaI/6PG FoQ}x)m$*)7)<9$
I5&P+MIOI/Gk,5$OcdTaS*6&(
)76<Q K+M)<,56=+Mc/[Or . ZCX.P$*I?&,e.S*CM&=, V +M)HTa63,5DE)m.CM>)
J)&S
.&=6cCAT J5ZC-.b,'Ta)<,?.C V +M)fTa63,5DE)p.YC-7)/Q
r
I?6r . J5E,5$L9&3,?.GG Fo[*8)H(
,on?)
J ! J5 
5L3 J5: 7 #N
# #/  #
#
^(*)>6)7TaI?6=)?[:r . J5ZCX.,5+X.YIe$*I?&b.YS*CM&=, V +-)?Q
OIL[:I?$*+-cd&=(*)HTa6=,?DE)H.C-7,) JZC-.P.S*CM&=, V +M)HTaI/6.13(
)>9:S*+-C-$*i
Q

Un?)7$p&(*I/S*i?(mTaI/6q*,5DE4*+-9) J*Q 8K)^1I/S*+-9Z.YSL171)<..YTaS*+-+McH;L$
9',f.YS
CA&3, V +-)UTa63,5DE).YC-7)K&(
,5&2.=,j&=C-.Y;
)<.,?+M+N&(
)K&=(*6=)7)K17I?$
.Y&63,5C-$N&=.>[
CM&UCX.F`NS*CA&=)4*6=I V , V +-)K&=(
,j&U,m.S*CM&=, V +M)Ta6=,?De)P.CM>)PDd,oc'$*I?&F)q:C-.Y&FTaI/6DE,?$Oc'4*6=I V +-)7Dd.>Q#%$d.S
13(d17,/.Y)<.7[?&IH;
$
9d,Ta)<,?.C V +-)PTa63,5DE)
.CM>)E8K)eDECMi/(/&m(
,on/)'&=Il.Y4*+-CM&m&(*)e&=,/.YGaI?6m,Ta)78 &=,/.YG:.3&=(
,j&mCX.d,?6)o1>,5S
.C-$*inOC-I?+X,j&=CMI/$yI5TK&(*)17I?$
.Y&63,5C-$N&=.CM$N&=IW.Dd,5+-+M)>6
.S V @B&=,/.YG:.K&(
,5&b17,?$ V )p.=13(*)>9:S
+M)<9kC-$l9:CA)76=)7$N&^Ta63,5DE)>.>Q

Version 2 CSE, IIT Kharagpur

]
2  B ] KI/$
.YCX9:)>6H&(*)ETaI/+M+-Ij8PCM$
i.)&pI?TK4z)76=CMI:9:CX1E6)<,5+M@h&=CMDE)Z&=,/.YG:.f&I V ).13(
)>9:S*+-)>9 V cy,W1c:17+MCX1E.13(*)<9:S*+-)76<H F .
&4F . [ IF . #O [:OH . &H . J:[ EH . (? [
N . & N . (*[  N . J5N Q6b)7&)>6DEC-$*)p,d.YS
CA&3, V +-)fTa6=,?De)m.CM>)HTaI?6^&=(*)H&=,/.YGk.)&<Q
QJLhJ<z b.CM$*iE&=(*)H;
63.0&17I?$
.Y&63,5C-$N&>[:8)f(L,on?) (:Q
.YC-$*iE&(
)p.Y)<1I?$L917I?$
.Y&63,5C-$N&>[:8)m(
,on?)f&(
)mDE,50I?617cO17+M)  .  # 7 (:7J5N . J?*QUOIL[:&(*)m4z)76=DEC-.=.C V +-)mnj,5+-S*)>.^I?T ,56=)
(*[ Z,?$
9 J?*Q K(*)>13GOC-$*iZTaI?6^,pTa63,5DE)H.YC-7)&(
,5&^.=,j&=C-.Y;
)<.U&=(*)f&(*C-639k1I/$
.Y&63,5C-$/&<[/8)H17,5$k;
$
9k&(
,5&$
IZnj,5+-S*)HI5T C-.^.S*CM&=, V +M)/Q
IEIjn?)7631I/DE)P&(*CX.^4*6=I V +-)7DW[:8)$
)7)>9k&Id.4*+-CA&^&(
)H&=,?.GE&(L,j&PC-.^Dd,?GNC-$*iZ&(*)H&3,?.G.Y)7&PS*$
.=13(*)>9:S
+-, V +M)/Q2#&^CX.^)>,/.YcE&=IEI V .)76=n?)
&=(
,j&f&(*)Z&=,/.YGW N (
,?.b&(*)E+X,56=i?)<.0&b)7q:)>1S*&C-I?$l&=CMDE)d,5$
9y1I?$L.Y)<`/S
)7$N&+-cl9:S*)Z&I&(*)E1I/$
.0&=6=,?CM$N& Dd,5G/)>.b&(*)ZTa)>,/.YC V +-)'Ta63,5DE)
.CM>)>.P`NS*CM&)m+X,56=i?)/Q
}x)E&6=cy.4*+MCM&Y&=CM$
il N C-$N&I&08KIWI/6H&(*6=)7)e&=,/.YG:.>Qd|PT&)>6'.4*+MCM&Y&=CM$
il N C-$N&I&(*6=)7)e&3,?.GO.>[]8)E(
,on?)/f N F . K J?*[ [ J5N [\ N H .
3 J5*[ J:[ J5N [O N N . K J5
[ J*[ J?/Q
bIj8 &(
)4LIN..C V +M)dnj,?+MS*)<.HI5Tr,?6) JW,?$
9 #
Q}x)k17,?$s13(*)>13Gl&=(
,j&',5T&)>6'.Y4
+MCM&Y&=CM$*i_&(*)E&3,?.GO.>[r . JW,?$
9ur . # V )>17I?DE)
Ta)<,?.C V +-)fTa6=,?DE)H.C-7)>.>Q

#&CX.Pn?)>6c9:C 17S*+A&b&I1I/DE)fS
4l8PCA&=(W,d17+M)<,56.)&I?Ti/S*C-9*)7+-CM$*)<.^&IdCX9:)>$/&=CATack&(*)')q*,?1&&3,?.G&=(
,j&CX.^&I V )p.4*+MCM&>[z,5$
9&=(*)
4
,?6Y&3.HCM$N&=I8P(
C-13(uCM&p$*)7)<9*.f&I V ).Y4
+MCM&>Q^(*CX.f&(
)76=)TaI?6=)E$*)7)<9*.f&I V )9:I/$*) V c_&6=C-,?+F,5$
9x)76=6=I?6<Qer
S*6Y&=(*)76<[J,/.f&(*)d$OS*D V )>6
I?TU&=,/.YG:.&I V )d.13(*)<9:S*+-)>9{CM$L16=)>,?.)>.>[&(
C-.HDE)&=(*I:9yI?TU&=6CX,5+F,?$
9y)>66=I?6 V )>1I/DE)>.fCMDE4*63,?1&CX17,?+F.YC-$
1)e)>,/13(y&3,?.Gl$*)7)<9*.f&I V )
13(*)<13G?)<9y.)74
,?6=,5&)7+-c?QeIj8)7n/)76<[z8P(
)7$x&(*)e&3,?.Gy.Y)7&p1I?$L.YCX.0&3.fI5T^I?$*+-c_,Ta)78 &3,?.G:.H8K)d17,?$y)<,?.CM+-cy,54
4*+Mc_&(*CX.f&)<13(*$*CX`/S
)Z&=I
;
$L9,ZTa)<,?.C V +-)HTa63,5DE)m.YC-7)fTaI?6,E.)&I?TJ&=,/.YG:.^I?&(*)>68PCX.Y)HS*$L.13(*)<9:S*+X, V +-) V ck,d1c:1+-CX1f.=13(*)<9:S*+-)76<Q


 <$&)3 87


<. 02-  &<. /8:)3
#"

&

}x)'(
,on/)p,5+-6)<,?9:c.0&3,j&=)>9W&=(
,j&H1c:1+-C-1'.13(*)<9:S*+-)763.,56=)pIjn/)76=8P(*)7+-DECM$*i/+Mc4LI/4*S*+X,56CM$l+-Ij8^@17I/.Y&6)<,5+M@h&=CMDE)',?4*4*+-C-1>,j&=CMI/$
.7QbIj8^@
)>n?)76<[\I?S
6H9*C-.=1S
.=.CMI/$_I?$u1c:1+-CX1Z.=13(*)>9*S*+M)>6=.f8^,?.H.IkT,?6f6=)>.Y&6=CX1 &)<9l&=I.=13(*)>9*S*+MC-$*i4L)>6C-I:9:CX1Z6=)>,?+A@B&C-DE)'&3,?.G:.7QeR${&(
)eI?&(*)>6
(
,?$
9\[]Dd,?$Ncl4
6=,/1 &CX17,?+,?4*4*+-C-1>,j&=CMI/$
.&0cN4
C-1>,5+-+Mc_17I?$
.C-.Y&HI5TK,DECAqO&=S*6)eI5T^.Y)>n?)>6=,?+J4z)76=CMI:9:CX15[J,?4L)>6C-I:9:CX15[],5$L9y.4LI/6=,/9:C-1'&=,/.YG:.>Q
#%$&(
C-..)>1&C-I?$][:8)m9:CX.17S
..^(
Ij8,54z)76=C-IO9*C-1H,5$L9.4zI?63,?9:CX1&3,?.G:.P17,5$ V )p,?1717I?DEDEI:9*,j&=)>9 V c1c:1+-C-1H.=13(*)>9*S*+M)>6=.>Q
gP)<17,?+M+2&=(
,j&m&=(*)k,56=6=CMnj,5+&=CMDE)>.pI5TP,54z)76=CMI:9:CX1E,5$
9u.4LI/6=,/9:C-1Z&3,?.GO.m,?6)E)7qO4
6)<..)>9x.0&3,j&=C-.Y&CX17,?+M+-c?Q^(*)>6)7TaI?6=)?[\&=(*)76=)dCX.H$*I
8^,oce&IE,?.=.YC-i?$,54z)76=CMI:9:CX1b,?$
9.4zI?63,?9:CX1P&3,?.GO.K&=I'Ta63,5DE)>.8PCM&(*I/S:&P.YC-i?$*CM;L1>,5$N&+-cd+MIj8)76=C-$*im&(
)fIjn/)763,5+-+z,/13(*C-)7nj, V +-)bS*&C-+MC->,5&C-I?$
I?TJ&(
)H.c:.0&=)7DWQ2#%$,Zi?)>$*)763,5+-C-7)>9.13(
)>9:S*+-)76<[OCM$
CA&=C-,?+M+-ck,e.13(*)<9:S*+-)eh,?.=.YC-i?$
De)>$N&I?TJ&=,/.YG:.K&IZTa63,5DE)>.3UTaI?6^I?$*+-cd4z)76=CMI:9:CX1&=,?.G:.
CX.P4*6=)74
,?6)<9\QF^(*)p.4LI/6=,/9:CX1f,?$
9W,54z)76=CMI:9:CX1&=,/.YG:.P,56=)m.13(
)>9:S*+-)>9C-$W&(*)p.+X,?13Gd&=CMDE)>.P&(
,5&DE,oc V )p,onj,?CM+X, V +-)HCM$&=(*)mTa63,5DE)>.>Q
O+X,?13Gp&C-De)bCM$,Ta63,5DE)PC-.&(*)P&=CMDE)P+-)T&UC-$E&(
)^Ta6=,?De),5T&)>6U,H4L)>6C-I:9:CX1&=,?.G',?+M+-I:17,j&=)>9Z&IH&=(*)^Ta63,5DE)1I/De4
+M)7&)>.FCA&3.)q:)>17S:&C-I?$JQ
bI?$:@7)>6Ie.Y+X,?13Ge&C-DE)HCM$,pTa63,5DE)H17,5$)q:CX.0&^I?$*+-cd8P(*)>$k&=(*))7q:)>1S*&C-I?$&=CMDE)HI5T&(*)&=,/.YG,?+M+-I:17,5&)>9&IeCA&PCX.^.YDd,5+-+-)76K&(
,?$k&=(*)
Ta63,5DE)m.YC-7)/Q
| U
j* &=,/.YGsCX.e&=,?G?)>$S*4TaI?6d.=13(*)>9:S
+MC-$*ixI?$*+-csCATf)7$*I/S*i?(v.Y+X,?13Gx&=CMDE)lCX.e,onj,?CM+X, V +-)TaI/6e&(*)l,56=6=CMnOC-$*i{.4LI/6=,/9:CX1&3,?.G
&=I_1I?DE4*+-)&=) V )7TaI?6=)dCA&3.'9:)<,?9:+-C-$*)?Qk^(
)76=)TaI?6=)?[,W.Y4zI?63,?9:CX1e&=,/.YGyI?$uCA&3.p,56=6=CMnj,5+CX.p.S V 0)<1 &)<9x&I_,?$u,/1717)74:&3,5$
17)Z&=)>.Y&>Q^(*)
,/171)>4:&=,?$
1)&)<.0&b13(
)>13G:.8P(*)&=(*)76^&=(*)H&=,/.YGdCX.^+MC-G?)>+Mc&I V )p17I?DE4*+-)&=)>98PCA&=(*CM$WCM&=.P9:)<,?9:+-C-$*)m8P(*)7$)q:)<1S:&=)>9CM$&(
)H,onj,?CM+X, V +-)
.+-,/13Gy&=CMDE)<.7Q_#TCM&ZCX.Z$*I5&e4LIN..C V +M)d&=IyDE)7)7&'&=(*)&3,?.G
.'9*)>,?9*+MC-$*)?[&=(*)7$&(*).13(*)<9:S*+-)76Z6)Y0)>1 &3.pCM&e,?$
9u&(
)1I/66=)>.4zI?$
9:C-$*i
6=)>17Ijn?)76=c6=I?S:&=CM$
)>.PTaI/6&=(*)m&=,/.YGW,56=)p6=S*$]QbOC-$
17)Z,54z)76=C-IO9*C-1H&3,?.G:.9:Ik$
I5&b(
,on/)p.0&=6CX1 &H9:)>,/9:+-CM$*)<.7[
&(*)>cl17,5$ V )p&3,5G/)7$lS*4lTaI/6
.=13(*)>9*S*+MC-$*i8PCA&=(*I?S:&m,5$Ocl,?1>1)>4:&=,?$
1)'&)>.Y&m,5$
9 V )<.0&H)I?6&H1>,5$ V )eDE,/9:)Z&IW.13(*)<9:S*+-)p&=(*)7D C-$_&=(*)d.Y+X,?13G&C-DE)>.H,onj,5C-+-, V +M)/Q
^(*I/S*i?(_TaI?6m,54z)76=CMI:9:CX1m&3,?.G:.b$*IW,?1>1)>4:&=,?$
1)'&)>.Y&mC-.H9:I/$*)?[ V S*&H$
Iki?SL,563,5$N&)>)'CX.i/CMn/)7$lTaI/6f,k&=,/.Y'G
.17I?DE4*+-)&=CMI/$_&C-DE)e,?$
9
V )>.Y&)I?6&PC-.PDd,/9:)f&I1I/DE4*+M)7&)f&(
)H&=,?.Gk,/.^)>,56=+-ck,?.^4zI/.=.YC V +-)?Q
|b$x) 1C-)7$N&mCMDE4*+-)7DE)7$N&3,j&C-I?$uI?TU&(
C-.p.=13(*)>De)ECX.H&(L,j&m&(
).Y+X,?13GW&=CMDE)>.',56=)e.Y&I/6)<9yC-$s,k&3, V +-)d,5$
9u9:S
6C-$*il,?1>1)74*&=,5$L1)
&=)>.Y&P&(*CX.^&=, V +-)fCX.PS
.)>9k&I13(
)>13Gd&=(*)p.13(
)>9:S*+X, V CM+-CA&0ckI5TJ&=(*)p,56=6=CMnOC-$*i'&3,?.G:.7Q
|b$*I5&=(*)764LI/4*S*+X,56H,5+M&)76=$
,5&C-n?)mCX.&=(
,j&f&(*)e,54z)76=CMI:9:CX1p,?$
9_.4LI/6=,/9:C-1m&=,?.G:.b,?6)',/1717)74:&=)>9l8PCM&(*I/S:&f,?$OcW,/1717)74:&3,5$
17)m&)<.0&<[
,?$
9 V )>.Y&)I?6&CX.^DE,/9:)H&IEDE)7)7&P&(*)>CM6b6)<.Y4z)>1&C-n?)H9:)>,/9:+MC-$*)<.7Q
#

Version 2 CSE, IIT Kharagpur

@m<O 3?]1
3L ONj*h ?O QJ ROhN B ^(*)mTaI/+M+-Ij8PC-$*iEC-.&(*)p4L.Y)>S
9:I5@%1I:9:)HTaI/6,Ei/)7$*)>6=,?+MC-7)<917cO17+MCX1p.=13(*)>9*S*+M)>6
8 )'9:CX.17S
.=.Y)<98P(
C-13(_.=13(*)>9*S*+M)<.4z)76=CMI:9:CX15[z,54z)76=CMI:9:CX15[z,5$
9l.4zI?63,?9:CX1f&=,/.YG:.>Q#&C-.,?.=.YS*DE)<9&(
,5&&(*)Z4*6=)>1I/DE4*S:&)<9W.13(*)<9:S*+-)
TaI/6P4L)>6C-I:9:C-1&3,?.GO.^CX.P.Y&I?6=)>9kCM$l,E.=13(*)>9:S
+M)f&=, V +-)?[*,5$L9kCMT6=)>`NS*C-6=)>9d&=(*)p.4LI/6=,/9:C-1b&=,/.YG:.^(
,on/)f,?+M6=)>,/9:c V )7)7$l.S V 0)<1 &)<9&=Id,5$
,/171)>4:&=,?$
1)f&=)>.Y&b,5$
9I?$*+-cd&=(*I/.)H8P(*C-13(W(
,on/)4L,?.=.Y)<9&=(*)H&)<.0&b,?6)m,onj,5C-+-, V +-)bTaI/6.13(*)<9:S*+-CM$
i
Q


B B B ACBD




B
 5A  "!"#5BI D

 $
&%'(*)
+!,.- /
E)
+!,1032 145)
66748 9
A  D
7290 $
:2 ;,5A A
66 <: D
ACBD

9$

3 A = BI
D +B 
>  A ?@3A)
ACBI D
 
 +A = 2 3 B >5<A  BA B)C66D
 5A , B 20 =

1
 5E
66 A =2 3 F
B 5A @A B :$
7
,=HG
ACBI D
 
 =
I2  B >+A @AA JB)K66L, D
"
 "2;: D
,;0I
EM D
,/<N
66 A O 
A =

0=
*EP;7 2 B 20 =

5G
 
QAE
66742,5A ,21 &E 
5G
R

^(*)p17c:1+-C-1m.=13(*)>9*S*+M)>6P6I/S:&C-$*) B B B ACBD



*JC-.,?1&C-no,5&)<9,5&P&(*)')7$
9I5T2)7n/)76=cTa63,5DE) V c,E4z)76=CMI:9:CX1H&C-DE)76<QU#T
&=(*)d1S*6=6)>$N&&3,?.GlC-.f$*I?&m17I?DE4*+-)&=) V cW&(
)e)>$
9{I5TU&=(*)eTa6=,?DE)?[&(
)7$xCA&mCX.f.S
.4L)>$
9:)<9{,?$
9l&=(*)e&=,?.GW&I V )E6S*${CM${&(
)e$
)qO&
Ta63,5DE)HC-.P9*C-.4
,j&313(*)>9 V cCM$On/I?GOCM$
i'&=(*)H6I/S:&C-$*)2B@B  B +ACBID

?NQ#T&=(*)f&=,?.Gk.=13(*)>9*S*+M)<9kC-$W,'Ta63,5DE)H1I/De4
+M)7&)>.^)<,56=+Mc/[
&=(*)7$l,5$Oc)7q:C-.Y&C-$*id.Y4zI?63,?9*C-1fI?6P,?4L)>6C-I:9:C-1&3,?.GC-.P&=,5G/)7$S*4TaI?6P)7qO)<1S:&=CMI/$]Q

#"%4 (/-357 "9$ "  877   * 0ML8:




*&

35%<$  &<. /877$&;


%$

&

I5&=(t&3, V +-)@%9:6=CMn/)7$,?$
917cO17+MCX1.13(*)<9:S*+-)763.Z,?6)CMDE4zI?6&=,?$/&E1+-I:13G/@%9:6=CMn/)7$.=13(*)<9:S*+-)763.7Qs| 1c:1+-C-1.=13(*)>9:S
+M)>6Z$*)>)>9*.Z&=Ix.)&d,
4z)76=CMI:9:CX1H&=CMDE)76fI?$
+McI?$
17)',j&&(*)',?4*4*+-C-1>,j&=CMI/$lCM$*CM&CX,5+-C->,j&=CMI/$W&C-DE)?Qb^(*CX.P&=CMDE)>61I/$N&C-$NS
)>.P&=Ii?C-n?)p,?$lCM$N&=)76=6S*4*&)q*,/1 &+-c,5&
)>n?)76=cTa6=,?DE) V I?S
$
9*,56=c?Q KS*&HC-${&=, V +M)7@9:6=C-n?)7${.13(*)<9:S*+-CM$
i
[J,k&C-DE)76H(
,?.f&=I V )d.Y)7&m)7n?)>6c&=CMDE)d,&=,?.G_.Y&=,56&=.&=I6=S*$]Qe^(*)
)7qO)<1S:&=CMI/$&C-De)'I5T,e&0cN4
C-1>,5+]6=)>,?+A@B&C-DE)&3,?.GkCX.PS
.S
,5+-+-ckI5T2&=(*)mI?639:)76PI?TF,eTa)78 DeC-+-+MC2O)>17I?$
9*.>QK^(
)76=)TaI?6=)?[*,d1>,5+-+\&I,e&=CMDE)>6
CX.^Dd,?9:)H)7n/)76=cETa)78 DECM+-+O)<1I?$L9*.7Q^(*CX.P6=)74*6=)>.)7$N&3.K,E.CMi/$*CA;z17,5$N&PIjn?)>6(
)>,?9k,5$
96)<.YS
+A&3.^CM$l9:)>i?63,?9:)<9k.cO.Y&)>D 4z)76TaI?6=DE,?$
1)/Q
^(*)>6)7TaI?6=)?[J,W17cO17+MCX1E.13(
)>9:S*+-)76mCX.mDEI?6=)E) 1C-)7$N&H&(L,5$s,&=, V +M)7@9:6=C-n?)7$u.=13(*)>9:S
+M)>6>Qd^(*CX.m4*6=I V , V +-clC-.p,6=)>,/.YI/$y8P(Ocy1c:17+MCX1
.=13(*)>9*S*+M)>6=.,56=)Z.IIjn?)>68P(
)7+-DeC-$*i/+Mc4LI/4*S*+X,56)>.4L)<1CX,5+-+McWC-$y)7D V )<9*9:)<9y,54
4*+MCX17,5&C-I?$
.>QbIj8K)>n?)>6>[LCATF&=(*)eIjn?)76=(*)<,?9I5TU.)&&C-$*i
,&=CMDE)76p1>,5$ V )dCMi/$*I?6=)>9\[,&=, V +M)7@9:6=C-n?)7$u.=13(*)>9:S
+M)>6mC-.mDEI/6)E4*6=I5;L17CM)>$N&f&=(
,5$s,l17cO17+MCX1E.13(
)>9:S*+-)76 V )>1>,5S
.)E&(
).YC-7)dI?TK&=(*)
Ta63,5DE)Z&(
,5&p$*)7)<9*.f&I V )13(
I/.)7${.(*I/S*+-9 V ),5&m+M)<,?.Y&H,/.+-I?$
iW,/.&(*)d.CM>)eI?TU&=(*)E+-,?6i/)>.Y&f)7qO)<1S:&=CMI/$_&=CMDE)dI5T^,&3,?.GlCM$x&=(*)
&3,?.Ge.)&<Q2^(
C-.UC-.K,p.YI/S*631)I?TC-$*) d17CM)>$
1c/[N.C-$
1)b&(*CX.F6=)>.S*+M&=.FC-$4*6=I:1)<..I?62&=CMDE) V )7C-$*iZ8,/.0&=)>9eCM$17,?.)I?Tz&=(*I/.)P&3,?.GO.U8P(*I/.)
)7qO)<1S:&=CMI/$k&=CMDE)<.,56=)m.YDd,5+-+-)76&(
,?$&(*)p13(*IN.Y)>$kTa63,5DE)m.CM>)?Q

W k W 4
7
}x)H(
,?9.Y)>)7$&(
,5&^TaI?6P1+-I:13G/@%9:6=CMn/)7$k.=13(*)<9:S*+-)763.7[N&(
)p.13(*)<9:S*+-CM$
iZ4zI?C-$N&=.P,56=)H9:);
$
)>9k&(*6=I?S*i/(17+MI:13GC-$N&)76=6=S*4:&=.^,?$
9kC-$W17,?.)
I?T)>n?)7$N&@9:6=C-n?)7$.13(
)>9:S*+-)763.K&(*)<.Y)p,?6)m9:)7;
$*)<9 V c)>n?)>$/&3.P.YSL13(,/.P,56=6C-nj,5+\,5$
9W17I?DE4*+-)&C-I?$I5T&=,/.YG:.>Q2#%$(Oc V 6=C-9.=13(*)>9:S
+M)>6=.>[
&=(*)'.=13(*)>9:S
+MC-$*iE4LI/CM$N&3.b,56=)m9:);L$*)>9 V I5&=(&=(*6=I?S*i/(&=(*)'17+MI:13GC-$N&)76=6=S*4:&=.b,5$
9&(
)p)7n/)7$N&PIO1>1S*6=6=)7$
17)>.>QF#%$&(*)mTaI/+M+-Ij8PC-$*i
[:8)
9:CX.=1S
.=.&C-DE)@%.Y+-C-17)>96=I?S*$
9:@B6=I V C-$.=13(*)<9:S*+-CM$*Wi V,e4zI?4*S
+-,?6P(Nc V 6=CX9.=13(*)>9*S*+M)>6>Q
pK
t $QJh?O L
2 QJ ROh S
^C-DE)@%.Y+-C-17)>96=I?S*$
96=I V C-$l.13(
)>9:S*+-)763.P,56=)mn?)>6c1I?DEDEI?$
+McS
.Y)<9CM$W&=(*)m&63,?9*CA&=CMI/$
,5+\I/4L)>6=,5&C-$*i.Yc:.Y&)>DE.>[
,?$
9W,56=)m4*6I?TaS
.)7+-c
9:CX.=1S
.=.Y)<9mC-$'&=(*).Y&=,?$
9*,?6=9mI/4L)>6=,5&C-$*ib.c:.0&=)7Dd. V IOI?G:.,5$
9'CM$'&(*)^,onj,5C-+-, V +-)U+-CA&=)763,j&S
6)/QJ}x)U&=(*)76=)TaI/6)KG?)7)>4pI?S
69:CX.=1S
.=.YC-I?$'I?$
&=CMDE)@%.+MCX1)<96=I?S
$
96I V CM$l.=13(*)>9*S*+MC-$*iE&=IE&(*)pDEC-$*C-D'S*DWQ^^CMDE)@%.+MCX1)<96=I?S
$
96I V CM$l.=13(*)>9*S*+MC-$*iECX.b,E4*6=)7)>De4*&C-n?)p.=13(*)>9:S
+MC-$*i
DE)&=(*I:9\Qb#%$y6I/S*$
9W6=I V C-$y.=13(*)>9:S
+MC-$*i
[
&(*)e6=)>,?9*c&=,/.YG:.,56=)p(*)7+X9lC-$y,k17CM631S
+-,?6b`NS*)7S*)/Q^(*)'&=,/.YG:.b,?6)p&=,5G/)7$lS*4yI?$*)',5T&)>6
S

MU  

Version 2 CSE, IIT Kharagpur

&=(*)ZI?&(*)>6C-${,.Y)<`NS*)7$
17)pTa6=I?D &(
)e`NS*)>S*)?Q'R$
17)Z,d&3,?.GlC-.b&=,?G?)>$_S*4][\CM&f6=S*$
.bTaI?6H,k17)76&=,?CM$l;
qO)<9_C-$N&)76=nj,5+I5T&=CMDE)E17,5+-+-)>9
CM&=.'hZ Fd'3A=7Q^#TU,e&=,/.YG9:IO)>.$
I5&17I?DE4*+-)&)m8PCM&(
CM$_CM&=.,5+-+MI:1>,j&)<9&C-De)Z.Y+-C-17)?[LCA&fC-.PC-$
.)76&)<9 V ,?13GCM$N&IE&=(*)Z17CM631S
+-,?6`/S
)7S*)/Q
| &=CMDE)@%.+MCX1)<9y6=I?S*$L9O@B6=I V CM$x.13(*)<9:S*+-)76mCX.H+M)<..p4*6I?;L1C-)7$N&f&(
,?$x&=, V +M)7@9:6=C-n?)7${I?6p17cO17+MCX1E.13(
)>9:S*+-)76HTaI/6p.13(
)>9:S*+-C-$*iW6)<,5+M@h&=CMDE)
&3,?.GO.>QE#&mC-.m63,j&=(*)76H)<,?.cl&Il.)7)E8P(Ocl&(*CX.mCX.m.YILQd| &C-De)7@.+-C-17)>9{6I/S*$
9{6I V CM$u.=13(*)>9:S
+M)>6&=6)<,j&3.m,5+-+2&=,?.G:.H)>`NS
,?+M+-c?[J,?$
9x,5+-+
&3,?.GO.',56=),?.=.YC-i?$*)<9xC-9:)>$N&CX17,5+U&C-DE)k.Y+-CX1)>.'CM6=6=)>.4L)<1 &C-n?)dI?TK&=(*)7C-6'4
6C-I?6=CA&0c/[176CM&CX17,?+MCM&0c?[I?6Z1+-I/.)7$*)<..mI?T9:)>,/9:+MC-$*)/Ql:I
[&=,?.G:.
8PCM&(l.(*I?6&9:)>,/9:+MC-$*)<.^DeC-i?(N&PT,?CM+&=I1I?DE4*+-)&=)HI?$&C-DE)?Q
bIj8K)>n?)76<[CA&C-.k4LIN..C V +M)l&=I17I?$
.C-9*)76d&3,?.G4*6=C-I?6=CA&=CM)<.dCM$ &(*)y&C-De)7@.+-C-17)>9w6=I?S*$
9:@B6=I V C-$~.13(
)>9:S*+-)763.d&=(*6=I?S*i/( ,sDECM$*I/6
)7qN&=)7$
.C-I?$t&=Ix&(*) V ,/.YCX16I/S*$
9t6=I V CM$v.13(*)>DE)?Qw^(*).=13(*)<9:S*+-)7617,?$,/..CMi/$+X,56=i?)>6'&=CMDE)l.Y+-CX1)>.Z&=Ix(
CMi/(*)76E4*6=CMI/6CM&0cu&=,/.YG:.>Q
#%$xT,?1&>[&(*)d$OS*D V )>6pI5TP.+MCX1)<.p,5+-+MI:1>,j&)<9_&=I_,&=,/.YGy1>,5$ V )Dd,?9:)E4*6=I?4zI?6&C-I?$
,?+2&IW&=(*)d4*6=CMI/6CM&0c_I5T&(
)d&=,/.YGQFn/)7$u8PCM&(
&=(*C-.bDEIO9*CA;L1>,j&=CMI/$][:&C-DE)@%.Y+-CX1)>9W6=I?S
$
9O@6I V CM$W.=13(*)>9:S
+MC-$*idCX.^T,56bTa6I/D.=,j&CX.YT,?1 &=I?6=cdTaI?6b6)<,5+M@h&=CMDE)f&=,/.YG.13(*)<9:S*+-CM$
i_ ,5$lc/I?S
CX9:)7$N&=CATacl&=(*)E6)<,?.I?$
. o Qp#%${&(
C-.m1>,?.)?[&(
)e(
CMi/(*)76H4*6=CMI/6CM&0c&=,/.YG:.H,56=)ZDd,/9:)'&=Il1I?DE4*+-)&=)d,?.f)>,?6+-cl,?.f4LIN..C V +M)/QZbIj8K)>n?)76<[
4*6=I5;z1C-)7$N&K6=)>,?+A@B&C-DE).=13(*)>9:S
+M)>6=..Y(
I?S*+X9E&6=cE&IZDE)7)&&(
)H9*)>,?9*+MC-$*)>.KI5T,?.KDE,?$OcZ&3,?.G:.K,/.U4zI/.=.YC V +-)?[O63,j&(
)76F&=(
,5$1I/De4
+M)7&C-$*i
&=(*)m(*C-i?(*)>6P4*6C-I?6=CM&0cE&=,?.G:.^CM$&=(*)p.Y(
I?6&)>.Y&^&C-DE)?Q
ebe'
l  Zb k W 4
> 
Kc:1+-CX1e.=13(*)<9:S*+-)763.f,?6)En/)76=cl) 1C-)7$N&>QdbIj8K)>n?)76<[\,4*6I/DECM$*)>$N&m.(*I/6Y&31I?DEC-$*iI5TU&=(*)1c:17+MCX1E.13(*)<9:S*+-)763.fC-.f&=(
,j&pCM& V )<1I?DE)<.
n/)76=cW17I?DE4*+-)qW&I9:)&=)76=DECM$*)E,.YS*CM&=, V +-)pTa63,5DE)Z.CM>)e,/.b8)7+-+2,?.f,Ta)<,?.C V +-)Z.=13(*)<9:S*+-)'8P(*)>$_&(
)Z$OS*D V )>6fI?TF&=,/.YG:.CM$L16=)>,?.)>.>Q
r
S*6Y&=(*)76<[]C-$x,?+MDEIN.0&m)7n/)76=cTa6=,?De)d.I?DE)e4*6I:17)>.=.YC-$*i&C-De)ECX.H8,/.0&=)>9v,/.b&=(*)ETa63,5DE)e.C-7)EC-.H+X,56=i?)>6b&=(
,5$u,5+-+2&=,/.YGl)7q:)>1S*&C-I?$
&=CMDE)>.3m6=)>.S*+M&C-$*iyC-$.S V @I?4:&=CMDd,?+K.=13(*)>9:S
+M)<.7QxFn?)>$N&Y@%9:6C-n?)>$s.13(*)<9:S*+-)763.mIjn?)>6=17I?DE)E&(
)>.).(*I?6&=17I?DECM$
i/.>Q_r*S*6&(*)>6>[)>n?)>$/&@
9:6=C-n?)7$d.=13(*)>9*S*+M)>6=.U17,5$E(
,?$
9:+-)b,54z)76=C-IO9*C-1P,?$
9d.Y4zI?63,?9*C-1&3,?.GO.FDeI/6)P4
6I?;L1C-)7$N&+-c?QR$E&(*) L
CM4.CX9:)?[N)7n/)7$N&Y@%9:6=CMn/)7$E.13(*)<9:S*+-)763.
,?6)+M)<..e) 17CM)>$/&d,?.'&(
)7ct9:)>4*+MIjcsDEI/6)1I?DE4*+-)q.=13(*)<9:S*+-CM$*ix,5+-i?I/6CM&(*Dd.>Qs^(*)76=)TaI/6)/[)7n?)>$N&Y@%9:6C-n?)>$.=13(*)>9:S
+M)>6=.Z,56=)+-)>.=.
.S*CM&=, V +M)fTaI?6^)>D V )>9*9:)<9,?4*4*+-C-1>,j&=CMI/$
.^,?.K&(*)<.Y)m,?6)6)<`/S
CM6=)>9&I V )HI?T.YDd,?+M+].CM>)?[O+-Ij81IN.0&<[*,5$
91I?$L.YS*DE)HDECM$
CMDd,5+],?DEI?S*$N&
I?T4zIj8K)>6>Q
#&H.Y(*I/S*+X9_$*Ij8 V )e17+M)<,568P(NcW)>n?)7$N&@9:6=C-n?)7$_.=13(*)<9:S*+-)763.,?6)pC-$Onj,56=C-, V +McWS
.)>9_CM$x,5+-+DEI:9:)763,j&=)Z,?$
9_+X,56=i?)7@.CM>)>9W,54
4*+MCX17,5@
&=CMI/$
.m(
,onOC-$*iWDE,?$Oc_&=,/.YG:.>[J8P(*)>6)<,?.m17cO17+MCX1d.=13(*)>9:S
+M)>6=.m,?6)E4*6=)>9:I/DECM$
,?$N&+-cyS
.)>9xC-$u.Dd,5+-+U,54
4*+MCX17,5&C-I?$
.>Q#%$s)>n?)7$N&@9:6=C-n?)7$
.=13(*)>9*S*+MC-$*iL[]&(
)k.13(
)>9:S*+-C-$*iW4LI/CM$N&=.Z,56=)d9:);
$
)>9 V c_&=,/.YGx1I/De4
+M)7&C-I?$s,5$
9{&3,?.G{,56=6=CMnj,5+2)>n?)7$N&3.7Qk^(
C-.Z1+X,?.=.HI5TP.13(*)<9:S*+-)763.
,?6)$*I?6=Dd,5+-+Mcu4*6=)7)>De4*&C-n?)?Q^(
,j&EC-.>[U,{(*C-i?(*)>6Z4*6=C-I?6=CA&0cx&=,/.YGs8P(
)7$ V )>17I?DE)>.e6=)>,/9:c?[F4
6)>)7DE4:&=.E,?$Ncu+-Ij8K)>6Z4
6C-I?6=CA&0cx&3,?.G
&=(
,j&Dd,oc V )p6=S*$*$*C-$*i
Q}x)p9:CX.17S
.=.^&(*6=)7)HC-DE4LI/6Y&3,5$N&)q*,5DE4*+-)>.^I?T)>n?)>$/&@9*6C-n?)>$.=13(*)>9:S
+M)>6=.>QF^(*)p.CMDE4*+-)>.Y&I5T&(*)<.Y)mCX.^&=(*)
TaI/6)>i?6=I?S*$
9:@ V ,/13GOi?6=I?S*$
9m.=13(*)<9:S*+-)76<[?8P(*CX13(E8K)9:CX.=1S
.=.$*)7qN&<Q2#%$.Y)<1 &C-I?$ J*Q  8)9:C-.=1SL..F rx,5$L9ZC-$.)>1 &=CMI/$ J:Q *8)b9:CX.=1S
.=.
g y|pQ
>
j S
jzA e*< S
jz QJ ROhNN | TaI/6)>i?6=I?S*$L9O@ V ,?13GOi?6=I?S*$L9'.=13(*)>9:S
+M)>6UCX.U4zI/.=.YC V +-ce&(*)f.YC-DE4*+M)<.0&4*6=CMI/6CM&0cN@9:6=C-n?)7$
4*6=)7)>DE4:&C-n?)d.=13(*)>9:S
+M)>6>Qe#%$xTaI?6=)7i?6=I?S
$
9O@ V ,?13GOi?6=I?S
$
9W.13(*)<9:S*+-CM$
i
[\&=(*)d6)<,5+M@h&=CMDE)Z&=,/.YG:.HC-$x,?$x,?4*4*+-C-1>,j&C-I?$u,56=)e6S*$u,?.fTaI/6)7@
i/6I/S*$
9E&3,?.GO.>Q2^(*)m.Y4zI?63,?9:CX15[O,54z)76=C-IO9*C-1?[O,?$
9d$*I/$:@6)<,5+M@h&=CMDE)&3,?.G:.K,?6)6S*$,?. V ,?13GOi/6I/S*$
9e&=,/.YG:.>Q|DEI?$*i'&(*)fTaI/6)>i?6=I?S*$
9
&3,?.GO.>[2,j&')>n?)76=c{.=13(*)<9:S*+-CM$*il4zI?C-$N&'&=(*)(*C-i?(*)<.0&Z4*6C-I?6=CM&0c_&=,/.YG{C-.p&=,?G?)7$sS
4uTaI?6Z.=13(*)<9:S*+-CM$*iLQ| V ,?13GOi/6I/S*$
9y&=,?.Gu17,5$u6=S*$
8P(*)>$W$*I?$*)HI?T&=(*)HTaI?6=)7i/6I/S*$
9d&3,?.G:.KCX.P6=)>,/9:c?Q2#%$I5&(
)76P8I?639*.7[O&=(*) V ,/13GNi/6I/S*$
9E&3,?.G:.^6S*$l,5&&=(*)m+-Ij8K)<.0&P4*6=CMI/6CM&0c?Q
J)&KSL.U,?.=.S*DE)&(L,j&KC-$k,p17)76&=,?CM$6=)>,?+A@B&C-DE)b.cO.Y&)>DW[?&=(*)76=),?6) WTaI/6)>i?6=I?S*$L9'&3,?.G:.F8P(*CX13(k,56=)b9:)>$*I5&=)>9d,/.7G Fo[ I H?[MQ-Q-QM[ Q
|.m,5+-6)<,?9:clDE)7$N&=CMI/$*)>9\[]&(*)eTaI?6=)7i/6I/S*$
9W&3,?.G:.m,56=)e,?+M+24z)76=CMI:9:CX15Q ])7&p V )E&(*)EI?$
+Mc V ,?13GOi?6=I?S*$L9W&=,/.YGQ J) & & V )E&=(*)
4*6=I:1)<..CM$
i'&=CMDE)m6=)>`NS*C-6)>De)>$N&^I?T Q#%$&=(*C-.b17,?.)?[O&=(*)p1I/DE4*+M)7&C-I?$&C-DE) 5  KTaI?6^&(
) V ,?13GOi?6=I?S
$
9d&3,?.GC-.^i/CMn/)7$ V cz
&
  u3 J 
5 .
 F L&o
^(*CX.m)7qO4
6)<..CMI/$yCX.m)>,/.Yc_&IlC-$/&=)76=4*6=)&>Qk}~(*)7$s,5$OcyTaI?6=)7i?6=I?S
$
9l&3,?.G_C-.p)q:)>17S:&C-$*i
[J&(*) V ,?13GOi?6=I?S
$
9l&3,?.G_8,?CA&3.7Q^(*)
,on/)763,5i?)  S:&=CM+-CM<,j&=CMI/$y9:S*)'&I&=(*)pTaI/6)>i?6=I?S*$L9k&3,?.G\UC-. &o L%[\.CM$
17) &oU,?DEI?S*$N&bI?TF4*6I:17)>.=.YC-$*id&=CMDE)'CX.6)<`/S
CM6=)>9WIjn/)76
)>n?)76=c L24z)76=CMI:9\Q2#&^TaI?+-+-Ij8.U&=(
,j&,?+M+zTaI?6=)7i/6I/S*$
9E&3,?.G:.U&=I?i/)&(
)76^8KI/S*+X96=)>.S*+A&^C-$  S*&C-+MC->,5&C-I?$kI?T TF Q^(*)76=)TaI/6)/[















 

 

Version 2 CSE, IIT Kharagpur

&=(*),on?)>6=,?i?)m&=CMDE),onj,5C-+-, V +-)ZTaI/6m)q:)>17S:&C-I?$xI5TK&(*) V ,?13GOi?6=I?S*$L9l&=,/.YG:.fC-$x)>n?)>6clS*$


CA&pI?TK&=CMDE)dCX.  F Qr
6I/D &(*CX.>[
FqO4
6>6Q J:Q  TaI/+M+-Ij8.)>,?.C-+Mc/Q}x)^$*Ij8tC-+M+-S
.Y&63,j&)&=(*)P,54*4*+-CX17, V CM+-CA&0c'I5TzFq:4*6>Q6J:Q  &=(*6=I?S*i/(p&(
)^TaI?+-+MIj8PC-$*i&(*6=)7)P.CMDE4*+-)^)q*,5DE4*+-)>.>Q
]
2 OB ] KI?$
.CX9:)76f,6=)>,5+M@B&C-De)Z.Yc:.Y&)7D C-$_8P(*CX13(l&=,/.YG:.f,56=)'.=13(*)>9:S
+M)<9lS
.CM$*ikTaI?6=)7i/6I/S*$
9O@ V ,?13GOi/6I/S*$
9k.=13(*)<9:S*+-CM$*iLQ
^(*)>6)^CX.2I?$*+-c'I/$*)^4L)>6C-I:9:CX1UTaI/6)>i?6=I?S*$L9m&=,/.YG'
K3  .
[  . (5fDd.Y)<159[ & . /bDd.)>15([  . /bDd.)>1>2,?$
9'&(*) V ,/13GOi?6=I?S*$
9
&3,?.G V )m . & . ?/2 1 &657Q KI/DE4*S:&)H&=(*)p1I/DE4*+M)7&C-I?$&C-DE)HTaI?6 V ,/13GNi/6I/S*$
9&=,?.GQ
QJLhJ<zU cS
.CM$*iE&=(*)m)q:4*6=)>.=.CMI/${K J*Q  U&I1I/DE4*S:&)f&=(*)H&=,/.YGk17I?DE4*+-)&=CMI/$&=CMDE)/[*8K)H(
,on/)
5  . /?(5 1 &65 . J5/?2 1 &65
 ?

OIL[O&(*) V ,?13GOi?6=I?S*$L9d&=,/.YGk v8I?S*+X9k&=,5G/) J5?/'DEC-+M+-CO)<1I/$
9*.&Id17I?DE4*+-)&)/Q
]
2 OB J #%$d,H.CMDE4*+-)P4*6=CMI/6CM&0cN@9:6=C-n?)7$'4*6)>)7DE4:&=CMn/)^.=13(*)<9:S*+-)76<[j&08KIf4z)76=CMI:9:CX1&=,/.YG:.2G FK,5$
9ZO HP,5$
9e, V ,?13GOi?6=I?S
$
9m&3,?.G
,?6)'.=13(*)<9:S*+-)>9\Qf^(*)'4z)76=CMI:9:CX1m&3,?.GG Fm(
,?.&(*)e(*C-i?(*)<.0&f4*6C-I?6=CM&0c,5$L9l)q:)>17S:&)<.bI/$
1)')7n?)>6c J5DeC-+-+MC2.Y)<1I/$
9*.f,5$
9W6=)>`NS*C-6)<.
'DEC-+M+-CJ.)>1I/$
9*.^I?T)q:)<1S:&=CMI/$k&=CMDE)m)>,/13(&=CMDE)?QO Hf6=)>`NS*C-6)<. J?eDeC-+-+MCJ.)>17I?$
9
.KI?T4*6=I:1)<..CM$
iZ)>n?)76=$c (5ZDECM+-+-CJ.Y)<1I/$
9*.>Q N CX.
, V ,?13GOi?6=I?S
$
9Z&=,?.Gd,5$
96)<`/S
CM6=)>. ??DECM+-+MCz.Y)<1I/$
9*.U&IZ17I?DE4*+-)&=)?Q|b.=.YS
DeC-$*i'&(
,5&^,?+M+L&(*)b&=,/.YG:..0&3,56&,j&K&C-DE)f
[N9:)7&)>6DEC-$*)
&=(*)H&C-DE)p,j&8P(*CX13( N 8PC-+M+]17I?DE4*+-)&=)?Q
QJLhJ<zU ^(*)H&I?&=,?+\S:&C-+MC->,5&C-I?$l9:S*)H&=Ie&(*)HTaI/6)>i?6=I?S*$
9&=,/.YG:.> H F . H F

 H

.F 


Q
^(*CX.PC-DE4*+MC-)>.&=(
,j&P&=(*)HTa63,?1 &=CMI/$I?T&=CMDE)m6=)7Dd,5C-$*C-$*ieTaI?6^&=(*) V ,?13GOi/6I/S*$
9E&3,?.Gd&Id)7qO)<1S:&=)HC-.Pi/CMn/)7$ V c  H TF . F F

^(*)>6)7TaI?6=)?[&=(*) V ,?13GOi?6=I?S
$
9W&=,/.YGyi?)&3. DEC-+M+-CF.)>1I/$
9{)7n?)>6c kDEC-+M+-CF.)>1I/$
9*.>QZ^(OS
.>[\&(
) V ,?13GOi?6=I?S
$
9W&=,/.YGl8I?S
+-9y&=,?G?)

? *  . ??fDEC-+M+-CJ.)>1I/$
9*.&=IE17I?DE4*+-)&=)?Q
]
2  B] OS*4*4zI/.)ZC-$uq*,5DE4*+-) J*Q 
[],5$yIjn/)76=(*)>,/9WI5T Dd.)>1ZI?${,/1717I?S*$N&HI5TU)>n?)76=cl1I/$/&=)qO&m.Y8PCM&=13({C-.f&=I V )e&=,5G/)7$
C-$N&Id,?1>1I?S
$/&<Q KI?DE4*S:&=)H&(*)p17I?DE4*+-)&C-I?$&C-DE)pI5T Q
QJLhJ<zU ^(*)n?)>6c{;
63.0&e&C-DE)k&=(*)kTaI/6)>i?6=I?S*$L9x&=,?.Gu6S
$
.h,j&e&C-DE)N [FCM&eC-$
17S*6=.e,y17I?$N&)7qO&e.8PCA&313(*CM$
iyIjn?)>6(
)>,?9uI?T
Dd.)>15QE^(*CX.H(
,?. V )7)>$x.(*Ij8P$u,?.H,W.Y(L,?9:)<9y6=)>1&=,5$
i?+-)ZC-$xrC-i
Q  QdOS V .)>`NS*)>$N&+-c_)>,/13(y&=CMDE)e&(*)ETaI/6)>i?6=I?S*$L9W&=,/.YG_6=S*$
.>[]CM&
4*6=)7)>DE4:&=.2&=(*) V ,/13GOi?6=I?S*$
9'&=,/.YGZ,5$
9EC-$
1S
6=.I/$*)1I/$N&)qO&U.8PCA&313(]QFR$E17I?DE4*+-)&=CMI/$eI?T\)>,?13(eC-$
.0&3,5$
17)I5Tz&(
)PTaI?6=)7i/6I/S*$
9'&=,?.G[
&=(*) V ,?13GOi/6I/S*$
9l&3,?.G_6=S*$
.p,?$
9yC-$
17S*6=.',5$*I?&(*)>6p1I?$N&=)qO&p.Y8PCM&=13(]Qk}~CA&=({&=(*CX.mI V .)76=nj,j&=CMI/$][\&I_.C-De4
+MCMTacyI/S*6p1I/De4
S:&=,5&C-I?$
I?T&(*)E,?1&S
,?+17I?DE4*+-)&C-I?$y&C-DE)ZI?TF b[8K)e17,5$yCMDd,5i/CM$
)p&(L,j&f&(*)e)q:)>17S:&C-I?$_&C-De)eI5TK)7n?)>6cTaI?6=)7i/6I/S*$
9&3,?.GCX.CM$
176)<,?.)>9
V c_&08Il1I/$/&=)qO&'.8PCA&313(y&=CMDE)>.aI/$*)9:S*)E&=IlCA&3.Y)>+ATP,5$
9{&=(*)I5&=(*)76p9*S*)E&IW&=(*) V ,?13GOi/6I/S*$
9y&=,?.G_6=S*$*$*C-$*i_,5T&)76m)<,?13(x&C-DE)
CM&E17I?DE4*+-)&=)>.3 Qs^(OS
.7[F&(*)$*)&E))>1&eI?Tb1I/$/&=)qO&d.Y8PCM&=13(*)<.Z1>,5$ V )CMDd,5i/CM$
)>9u&=I V )1>,5S
.C-$*i_&=(*))7q:)>1S*&C-I?$s&=CMDE)I5T&=(*)
TaI/6)>i?6=I?S*$
9l&=,?.GW&IWC-$
16=)>,/.Y) V c Jk17I?$N&)7qO&m.8PCM&=13({&C-De)<.7[JChQ )?Q'&I ( JkDECM+-+MCU:)>1ZTa6I/D (5kDECM+-+MCO)>1>.7Qe^(*C-.H(L,?.f4*CX1 &I/6CX,5+-+-c
V )7)>$W.(*Ij8P$CM$lrC-i
Q  Q



 







 

 



Context Switching Time




 Foreground  Back
ground


01

51 52





 Foreground  Back  Foreground
ground




100

rCMi/S*6)  F,/.YGk:13(
)>9:S*+-)HTaI?6Fq*,5DE4*+-)0J*Q 

time in milli Secs

I

Version 2 CSE, IIT Kharagpur

bIj8S
.CM$
iEFq:4*6>Q J*Q  [:8K)Hi?)7&^&(*)H&=CMDE)m6=)>`NS*C-6)<9 V cd&=(*) V ,?13GOi/6I/S*$
9d&3,?.Gd&Id17I?DE4*+-)&)/
/? . J59*  # 1  &65  
 ( ?J
#%$k&(*)fTaI?+-+-Ij8PCM$*iZ&08IeO)<1 &C-I?$L.7[:8))7q*,5DECM$
)b&08IZC-DE4LI/6Y&3,5$N&^)7n?)>$N&Y@%9:6C-n?)>$k.=13(*)>9:S
+M)>6=.> rU,?6+-C-)>.Y&9)>,?9*+MC-$*)mrCM63.0&
,?$
9yg y|hg,j&=) lI/$*I5&=I?$*CX1'|b+Mi/I?6=CA&=(*D Qp rwCX.&(*)eI?4:&=CMDd,?+9:cO$
,?DEC-1Z4*6=CMI/6CM&0cW6)<,5+M@h&=CMDE)p&3,?.Gl.13(*)<9:S*+-CM$
i,5+-i?I/6CM&(
D
,?$
9g _| CX.&(*)mI/4:&C-Dd,5+].Y&=,j&=C-1H4
6C-I?6=CA&0cd6=)>,?+A@B&C-DE)f&=,?.Gk.=13(*)>9*S*+MC-$*id,5+-i?I/6CM&(
DQ
m
J  
7W J  k W 4
7 
#%$kK,56=+MC-)>.Y& )>,?9*+MC-$*)rC-6=.Y&fh frF.=13(*)>9:S
+MC-$*i
[O,j&)7n/)76=cZ.=13(*)>9:S
+MC-$*ip4zI?C-$N&U&(
)b&3,?.GZ(
,onOC-$*iH&(
).(*I?6&)<.0&K9*)>,?9*+MC-$*)bCX.U&=,5G/)7$
S*4ZTaI?6F.=13(*)<9:S*+-CM$*iLQ^(*) V ,/.YCX1K4*6C-$
17CM4*+-)^I5TL&(*CX.,5+-i?I/6CM&(*D CX.2n?)>6cHC-$N&S*CM&C-n?),?$
9'.CMDE4*+-)&IHS*$
9*)763.0&3,5$
9\Q2^(*)P.=13(*)>9:S
+-, V CM+-CM&0c
&=)>.Y&fTaI/6m fr~C-.m,?+-.I.C-De4
+M)/Qe| &=,/.YG_.)&mCX.H.13(*)<9:S*+X, V +-)eS*$
9:)>6p frK[\CMT,?$
9{I?$*+-clCATCA&p.=,j&=C-.Y;
)>.&=(*)d1I?$L9:CA&=CMI/$y&=(
,j&H&=(*)
&=I5&=,?+*4*6=I:1)>.=.I?6S:&=CM+-CM<,j&=CMI/$9:S*)P&=IH&(*)P&3,?.GZ.)&UCX.F+-)>.=.2&=(
,5$ Qr
I?6U,m.)&UI?T\4L)>6C-I:9:C-1^6=)>,?+A@B&C-DE)^&=,/.YG:. < F67YO H27   7 /[/ r
.=13(*)>9*S*+-, V C-+MCM&0ck16=CM&)76=C-I?$W17,5$ V )m)q:4*6=)>.=.Y)<9k,?.>
&
F L . F z
   x3 J */
8P(*)>6) 2C-.b,on?)763,5i/)bS:&=CM+-C->,j&=CMI/$_9:S*)H&=IE&(*)H&3,?.Gk F,?$
9 {CX.^&(
)m&I?&=,5+\$OS*D V )>6I5T&=,/.YG:.^C-$W&(*)H&3,?.G.)&<QUq:4*!6 J*Q *eCX.
V I5&=(W,e$*)<1)<..=,56=c,5$
9,d.S 1C-)7$N&1I?$L9:CA&=CMI/$TaI?6,E.Y)7&I5T&=,?.G:.&I V )p fr.=13(*)>9:S
+-, V +M)/Q
r(
,?. V )>)7$_4
6Ijn/)7$&I V )',?$_I?4*&C-DE,?+JS*$
CM4*6=I:1)<..I?6b.=13(*)<9:S*+-CM$*i,5+-i?I?6=CM&(*D J BQ^(*CX.De)<,5$
.&(
,5&CMTU,.)&bI?T&=,?.G:.
CX.bS
$
.13(
)>9:S*+X, V +M)eS*$
9:)>6f r[z&(
)7$y$
IkI5&=(*)76H.=13(*)>9:S
+MC-$*i,?+Mi/I?6=CA&=(*D 17,?$lTa)>,/.YC V +-cW.=13(*)<9:S*+-)p&(
C-.&=,/.YGl.)&<Qf#%$y&(*)E.CMDE4*+-)
.=13(*)>9*S*+-, V C-+MCM&0cH&)<.0&2TaI?6 rshq:4*6<TQ J:Q */[58),/..S*DE)>9p&(
,5&&=(*)^4L)>6C-I:9'I?T
)>,/13(p&=,/.YGmCX.&(*)P.=,5DE)^,?.CA&3.29:)>,/9:+MC-$*)/QbIj8K)>n?)76<[
C-$Z4
6=,/1 &CX17,?+/4
6I V +M)>Dd.J&=(*)^4L)>6C-I:9'I?TL,b&=,?.GmDd,ocp,j&2&C-DE)>. V )P9:CA)76=)7$N&Ta6I/D CA&3.9:)>,/9:+-CM$*)/Q#%$E.S
13(Z1>,?.)>.>[o&(*)P.=13(*)>9:S
+-, V CM+-CM&0c
&=)>.Y&$*)>)>9*.b&I V )e13(
,5$*i/)>9\QP#T L  NY[L&(*)>$y)<,?13(W&=,/.YG$*)>)>9*. &oU,5DEI/S*$N&bI5TU17I?DE4*S:&=CM$*ik&C-DE)')7n/)76=cDEC-$J z 7/9*S*6=,5&C-I?$
I?T&=CMDE)?QF^(
)76=)TaI?6=)?[O8)p17,?$6=)78P6=CA&=)mq:4*6<Q J*Q *e,?.>
&<
F 1  F; 7 
  uK J 
bIj8K)>n?)76<[CAT L N[\CA&mCX.H4LIN..C V +M)Z&(
,5&p,.)&mI5TU&=,?.G:.fC-.H fr .=13(*)>9*S*+-, V +-)?[\)7n/)7${8P(*)7${&(*)Z&=,/.YG_.)&HT,?CM+X.&IWDE)7)&H&=(*)
FqO4
6 J*Q  Qf^(*)>6)7TaI?6=)?[q:4*06 J:Q  CX.H1I?$L.Y)>6nj,j&=CMn/)p8P(*)>$][ L /^,?$
9lCX.$
I5&f,$*)<1)>.=.=,56=c17I?$
9:CM&C-I?$J[ V S:&fI/$*+-c_,k.S 1C-)7$N&
17I?$
9:CM&C-I?$TaI?6,Ei/CMn/)7$k&=,?.Gk.)&P&=I V )p rt.=13(*)<9:S*+X, V +-)?Q
]
2  B J KI?$
.CX9:)76P&=(*)mTaI/+M+-Ij8PCM$
iE&(*6=)7)m4z)76=CMI:9:CX1m6=)>,?+A@B&C-DE)H&=,?.G:.^&I V )'.=13(*)>9*S*+M)<9WS
.CM$*i rI?$_,ES
$*CM4
6I:1)<..I?6<
F. & F .
[  F . J5N [O H . & H6. (:[  H . (?/[:I N . &N . *[ EN . ,(? Q )&=)76=DeC-$*)m8P(*)7&(*)>6P&(
)H&=,?.Gk.)&PCX..13(
)>9:S*+X, V +M)/Q
QJLhJ<zU
^(*)H&=I5&3,5+\S:&=CM+-CM<,j&=CMI/$W9*S*)f&IE&(
)H&(*6=)7)f&=,/.YG:.^CX.Pi?C-n?)>$ V c N F . H F

  
 NF
 . * 
^(*CX.PCX.^+M)<..&=(
,5$ Q2^(
)76=)TaI?6=)?[O&=(*)H&=,/.YG.Y)7&^CX. r.13(*)<9:S*+X, V +-)?Q

| nj,56=C-,?$N&ZI5TH fr .=13(*)>9:S
+MC-$*ixC-. hK
{T
U ] > j7 > :13(*)<9:S*+-CM$*iLQ#%$ 1 Jr[F,5&e)>n?)76=ct.=13(*)>9:S
+MC-$*i
4zI?C-$N&>[L,E+X,jq:CM&0cknj,5+-S*)mCX.b17I?DE4*S:&=)>9TaI?6)>n?)>6cd&3,?.GkC-$W&(*)Z.Yc:.Y&)7DW[
,?$
9&(
)m&=,/.YG(L,onNC-$*iE&=(*)pDECM$
CMDZS*D+X,jq:CM&0ckCX.P)q:)<1S:&=)>9
;
63.Y&>Q J,jq:CM&0clI5T^,k&3,?.GlDE)>,?.S*6=)>.&(
)E,?DEI?S*$N&mI5TK&C-De)e&=(
,j&p8I?S*+X9_6=)7Dd,?CM$xCATK&(*)e&3,?.G_C-.f&3,5G/)7$yS
4{TaI/6H)q:)>17S:&C-I?$x$*)qO&<Q
K..)7$N&CX,5+-+-c?[\+X,jq:CA&0clCX.H,5DE)>,/.YS
6)eI5TF&=(*) L
)7qOC V C-+MCM&0c_,onj,5C-+-, V +-)'TaI/6H.=13(*)<9:S*+-CM$*iW,&=,/.YGQZ^(
)eDd,?CM$x9:CA)76=)7$L1) V )7&08K)>)7$ 1 Jr
,?$
9 rC-.P&(
,5&S*$*+-CMG/)H r[  Jrs&3,5G/)>.CM$N&=I1I?$L.YCX9:)763,j&=CMI/$&=(*)m)q:)>17S:&C-I?$&C-DE)mI5T,Z&=,?.GQ


 





















 



 

Version 2 CSE, IIT Kharagpur

^(*I/S*i?(v fr CX.d,u.YC-DE4*+M)l,/.E8K)>+M+,/.e,?$I/4:&C-Dd,5+,?+Mi/I?6=CA&=(*DW[UCM&(
,?.E,{Ta)78 .Y(
I?6&=1I/DECM$*iN.'8P(
C-13(w6=)7$
9:)>6ECA&k,?+MDEI/.Y&
S*$OS
.=, V +M)pC-$_4*63,?1&CX17,?+,54
4*+MCX17,5&C-I?$
.>Q^(*)ZDE,?CM$y4*6I V +-)7Dd.8PCM&(y rw,?6)'9*C-.=1S
.=.)>9WC-${O)>1?Q;J:Q  Q *Q b)qO&>[8)'9:CX.17S
.=.&=(*)
17I?$
17)74:&PI5T&=,/.YGk4*6C-I?6=CM&0cdCM$l fr,?$
9k&(*)>$W9*C-.=1S
.=.P(*Ij8 frt17,?$ V )m4*63,?1&CX17,?+M+-cdCMDE4*+-)7DE)>$/&=)>9\Q


   

 4 (L8:<4 <$%*+ * :"9$ "   

)88  

 $&4

 3@:" 35:*   <. &87$ ;  8:; " 3@ * &4


$

'&

)(

*&

}x)e.Y&=,5&)<9_C-$xO)<1 J*Q &(


,5&m rwCX.f,9:cO$
,?DEC-1Z4*6=CMI/6CM&0c.=13(*)<9:S*+-CM$*iW,5+-i?I/6CM&(
DQf}u,?.fCA&m,jT&=)76m,5+-+21I?6=6=)>1 &fI?${I?S*6f4
,56&b&=I
,/..)76&^&(
,5&b frCX.,d9:cO$
,?DeCX1H4*6=CMI/6CM&0cd&3,?.Gk.13(
)>9:S*+-C-$*i,5+-i?I/6CM&(*D
_#T2 r8K)>6)f&=I V )p17I?$
.C-9*)76=)>9W,E9:cO$
,5DECX1H4*6C-I?6=CM&0c
,?+Mi/I?6=CA&=(*D ,5+-i?I/6CM&(
D[/8K).(*I/S*+-9 V )b, V +M)9:)7&)>6DEC-$*)^&(*)b4*6)<1CX.Y)P4
6C-I?6=CA&0c'no,?+MS
)PI5T],f&=,/.YGe,j&U,5$OcZ4LI/CM$N&UI?TL&=CMDE)b,?$
9E,5+X.YI V )
, V +M)&IE.(*Ij8~(*Ij8 CM&^13(L,5$*i/)>.K8PCA&=(&C-DE)?Q#T8K)f6) L
)>1&I/$I?S
6^9*C-.=1S
.=.CMI/$
.UI?T fruC-$k&=(*C-.PO)<1 &=CMI/$][* frs.13(
)>9:S*+-C-$*iZ9:IO)<.
$*I?&F6)<`NS*CM6=)P,5$Ocp4*6=C-I?6=CA&0cpnj,?+MS*)^&=I V )b17I?DE4*S:&=)>9ZTaI?6F,?$Ocp&=,/.YGZ,j&U,5$Ocm&=CMDE)/Q#%$eT,/1 &>[N fr_(
,/.$*IH$*I?&C-I?$EI5T\,H4*6=CMI/6CM&0cmnj,5+-S*)
TaI/6p,k&3,?.GQE,?.G:.H,56=)E.=13(*)<9:S*+-)>9x.YI/+M)>+Mc V ,?.)>9{I?${&(*)d4*6=Ioq:CMDECM&0clI5TK&(*)>CM6'9*)>,?9*+MC-$*)?QdbIj8K)>n?)76<[&(
)d+MI/$*i?)>6H,&3,?.G_8,?CA&3.
C-${,d6=)>,/9:cl`NS*)7S*)/[z&(*)Z(*CMi/(*)76fCX.&=(*)e13(L,5$
17)ka4*6=I V , V C-+MCM&0c*PI?T V )>CM$*i&=,?G?)>$_S*4lTaI/6f.=13(*)>9*S*+MC-$*iLQfOIL[z8)Z1>,5$_C-Dd,5i/CM$*)'&(
,5&
,knNC-6&S
,?+4*6=C-I?6=CA&0cnj,5+-S*)Z,/..I:1CX,j&)<9W8PCA&=({,&=,?.GWG?)>)74
.CM$L16=)>,?.C-$*i8PCM&(_&=CMDE)ZS*$N&C-+&=(*)Z&=,?.GWC-.b&=,?G?)>$_S*4_TaI/6f.=13(*)<9:S*+-CM$*iLQ
bIj8K)>n?)76<[NCA&PCX.KC-DE4LI/6Y&3,5$N&&IeS*$
9:)>6=.Y&=,?$
9d&=(
,j&PC-$ rx&=(*)f&=,?.G:.$*)7CM&(*)>6^(
,on?)f,5$Ocd4*6=CMI/6CM&0cEno,?+MS
)f,/..I:1CX,j&)<98PCM&(k&(*)>D[
$*I/6U9:IO)>.&=(*)b.=13(*)>9*S*+M)>6F4z)76TaI?6=D ,5$Oc'4
6C-I?6=CA&0cZ1I?DE4*S*&=,j&=CMI/$
.2&=Ip9:)&=)76=DeC-$*)^&=(*)b.=13(*)>9:S
+-, V CM+-CM&0cpI5T],&=,/.YGe,j&F)7CM&(
)76F6=S*$E&C-DE)
I/61I?DE4*C-+-)&=CMDE)/Q




| $
,?CMn/)bC-De4
+M)>De)>$N&=,j&=CMI/$kI?T fru8I?S*+X9 V )b&=IEDE,?CM$N&3,5C-$k,5+-+z&=,?.G:.K&(
,5&^,?6)f6)<,?9:ceTaI/6)7q:)>1S*&C-I?$kC-$,e`NS*)7S
)?Q|$OcETa6=)>.(*+Mc
,?66=CMnOC-$*i&=,?.Gp8I?S*+X9 V )PC-$
.)76&)<9e,5&&(*)P)>$
9eI5Tz&(*)`NS*)>S*)?QUn?)76=cm$*I:9:)PC-$e&(*)`NS*)>S*)P8KI/S*+X9Z17I?$N&=,?CM$e&(
), V .I?+-S:&)P9:)<,?9:+-C-$*)
I?T\&(*)b&=,?.GQ|&)7n/)76=cZ4*6=)7)>DE4:&C-I?$4zI?C-$N&>[/&(*))7$N&C-6=)`NS*)7S
)b8I?S*+X9 V )f.1>,5$*$
)>9eTa6=I?D &(*) V )>i?C-$*$*C-$*ip&=IZ9:)7&)>6DEC-$*)P&(
)b&3,?.G
(
,onOC-$*im&=(*)f.(*I/6Y&=)>.Y&K9:)>,/9:+-CM$*)/QIj8)7n?)>6>[?&(*CX.KCMDE4*+-)7DE)7$N&3,j&C-I?$k8KI/S*+-9 V )n?)76=ceCM$*) 1C-)7$N&>Q J)&KSL.K,?$
,5+-cO7)P&=(*)f17I?DE4*+-)q:CM&0c
I?T&(*CX..=13(*)>De)/QU,/13(W&=,?.GCM$
.)76&C-I?$l8PC-+-+ V )Z,/13(*CM)>n?)<9C-$xRe PI/6b1I/$
.Y&=,5$N&&=CMDE)/[ V S:&b&3,?.GW.)7+-)>1&C-I?$ta&Ik6=S*$l$*)7qO&3,?$
9
CM&=.9*)7+-)&C-I?$8I?S*+X96)<`/S
CM6=)mRe$LK&C-DE)?[*8P(
)76=)f$WCX.^&(
)m$NS
D V )76PI5T&=,/.YG:.^C-$&=(*)p`NS*)7S
)?Q
|DEI?6=)b) 17CM)>$/&^C-De4
+M)>De)>$N&=,j&=CMI/$kI?TJ frs8KI/S*+X9 V )H,?.UTaI?+-+-Ij8.7Q frs17,?$ V )C-DE4*+M)>DE)7$N&)<9 V cEDd,5C-$/&3,5C-$*C-$*ie,?+M+z6=)>,?9*c
&3,?.GO.^C-$W,d.YI/6Y&=)>94
6C-I?6=CA&0c`NS*)>S*)?QF| .I?6&)<9k4
6C-I?6=CA&0c`NS*)>S*)m17,?$) d17CM)>$N&+-c V )mCMDE4*+-)7DE)7$N&=)>9 V cS
.CM$*id,e(*)<,54l9*,j&3,E.0&=6S
1@
&=S*6)/Qb#%$y&(*)Z4*6C-I?6=CM&0c`NS*)>S*)?[z&(
)p&=,/.YG:.f,56=)',5+-8^,ocO.G?)74*&f.I?6&)>9l,/1717I?639:CM$
id&Ik&(*)Z4*6Ioq:C-DECA&0cI5T&=(*)7C-6f9*)>,?9*+MC-$*)?Qf}~(*)>$y,
&3,?.G,?66=CMn/)>.>[L,k6)<1I?639TaI?6fCA&H17,?$ V )ZCM$L.Y)>6Y&=)>9lC-$N&I&=(*)'(
)>,54yCM$xRe
H J&C-DE)'8P(*)>6)Z$_CX.&=(*)p&=I5&=,?+$OS*D V )>6I?T&=,/.YG:.C-$
&=(*)H4*6C-I?6=CM&0c`/S
)7S*)/QF|&^)>n?)>6c.=13(*)>9*S*+MC-$*ie4LI/CM$N&<[O&(*)m$*)7qO&&3,?.Gd&I V )m6S*$W17,?$ V )HTaI?S*$L9,5&&=(*)f&I/4I?TJ&(
)m(*)>,?4]Q2}~(*)7$W,
&3,?.GC-.P&=,5G/)7$S*4TaI?6b.=13(*)>9*S*+MC-$*iL[:CA&$*)>)>9*.&=I V )m6=)7DEIjn/)>9dTa6=I?D &(*)m4*6=C-I?6=CA&0c`NS*)>S*)?QF^(*CX.P17,?$ V )p,/13(*CM)>n?)<9C-$_Re U&C-DE)?Q
|v.0&=CM+-+:DEI?6=)U) d17CM)>$N&2C-DE4*+-)7DE)7$N&=,5&C-I?$ZI5T
&=(*)P frl17,?$ V )^,/13(*C-)7n?)<9p,?.TaI/+M+-Ij8.JS
$
9:)76&=(*)P,?.=.YS*DE4:&=CMI/$p&=(
,j&2&(
)K$OS*D V )>6
I?TJ9:C-.Y&C-$
1&^9:)<,?9:+-C-$*)>.U&(
,5&U&3,?.GO.KC-$k,5$k,?4*4*+-C-1>,j&=CMI/$k17,?$(
,on?),56=)6)<.0&=6CX1 &=)>9\Q2#%$d&=(*CX.K,?4*4*6=I/,?13(J[?8P(*)>$*)7n/)76K&=,?.GE,56=6C-n?)<.7[/CA&3.
, V .YI/+MS*&)m9:)>,/9:+-CM$*)mCX.17I?DE4*S:&=)>9Ta6I/D CM&=.P6=)7+-)>,/.Y)f&C-DE)p,5$
9CM&=.P6=)7+X,j&=CMn/)m9:)>,/9:+MC-$*)/QU| .Y)>4
,563,j&=)fr#0r2R `NS*)>S*)mC-.^Dd,?CM$N&=,?CM$
)>9
TaI/6)>,/13(W9*C-.Y&C-$
1 &6)>+-,5&C-n?)m9:)>,/9:+-CM$*)p&(
,5&&=,/.YG:.P17,?$l(
,on?)/QU^(*)'.=13(*)<9:S*+-)76C-$
.)76&=.,E$*)>8P+Mc,56=6C-n?)<9&3,?.G,5&P&(*)p)>$
9WI5T2&=(*)
17I?6=6)<.Y4zI?$
9*CM$*if6=)7+X,j&C-n?)9*)>,?9*+MC-$*)`NS*)7S
)?Q K+M)<,56=+Mc/[5&=,/.YG:.2C-$d)>,/13(E`NS*)>S*),56=)^I?639:)76=)>9e,?1>1I/6=9:C-$*if&IH&=(*)7C-6K, V .I?+-S:&)P9:)<,?9:+-CM$
)>.>Q
Ik;L$
9u,&3,?.G_8PCA&=(x&(*)E)>,?6+-C-)>.Y&H, V .YI/+MS*&)d9:)>,/9:+-CM$*)/[\&(
)E.=13(*)<9:S*+-)76HI?$*+-c_$*)>)>9*.f&=Il.Y)<,56313({,5DEI/$*ik&=(*)e&(*6=)>,/9*.fI5T^,5+-+
r#0rR `NS*)7S*)<.7QU#T&=(*)m$OS*D V )76PI?T4*6=C-I?6=CA&0ck`NS*)>S*)>.^Dd,?CM$N&=,?CM$
)>9 V ck&(*)p.=13(*)<9:S*+-)76PCX
. Z[O&(*)>$&(*)mI/6=9:)>6PI5T.Y)<,56313(*C-$*iZ8I?S
+-9
V )ZRe QF^(*)f&C-DE)H&IdC-$
.)76&P,Z&3,?.G8KI/S*+X9,?+-.I V )ZRe Q


$2&

" 3+* '"946$ ;9" 




#%$E&=(*C-.U.YS V .Y)<1 &C-I?$J[?8)P(*CMi/(*+-CMi/(/&U.I?DE)PI?TL&=(*)C-De4zI?6&=,?$N&U.Y(*I/6Y&31I/DeC-$*iN.2I5T\ fry8P(*)>$ES


.Y)<9eTaI?6U.=13(*)<9:S*+-CM$*iH6=)>,?+A@B&C-DE)^&=,?.G:.
C-$W4*6=,/1 &=C-1>,5+\,54*4
+MCX17,5&C-I?$
.>Q


Version 2 CSE, IIT Kharagpur

Kj*<O Y LNjz* @HjLh


63,5$
.CM)>$N&Ijn?)76=+-I/,?99:)7$
I5&)<.P&=(*)pIjn?)>6+-I/,/9I?T,d.c:.0&=)7DTaI?6b,n?)76=ck.(*I?6&P&C-DE)?QP6=,?$:@
.CM)>$N&ZIjn?)>6+-I/,/9xIO1>1S*63.Z8P(*)7$.I?DE)k&=,?.Gx&=,?G?)>.'DEI?6=)&C-DE)k&=I{17I?DE4*+-)&)k&(
,?$8P(
,5&Z8^,?.ZI?6=CMi/CM$L,5+-+Mc{4*+-,?$*$*)<99:S*6=C-$*i_&=(*)
9:)<.YC-i?$&C-DE)?Q| &=,?.GkDd,ocd&3,5G/)f+-I?$
i?)76^&=Id1I?DE4*+-)&=)p9:S*)H&=IdDE,?$Ock6=)>,?.I?$L.7Qr*I/6P)q*,5DE4*+-)?[
CA&DEC-i?(N&)7$N&)>6,5$WC-$:;
$*CM&)m+-IOI?4
I/6)7$
17I?S*$N&=)76,?$lS*$OS
.S
,5+1I?$L9:CA&=CMI/$_,5$
9W)>$N&)76f,d63,56=)7+-ckS
.)>9 V 63,5$L13(_9:S*)m&=Ik.YI/DE)', V $
I?6=DE,?+]C-$*4*S:&fno,?+MS
)>.>QP}~(*)7$y r
CX.fS
.Y)<9l&=I.=13(*)>9*S*+M)e,.)&HI5TK4L)>6C-I:9:C-1Z6=)>,5+M@B&C-De)'&=,/.YG:.>[,k&=,/.YGWIjn/)763.Y(*IOI?&C-$*iCM&=.H1I/De4
+M)7&C-I?$_&=CMDE)E17,?${17,?S
.)Z.I?DE)ZI?&(*)>6
&3,?.Gh.=P&IDEC-.=.&=(*)7C-6m9:)>,/9:+-CM$*)<.7Qf#&HC-.S
.S
,5+-+McWn/)76=c9:C 1S*+M&H&I4*6)<9:CX1 &m9:S*6=CM$*i4*6=I?i?63,5D 9:)>.C-i?$_8P(*CX13(_&3,?.GWDeC-i?(N&fDeCX.=.
CM&=.^9:)<,?9:+-CM$
)b8P(*)>$,m&=6=,?$
.CM)>$/&KIjn?)76=+-I/,?9eI:1717S*63.UC-$&=(*).c:.0&=)7D 9:S*)b&IE,p+-Ij8w4*6C-I?6=CM&0cZ&3,?.GZIjn/)763.Y(
INI?&C-$*imCM&=.^9:)>,/9:+-CM$*)/Q^(*)
I/$*+Mcx4*6=)>9:CX1 &=CMI/$u&(
,5&Z17,?$ V )kDE,/9:)CX.m&=(
,j&p&=(*)&3,?.Gva&=,/.YG:.3&(
,5&Z8I?S*+X9x6S*$sC-DEDE)>9:CX,j&=)7+-cu,5T&)>6m&(*)k&=,/.YGu17,?S
.YC-$*iW&=(*)
&=6=,?$
.YC-)7$N&^Ijn?)>6+-I/,/9E8KI/S*+-9ki?)7&P9*)7+X,oc?)>9,5$
9kDECMi/(/&PDECX..CM&=.m&=(*)7C-6 U6=)>.4z)>1 &=CMn/)f9*)>,?9*+MC-$*)/h.=QFIj8)7n/)76<[N,5&P9*CA)76=)7$N&^&C-DE)>.^,
&3,?.GdDeC-i?(N& V )HTaI?+-+MIj8)>9 V c9*CA)76=)7$N&^&=,/.YG:.CM$W)7qO)<1S:&=CMI/$]QIj8)7n/)76<[?&=(*C-.^+-)>,/99*IN)<.^$*I5&P(*)>+M4S
.&=I';
$L98P(
C-13(&=,/.YGdDEC-i?(N&
DECX..fCM&=.H9:)>,/9:+-CM$*)/QmFn?)>$l&(
)ZDEI/.Y&m16=CA&=C-1>,5+&=,?.GWDECMi/(/&HDEC-.=.CA&3.f9*)>,?9*+MC-$*)E9:S*)Z&IW,n?)>6cW+-Ij8 4*6=CMI/6CM&0ck&3,?.GlIjn?)>6=.(*IOI5&=CM$*i
CM&=.4*+X,5$*$
)>91I?DE4*+-)&=CMI/$&=CMDE)?QU:I
[OCA&.(*I?S
+-9 V )m1+-)>,?6U&=(
,j&^S*$
9*)76 frs,5$Oc,?DeI/S*$N&KI?T17,?6)7TaS*+9:)>.CMi/$k8PC-+M+\$
I5&^i?S
,?6=,?$/&=)7)
&=(
,j&f&(*)ZDEI/.Y&f16=CM&CX17,5+&=,/.YGW8I?S*+X9l$*I?&DECX..CA&3.H9:)>,/9:+MC-$*)ZS*$
9:)>6b&=6=,?$
.YC-)7$N&bIjn/)76=+MIN,?9\Q^(*C-.CX.,.Y)>6C-I?S
.9:63,o8 V ,?13GI5TF&=(*)
r.13(*)<9:S*+-CM$
iE,?+Mi/I?6=CA&=(*DWQ
N<zJj? Q R:jT S @HjLh
}~(*)7$k r{CX.FS
.)>9E&=I'.=13(*)>9:S
+M)b,'.Y)7&UI5T]6=)>,?+A@B&C-DE)^&=,?.G:.7[/S*$
,/171)>4:&=, V +-cZ(*C-i?(dIjn/)76=(*)>,/9*.
DEC-i?(N&F(
,on?)^&=I V )bCM$
17S*6=6)<9'&=I'.S*4*4zI?6&F6)<.YI/S*6=17)P.Y(
,?6C-$*im,5DEI/$*if&(*)P&3,?.G:.8PCA&=(*I?S*&UDd,5GOCM$
iH&=,?.G:.2&ImDECX..&(*)>CM6K6)<.Y4z)>1&C-n?)
9:)<,?9:+-C-$*)>.>Q}{)H)7q:,?DECM$*)H&=(*CX.PC-.=.S*)HCM$l.I?DE)m9:)&3,5C-+\CM$&(
)m$*)qO&b13(
,?4:&)>6>Q
 ?hN5
2
tO>:<z @Hj
2
~ ^(*)Z) 1C-)7$N&fCMDE4*+-)7DE)7$N&3,j&C-I?$y&(
,5&8)Z9:CX.=1S
.=.Y)<9lC-${O)>1?
Q J*Q  Q JdC-.I5T&=)7$_$*I?&
4*63,?1&CX17, V +M),?.'CA&EC-.E9:C 1S*+M&e&Ix6)<.0&=6CX1 &p&=(*)$NS
D V )76EI5TP&3,?.GO.Z8PCM&(9*C-.Y&C-$
1 &d9:)<,?9:+-CM$
)>.'&Iu,_6=)>,?.I?$L, V +-)$OS*D V )76<Qu^(*)
) d17CM)>$N&eC-DE4*+M)>DE)7$N&=,5&C-I?$s&=(
,j&d,?13(*C-)7n/)>.ZRe 'Ijn?)>6(*)<,?9u,?.=.S*DE)>.m&=(
,j&e&(
)$OS*D V )>6ZI?T6)>+-,5&C-n?)k9:)<,?9:+-C-$*)>.ZC-.e6=)>.Y&6=C-1&)<9\Q
^(*CX.KDE,oc V )bS*$L,?1717)74:&3, V +-)bC-$.I?DE)b.CM&S
,5&C-I?$
.>Qr*I?6^,mDEI?6=) LL)q:C V +M)f frs,5+-i?I?6=CM&(*DW[?8)b$
)7)>9d&IeG?)7)>4E&(*)&=,/.YG:.UI?639:)76=)>9
C-$x&)76=Dd.HI5T&(*)>CM6Z9:)>,/9:+MC-$*)<.HS
.YC-$*il,4*6=CMI/6CM&0cy`NS*)7S
)?Qd}~(*)>$*)7n/)76p,&=,/.YGy,?66=C-n?)>.>[\CM&pC-.mC-$
.)76&)<9yC-$N&IW&(
)d4*6C-I?6=CM&0c_`/S
)7S*)/Q
^(*)H1I/DE4*+M)7q:CA&0cEI5TCM$
.)76&C-I?$kI5T,?$)7+-)7DE)7$N&^CM$N&=Ie,'4*6C-I?6=CM&0cE`NS*)>S*)fC-.KI5T]&=(*)fI?639:)76+MI/i [O8P(*)>6)f$kCX.U&(*)H$OS*D V )76I5TJ&=,?.G:.
&=I V )f.=13(*)>9*S*+M)<9\Q^(*CX.U6=)74*6=)>.)7$N&3.U,p(
CMi/(6S
$/&=CMDE)fIjn?)>6(*)<,?9\[/.YC-$
1)fDEI/.Y&K6=)>,?+A@B&C-DE)P&=,/H .YG:.,56=)4L)>6C-I:9:CX1b8PCM&(k.Dd,5+-+L4z)76=C-IO9
.
,?$
9.Y&6=CX1 &b9:)<,?9:+-CM$
)>.>Q

 f
 ZWpe4 

'Z 3 l  
}x)p(
,/9l,5+-6)<,?9:c4LI/CM$N&)<9WI?S:&b&(
,5&fg _| C-.,5$lC-De4zI?6&=,?$N&b)7n/)7$N&Y@%9:6=CMn/)7$W.13(*)<9:S*+-CM$
ik,5+-i?I/6CM&(*DWQ^^(*CX.CX.b,d.Y&=,j&=C-1p4*6C-I?6=CM&0c
,?+Mi/I?6=CA&=(*D,?$
9sCX.e)qO&)>$
.YC-n?)>+McxS
.)>9CM$t4
6=,/1 &CX17,?+,?4*4*+-C-1>,j&=CMI/$
.7Qxg _| ,?.=.YC-i?$L.p4*6=CMI/6CM&C-)>.p&Iy&=,?.G:. V ,?.)>9sI/$s&(*)>CM6e63,j&)<.
I?TUI:171S
66=)7$
17)?Q'^(
)Z+-Ij8K)>6b&=(*)EI:171S
66=)7$
17)'63,j&=)ZI?TK,&3,?.G[&(*)E+-Ij8K)>6CX.&(*)E4*6=CMI/6CM&0cl,?.=.YC-i?$
)>9W&=ICM&>Qe| &3,?.Gl(
,onOCM$
ik&=(*)
(*C-i?(
)>.Y&pIO1>1S*6=6=)7$
17)Z63,j&=)W+MIj8)>.Y&m4L)>6C-I:9
fCX.m,?1717I?639:)>9_&(*)k(*CMi/(*)>.Y&m4*6=CMI/6CM&0c?Qdg _|(L,?. V )7)7$u4*6=Ijn?)<9_&=I V )E&=(*)dI?4:&=CMDd,?+
.Y&=,5&CX14
6C-I?6=CA&0ck6)<,5+M@h&=CMDE)&=,?.G.=13(*)<9:S*+-CM$*id,?+Mi/I?6=CA&=(*DWQ^(*)mC-$N&)>6)<.0&=)>96)<,?9:)>6Dd,ock.)7) J ]TaI/6,e4*6IOI?T0Q
#%$Wg _|'[O&(*)H4*6=CMI/6CM&0cdI5T2,p&3,?.GCX.P9:CM6=)>1&+-cd4*6=I?4zI?6&C-I?$
,?+
&=IeCM&=.^63,j&=)eI?6<[:CM$On/)763.Y)>+McE4*6=I?4zI?6&C-I?$
,?+
&=IECA&3.^4L)>6C-I:9
QF^(
,5&
CX.7[/&(
)b4*6=CMI/6CM&0c'I?T],5$Oc'&3,?.G' CX.U17I?DE4*S:&=)>9,/.7  
  . [/8P(*)>6)  CX.&=(*)b4z)76=C-IO9EI?T&(*)b&=,?.Ge ,5$
9EGECX.U,p17I?$
.Y&=,?$/&<Q
.YC-$*ie&(*CX.P.CMDE4*+-)m)q:4*6=)>.=.YC-I?$J[N4
+MI?&=.I5T24*6=CMI/6CM&0cEno,?+MS
)>.^I5T&=,/.YG:.^S*$
9*)76g _|TaI/6^&=,?.G:.I5T9*CA)76=)7$N&4z)76=CMI:9*.P1>,5$ V )m)>,/.YC-+-c
I V &=,?CM$*)<9\Qb^(*)<.Y)Z4*+-I5&=.b(
,on?) V )>)7$y.(*Ij8P$lC-$yrCMiLQ L,NP,5$
9lrC-i
Q
V Qb#&f17,?$ V )'I V .Y)>6n/)>9Ta6I/D rC-i
Q _h,/,?$
9s V
&=(
,j&P&=(*)m4*6=CMI/6CM&0cdI5T,Z&=,?.GC-$
16=)>,/.Y)<.+MC-$*)>,?6+-c8PCM&(&(
)p,56=6C-nj,5+6=,5&)HI5T&(*)H&3,?.Gk,5$L9C-$On?)>6=.)7+-cd8PCA&=(WCA&3.P4L)>6C-I:9\Q
QJ ROh:h xKO> 3BL _ |b$dCMDE4zI?6&=,5$N&F4*6=I V +M)>D &(L,j&UCX.F,?9
9:6)<..)>9e9:S*6=C-$*iH&(*)9:)>.CMi/$EI5T],HS*$*C-4*6=IO17)>.=.YI/6Y@ V ,/.Y)<9
6=)>,?+A@B&C-DE).c:.0&=)7D CX.&IH13(*)>13Gm8P(
)&(
)76F,H.Y)7&I5T
4z)76=CMI:9:CX16)<,5+M@h&=CMDE)K&=,/.YG:.217,?$'Ta)<,?.C V +-c V ).13(*)<9:S*+-)>9'S*$
9:)>6Fg _|pQN:13(*)>9*S*+-,5@
V C-+-CA&0ceI5TJ,f&3,?.Ge.)&US
$
9:)76^g _|17,5$ V )9*)&)>6DEC-$*)>9eTa6=I?D,mGO$*Ij8P+-)>9:i/)PI5T&(
)b8I?63.0&@1>,?.))7q:)>1S*&C-I?$E&C-DE)>.K,5$
9E4z)76=CMI:9*.UI5T
&=(*)b&3,?.G:.7Q2|4z)76&C-$*)>$/&P`NS*)>.Y&C-I?$,j&K&(*CX.4LI/CM$N&^C-.K(*Ij8 17,?$k,e.Yc:.Y&)7D 9:)>n?)>+MI/4L)>6K9:)7&)76=DECM$
)b&=(*)8I?63.Y&Y@%17,?.)P)q:)<1S:&=CMI/$&C-DE)
I?T\,m&=,?.G')>n?)>$ V )7TaI?6=)^&(*)f.Yc:.Y&)7D C-.K9:)7n/)7+-I?4z)>9\Q2^(*)8KI/6=.Y&Y@%17,/.Y))q:)>17S:&C-I?$E&=CMDE)<.U,56=)PS
.S
,5+-+-ce9:)7&)>6DEC-$*)>9E)7qO4z)76=C-De)>$N&=,5+-+-c
I/6^&(*6=I?S*i/(.C-D'S*+X,j&=CMI/$.Y&S
9*CM)<.7Q
^(*)UTaI?+-+MIj8PC-$*ib,?6)K.YI/De)UCMDE4zI?6&=,5$N&216=CA&=)76=C-,^&=(
,j&217,?$ V )KS
.)>9H&=I13(*)<13Gb&=(*).=13(*)<9:S*+X, V C-+MCM&0cfI5T
,.)&I5T:&=,/.YG:..Y)7&S*$L9:)76g _|pQ


J5

Version 2 CSE, IIT Kharagpur

Priority

Priority

Rate

Period

(a)

(b)

rCMi/S*6) *+F6=CMI/6CM&0c|b.=.CMi/$*DE)7$N&^&I,?.GO.C-$lg _ |

CBlO/N<<: ZL>hLK |.)&PI5T4L)>6C-I:9:C-16=)>,5+M@B&C-De)&=,/.YG:.8I?S*+X9$*I?& V )mg _| .=13(*)<9:S*+X, V +-)S


$*+M)<..K&=(*)7ck.=,j&=C-.YTacd&=(*)
TaI/+M+-Ij8PCM$
ie$
)>1)<..=,56=cd1I/$
9:CM&C-I?$]
&
z

F . TF

8P(*)>6) &o\CX.2&=(*)8I?63.0&U1>,?.))7q:)>1S*&C-I?$e&C-DE)b,5$
9 z\CX.2&(*)b4L)>6C-I:9EI5Tz&(*)P&3,?.G'\0[/$dC-.F&(*)P$OS*D V )>6UI?TL&3,?.GO.&I V )b.13(
)>9:S*+-)>9][
,?$
9 z2CX.^&(
)  S:&=CM+-C->,j&=CMI/$l9:S*)H&IE&=(*)H&=,/.YG\0QK^(
C-.^&=)>.Y&b.YC-DE4*+-ck)q:4*6=)>.=.)>.&(
)HT,?1 &P&=(
,j&b&(*)H&=I5&=,?+  S*&C-+MC->,5&C-I?$
9:S
)H&Id,5+-+\&(
)H&=,?.G:.CM$&(
)H&=,?.Gk.)&b.(*I?S
+-9 V )m+-)>.=.&(L,5$ Q
 BQJ /O ZLa>hLK ^(*)9:)76=CMnj,5&C-I?$dI5T&=(*).S 1C-)7$
17ce17I?$
9*CA&=CMI/$ETaI?6Kg _|.=13(*)>9*S*+-, V C-+MCM&0c'CX.U,?$dCMDE4zI?6&=,5$N&U6=)>.S*+M&
,?$
9_8^,?.fI V &=,5C-$*)<9 V 1c ]C-Sx,?$
9 J,ocO+-,?$
9lC-$     BQe| TaI?6=DE,?+9*)76=CMnj,j&=CMI/$yI?TU&(
) JCMSu,5$L9 J,ocO+X,5$
)9
.6)<.YS
+A&3.bTa6=I?D ;L6=.Y&
4*6=C-$
1C-4*+-)>.HCX. V )>c?I/$
9_&=(*).=1I?4z)EI5TK&(*CX. V INI/GQE^(
)dCM$N&)>6)<.0&=)>9{6)<,?9:)>6HC-.H6=)Ta)>66=)>9y&I J TaI?6p,TaI/6Dd,5+2&=6)<,j&=De)>$N&HI?TK&=(*CX.
C-DE4LI/6Y&3,5$N&P6)<.YS*+M&>Q}x)m8I?S*+X9.S V .)>`NS*)>$N&+-c6)7Ta)76^&=IZ&=(*)p.S 1C-)7$
17ck,?.&=(*) Uh~* K ]h* -?za<z Q| .)&PI5T2$
6=)>,?+A@B&C-DE)f4z)76=C-IO9*C-1&=,/.YG:.P,?6)m.=13(*)>9:S
+-, V +M)HS*$L9:)76g y|p[*CMT
TF
F3 J     3 J N
8P(*)>6) CX.2&(
)S:&C-+-CM<,j&C-I?$9*S*)P&IH&3,?.G' 'Q J)&US
.U$*Ij8)7q*,5DECM$
)P&(*)bCMDE4*+-C-1>,j&=CMI/$
.I5T&=(*C-.F6)<.YS*+M&>Q2#T],m.)&UI?TL&3,?.GO.U.,5&CX.0;
)<.
&=(*)p.YS d17CM)>$N&b1I?$L9:CA&=CMI/$][O&(
)7$WCA&CX.Pi/S
,563,5$N&)>)>9&(
,5&&=(*)p.)&I5T&=,/.YG:.8I?S*+X9 V )pg y| .13(*)<9:S*+X, V +-)?Q
KI/$
.YCX9:)>6K&=(*)p17,/.Y)H8P(*)>6)f&=(*)76=)HC-.PI/$*+-cI?$*)f&3,?.GCM$&=(*)p.Yc:.Y&)>D[
ChQ )?Q2$ . QUOS V .Y&CM&S:&=CM$
id$ . CM$lq:4*6p3 J:Q N [O8K)mi/)&
F
F

3 J   7


F
F

OC-DECM+X,56=+-c?[OTaI?6P$ . J'8)Hi?)7&
H
H
F
J
K J  7
 F
v * J8#
r
I?6P$ . e8)fi/)&
N
N
TF
LK J  7
 F
v  *
J




2







Version 2 CSE, IIT Kharagpur

}~(*)>$W$ 8)Hi?)&

KJ    7

F
F z
. 
Uno,?+MSL,j&C-I?$'I5TLFqO4
6>Q J*Q 8P(*)>$'$ C-$On?I/+Mn/)>.J,?$pC-$
9:)&=)76=DECM$
,5&))q:4*6=)>.=.YC-I?$'I5T:&(
)K&0cO4z) *Q cm,54
4*+McOC-$*i
I/.4*CM&=,?+
.
6=S*+-)8)P17,?$'n?)>6CMTacm&=(
,j&2&(
)P6C-i?(N&2(
,5$
9e.C-9:)^I?T
&(
)P)q:4*6=)>.=.YC-I?$Z)7nj,5+-S
,j&=)>.&I
J .
Q  J:Qr*6=I?D&=(*), V Ijn?)^1I/De4
S:&=,5&C-I?$
.>[
CM&mC-.H1+-)>,?6f&(
,5&f&=(*)eDE,5q:CMDZS*D  S:&=CM+-CM<,j&=CMI/$y&=(
,j&m17,?$ V )E,/13(*C-)7n?)<9_S*$L9:)76mg _| CX. Q'^(*CX.HCX.f,/13(*C-)7n?)<9_8P(*)>$_&=(*)76=)
CX.mI?$
+Mcy,W.CM$
i?+-)Z&3,?.G_C-${&=(*).cO.Y&)>DWQ|b.H&=(*)d$OS*D V )76pI?TU&3,?.GO.HC-$
176)<,?.)>.>[\&(*),/13(*C-)7nj, V +-)  S:&=CM+-CM<,j&=CMI/${T,?+M+X.m,5$L9x,/.
 &(*)p,/13(*C-)7nj, V +-)mS:&=CM+-CM<,j&=CMI/$W.Y&=, V C-+MC-7)<.,j&+-I?i J:[*8P(*CX13(WC-.,54*4
6Ioq:C-DE,5&)>+Mc
Q  J:QF^(
C-.bC-.P4
C-1&I?6=CX,5+-+Mck.(*Ij8P$WC-$WrC-i
/ Q2}{)m$
Ij8C-+M+-S
.Y&63,j&)f&=(*)p,54*4
+MCX17, V CM+-CM&0cI5T&(*)pg _| .13(
)>9:S*+X, V CM+-CA&0c16=CA&=)76=C-,'&(*6=I?S
i?(W,'Ta)>8)7q*,5DE4*+-)>.>Q





1
ui
0.692

(1,0)

Number of tasks

r C-i?S*6=) ? |13(*CM)>nj, V +-) P&=CM+-CM<,j&=CMI/$8PCM&(&=(*) S*D V )>6I5T2,/.YG:.^S*$L9:)76g y|


]
2  B
] K(*)>13G8P(*)&=(*)76b&(*)pTaI?+-+MIj8PC-$*i.)&I5T4z)76=CMI:9:CX1m6=)>,?+A@B&C-DE)H&=,?.G:.PCX..13(
)>9:S*+X, V +M)mS*$L9:)76fg _| I/$_,ES*$*C-4*6I?@
17)>.=.YI/6> F . & F . J5*[  F . ?N [: H . & H6. ?*[  H . (5N [OO N . &N . ?*[ EN . J5?N Q
S:&=CM+-CM<,j&=CMI/$W,/13(*C-)7n?)<9k9:S
)H&IE&(
)H&(*6=)7)Hi?C-n?)>$k&3,?.G:.7Q
QJLhJ<zU ])7&S
.;
63.0&b17I?DE4*S:&=)H&(*)H&=I5&=,?+ 
N
J5  /  / . 

.
/ (? J??

F
^(*CX.C-.^+-)>.=.K&(
,?$ [O&(*)>6)7TaI?6=)&(
)f$
)>1)<..=,56=cd1I/$
9:CM&C-I?$TaI/6P.13(*)<9:S*+X, V C-+-CA&0cdI?TJ&(
)&3,?.G:.KCX.^.,5&CX.0;L)>9\Q Ij813(*)>13GOC-$*i'TaI/6
&=(*)m.YS 17CM)>$
1ck17I?$
9*CA&=CMI/$][O&(*)f&3,?.Gk.Y)7&CX.P.=13(*)>9:S
+-, V +M)fS*$
9*)76g _|CM'T JCMSW,5$L9 ,ocN+X,5$L9
.1I/$
9:CM&C-I?$i?C-n?)>$ V ckq:4*6<Q J:Q
CX..,5&CX.0;L)>9\Q K(*)>13GOC-$*ifTaI?6F.=,j&=C-.YT,?1&C-I?$eI5TzFq:4*6>6Q J:Q
[j&(*)^Dd,jq:C-D'S*D ,?13(*C-)7nj, V +M)S:&=CM+-CM<,j&=CMI/$eCX.2i?C-n?)>$ V c LK J   .  *
^(*N )Z&I?&=,?+S*&C-+MC->,5&C-I?$y(L,?.f,5+-6)<,?9:c V )>)7${TaI?S*$L9l&I V )e
Q  Q bIj8 .S V .Y&CM&S:&=CM$*i&(
)>.)ZC-$_&=(*) ]C-S{,5$L9 J,ocO+X,5$
)9
.16=CA&=)76=CMI/$]
z

3 J   [*8K)Hi/)&  v  **Q
FqO 4
T6>F Q J:Q u8P(* CX13(wC-.,s.YS 17CM)>$/&1I?$L9:CA&=CMI/$wTaI?6kg _| .=13(*)>9:S
+-, V CM+-CM&0cCX.k.=,j&CX.Y;
)>9\Q^(*)>6)7TaI?6=)?[K&(*)l&3,?.G.)&kCX.kg _|
.=13(*)>9*S*+-, V +-)?Q

]
2  B J K(*)>13G_8P(
)&(
)76m&=(*)dTaI?+-+-Ij8PCM$*il.)&pI?TK&=(*6)>)d4L)>6C-I:9:CX1Z6=)>,?+A@B&C-DE)E&=,/.YG:.HCX.p.13(
)>9:S*+X, V +M)ES*$
9*)76'g y| I?$u,
S*$
CM4*6=I:1)<..I?6<G F . &F . J?*[ IF . //[NO H . &H . /*[ EH . (5/[O N . & N .  *[  N . J??/Q
QJLhJ<zU
J)&S
.;
63.Y&b1I?DE4*S*&)f&(*)H&=I5&3,5+  S*&C-+MC->,5&C-I?$l9:S*)H&=IZ&=(*)mi?C-n?)>$k&3,?.Gk.)&>
N
J5
?

. ?  (?  J5 / . *,(

F
bIj8w13(
)>13GOCM$
iHTaI?6 JCMS,5$
9 ,ocN+X,5$L9e176CM&)>6C-I?$J N F z
v  *'UN.CM$L1)b *,(
w  *
[5&(
)&=,/.YGE.)&UCX.F$*I?&g y|.=13(*)>9:S
+-, V +M)/Q






JJ

Version 2 CSE, IIT Kharagpur

JCMSW,5$
9! ,ocN+X,5$L9d&)<.0&'hq:4*6<Q J:Q /KCX.^4L)<..C-DeCX.Y&CX1HCM$&(
)HTaI?+-+MIj8PC-$*iE.Y)>$
.Y)/Q

1 +C))5:  5 4)  $ ( &!) 4%):0 > ) %;<:3$  = 6 T8&4)*)  <  %;<7.   1 %& > )#. > (?
 ,$ $  4) 4%'3 7   +6))5:; 59+ )  > 9$ ( &,) 4% ),0 > ) %"< <:3E ;;),0 > >*.
 
14  %'&(> )#. > (?

#&PTaI/+M+-Ij8.Ta6I/D &(
C-.&(
,5&)7n?)>$8P(
)7$l,e&=,/.YGk.)&PT,?CM+X. JCMSl,5$L9 ,ocO+-,?$
9
.U&=)>.Y&>[L8K)m.(*I?S*+X9$*I5&b17I?$
17+MSL9:)H&(
,5&CA&CX.P$*I?&
=. 13(*)>9*S*+-, V +-)PS*$
9:)>6Ug _|'Q/}x)$*)>)>9e&IH&=)>.Y&FTaS*6&(*)>6F&=Ip13(*)>13GZCAT&(
)P&=,/.YGe.Y)7&UC-.Ug _| .=13(*)>9*S*+-, V +-)?Q2|w&)<.0&F&=(
,j&17,5$ V )4z)76@
TaI/6DE)>9f&=Ib13(*)<13G8P(*)7&(*)>6,^&3,?.Gf.)&C-.g _|.=13(*)<9:S*+X, V +-)F8P(*)>$mCA&T,5C-+-.]&(*) ]C-Sp,5$
9 ,ocO+-,?$
9&)>.Y&JCX.]&=(*) J)7(*I:1>GOc
.\&=)>.Y&  Q
J)7(*I:1>GOcE&)>.Y&(
,/. V )>)7$W)q:4*6=)>.=.Y)<9,/.P^(*)7I/6)>D J:Q *Q
R:z?7'j@Tdj# 5V*o O   jZV
p%o#jGFE37
 RO
j
 B GB 7 " 
 <je35 %hZ FdZj #omX  + 7Q V*3 R:M -2
V*7m 
3Bj% HU3 ?3/O z R:z/ <7 5V*j3O 2

T1

T2
10

T1
30

T2
40

T1
60

T2
70

90

time in msec

(a) T1 is in phase with T2

T2

T1
20

T2
30

T1
50

T2
60

80

time in msec

(b) T1 has a 20 msec phase with respect to T2

rCMi/S*6=) J:2}xI?63.0& ,?.)mgP)>.4zI?$


.)m^CMDE)HTaI?6,E,?.GRf1717S*63.K}~(
)7$W#&C-.CM$F(
,/.Y)H8PCM&(W#&=.bC-i?(*)>6 F6=CMI/6CM&0cd,/.YG:.
| TaI/6Dd,5+4
6IOI5TI5T&(*CX.p^(*)>I?6=)7D CX. V )7c?I/$
9{&(*).=1I/4L)EI?TK&=(*C-. V IOI?GQbIj8K)>n?)76<[\8)d4*6IjnOCX9:)d,5$xCM$N&=S*CA&=CMn/)d6)<,?.I?$*C-$*i
,/.&=I8P(Ocl^(*)7I/6)>D J:Q D'SL.0& V )Z&6=S*)/QHr
I?6H,dTaI/6Dd,5+4*6=IOI5TFI5TU&(*) ])>(*I:17GOc'
z6)<.YS*+M&=.b&(
)Z6=)>,/9:)76fC-.6=)Ta)76=6=)>9W&=I  Qf#%$*@
&=S*CA&=CMn/)7+-c?[j8)K1>,5$pS*$L9:)763.0&3,5$
9m&(*CX.J6=)>.S*+M&JTa6=I?D &(
)UTaI/+M+-Ij8PCM$
i6)<,?.I?$*C-$*iN.7Q]rC-6=.Y&+-)&2S
.J&6=c&=IbS*$L9:)763.0&3,5$
9m&(*)KTaI?+-+MIj8PC-$*iPT,/1 &<Q

  -  . 1 )0! !+  O)=)5:211&(-;  0 9 # " ) 2-# $ , <  8       0
): ?

If.)7)8P(Ocm&(
C-..Y&=,5&)7DE)>$/&2D'SL.0& V )K&=6S
)?[?17I?$
.C-9*)76&(*)TaI/+M+-Ij8PCM$
i.Y&=,j&=)7DE)7$N&<Q b$
9:)76Fg _|v8P(*)7$*)>n?)>62,(*C-i?(*)>624*6C-I?6=CM&0c
&3,?.GdC-.^6=)>,/9:c?[O&=(*)H+MIj8)764*6=CMI/6CM&0cE&=,/.YG:.^17,?$$*I?&P)q:)>17S:&)m,5$L9k(
,on/)b&=IE8,?CA&<Q2^(
C-.^C-DE4*+MC-)>.&=(
,j&<[
,Z+MIj8)76^4*6=CMI/6CM&0ce&=,/.YG8PC-+-+
(
,on/)f&Id8^,5CM&PTaI?6^&(
)p)7$N&C-6=)p9:S*63,j&C-I?$I5T2)q:)<1S:&=CMI/$I?T)<,?13((*C-i?(*)>64*6=CMI/6CM&0cd&=,/.YG&(
,5&,56=C-.)>.P9*S*6C-$*ie&(
)p)q:)>17S:&C-I?$WI?T&=(*)
+-Ij8K)>6b4*6=C-I?6=CA&0c&=,/.YGQ _I?6=)p$OS*D V )76fI5TUC-$
.Y&=,?$
1)<.I5T,d(*C-i?(*)>64*6=C-I?6=CA&0c&=,/.YGW8PC-+M+I:171S
6>[z8P(*)7$x,d&3,?.GCX.fCM$_4
(
,?.)'8PCM&({CA&<[


J2

Version 2 CSE, IIT Kharagpur

P8 (*)>$uCA&'CX.mC-$u4*(
,?.)E8PCA&=(sCA&Z6=,5&(*)>6H&(
,?$xI/S:&pI5T^4*(
,/.Y)E8PCM&(sCM&>Q^(*C-.p(
,?. V )7)>$sCM+-+MSL.0&=6=,5&)>9y&(
6I/S*i?(s,W.YC-DE4*+-))q*,5DE4*+-)
C-$trCMiLQ J:Q#%$trCMiLQ J*h,/ [2,l(*C-i?(
)76p4*6=C-I?6=CA&0cl&3,?.Gx . *[ ?/CX.pC-$s4*(
,/.Y)d8PCM&(,W+-Ij8)76p4*6=C-I?6=CA&0cl&3,?.GxJ . /*[ J5N [
&=(*)d6)<.Y4zI?$L.Y)e&C-DE)dI5T^JC-.  Dd.)>1?QIj8)7n?)>6>[\C-$srCMiLQ J* V [J8P(*)7$s (
,?.m, J?kDd.)>1E4*(L,?.)?[\&=(*)d6)<.Y4zI?$L.Y)e&C-DE)dI5T
 J V )<1I/De)<. *?*Q^(*)76=)TaI/6)/[jCAT,&3,?.GmDE)7)&3.2CA&3.;
63.0&9:)>,/9:+-CM$*)^S*$L9:)7627)>6If4*(
,/.YC-$*iL[o&(*)>$'&=(*)7cpCM&8PCM+-+ODE)7)&F,?+M+:CM&=.29:)<,?9:+-CM$
)>.>Q


deadline for T1
T1
20

100
(a) T1 meets its first deadline

deadline for T2
T1

T2
20

50

150
(b) T2 meets its first deadline

deadline for T3

T1

T3

T2
20

50

T1
100

T2
120

T3
150

190

(c) T3 meets its first deadline

r C-i?S*6=) 
K(
)>13GOCM$
i J)7(*I:177GOc'
. K6=CA&=)76=CMI/$kTaI/6,/.YG:.^I5T2q*,5DE4*+-)J:Q 
]
21 B J K(*)<13G8P(*)7&(*)>6^&(*)H&3,?.Gk.Y)7&I5T2q*,5DE4*+-)J:Q *ZCX.P,?1&S
,?+M+-ck.=13(*)>9*S*+-, V +-)fS
$
9:)76g _|pQ
QJLhJ<zU ^(*I/S*i?(x&=(*)d6)<.YS
+A&3.mI5T ]C-Ss,5$
9 ,ocN+X,5$L9
.f&=)>.Y&'8)76=)d$*)7iN,j&C-n?)/[J,?.p4L)>6m&(*)k6)<.YS*+M&=.pI5TPq*,5DE4*+-) J:Q *8K)1>,5$
,?4*4*+-cd&(*) J)7(*I:177GOcd&)<.0&b,?$
9I V .)76=n?)&(*)HTaI/+M+-Ij8PC-$*i

r
I?6K&(*)&=,/.YGeGFo+ &F OF^(*I/+-9*..CM$
17=) J?2 1 &65 ?2 1 &65jQ^(
)76=)TaI?6=)?[/CA&^8I?S*+X9dDE)7)7&CM&=.U;
63.0&^9:)>,/9:+MC-$*)EaCM&^9*IN)<.U$
I5&K(L,on?)
,?$Nc&=,?.G:.&(
,5&P(
,on?)H(*C-i?(*)>6P4*6=CMI/6CM&0c* Q
r
I?6P&=(*)m&=,/.YG H U F CX.PCM&=.(
CMi/(*)764
6C-I?6=CA&0c&=,?.G,?$
9l1I/$
.C-9:)>6C-$*idE4*(
,/.YC-$*iL[*CA&8KI/S*+-9I:1717S*6I/$
1) V )TaI/6)m&=(*)'9:)<,?9:+-C-$*)mI5T
H QF^(
)76=)TaI?6=)?[\ & F  & H  H (*I/+-9
..YC-$
170) J?  / . (59 1  &65 (?2 1 & 55Q^(*)>6)7TaI?6=)?[: H DE)7)&3.PCM&=.^;
63.Y&P9*)>,?9*+MC-$*)?Q
r
I?6F&=(*)&3,?.GZO N?^3 J2& F  J2& H  &N7 ENb(*I?+X9*.>[N.CM$L1=) J!6J?  J!/   .   2 1 &65 J5?9 1  &65jQ}{)(
,on?)b17I?$
.CX9:)76=)>9
J%! &F2,5$
"
9 J ! &HF.CM$L1)FG F2,?$
9mO HI:1717S*6]&08PCX1)F8PCM&(
CM$'&(*)U;
6=.Y&9:)<,?9:+-C-$*)FI5T* N Q2^(*)>6)7TaI?6=)?[< N De)>)&3.JCM&=.];
6=.Y&9*)>,?9*+MC-$*)?Q2OI
[<&=(*)
i/CMn/)7$d&3,?.GE.)&^CX..=13(*)<9:S*+X, V +-)bS*$L9:)76Pg _|'Q*^(*)H.13(*)<9:S*+X, V C-+-CA&0ce&)<.0&TaI?6^ N (L,?.4*CX1 &I/6CX,5+-+-c V )7)>$.(*Ij8P$C-$rC-i
Q 
Q:CM$
17)
,?+M+O&=(*)&=,?.G:.De)>)&&=(*)7C-62;
63.0&F9:)<,?9:+-CM$
)>.S*$
9:)>67)>6If4*(
,/.YC-$*i
[5&(*)>c',56=)g _|~.13(
)>9:S*+X, V +M)^,?1>1I?639:C-$*i&I ])7(
IO177GO'c
.26=)>.S*+M&=.>Q


J)&US
.K$*Ij8v&6=ce&I'9*)76=CMn/)b,mTaI/6Dd,5+L)q:4*6=)>.=.YC-I?$eTaI/6F&(
C-.KCMDE4zI?6&=,?$/&6)<.YS
+A&UI?T ])>(*I:17GOc/Q' J)& < F 7Y H 7   7Y V )b&(*)f.Y)7&
I?T&3,?.G:.^&I V )'.=13(*)>9:S
+M)<9\Q* ])&SL.b,5+X.I,?.=.YS*DE)H&=(
,j&&=(*)m&3,?.GO.(
,on?) V )7)>$lI?639:)76=)>9CM$_9*)>.=1)7$L9:CM$
idI?639:)76I?T2&(*)>CM64
6C-I?6=CA&0c/Q
^(
,5&fCX.>[&=,?.Gl4*6=CMI/6CM&C-)>.f,56=)'6=)7+X,j&=)>9{,?.>  aGF    3OH>       a\B []8P(*)>6)e4*6=CB\h9:)7$*I?&)<.b&=(*)E4*6=CMI/6CM&0cWI5TF&=(*)

J8#

Version 2 CSE, IIT Kharagpur

Ti(1)

T1(1)

T1(2)

T1(3)

r CMi/S*6) #
2#%$
.Y&=,5$L1)>.^I?T F Rn?)>6P,E:CM$*i/+M)m#%$L.0&3,5$
17)fI?T
&3,?.Gk QbR V .)76=n?)f&(L,j&b&=(*)m&3,?.Gk F (
,/.^&(*)'(*CMi/(*)>.Y&b4*6=C-I?6=CA&0c,5$
9&=,/.YG (
,/.^&(*)'+M)<,?.Y&b4*6=CMI/6CM&0c?Q^(*C-.b4*6=CMI/6CM&0ckI/6=9:)>6C-$*i
1>,5$ V )H,?.=.YS*DE)<98PCM&(*I/S:&^,?$Oce+-I/.=.KI5TJi/)7$*)>6=,?+MC->,5&C-I?$k.CM$L1)&=(*)H6)<`NS*CM6=)>94*6C-I?6=CM&0ceI/6=9*)76=CM$*iZ,5DEI?$*ie,5$,56 V CA&=6=,?6cE1I/+M+-)>1&C-I?$
I?TK&3,?.GO.H1>,5$s,5+-8,oc:. V ),/13(*C-)7n?)<9 V cy,W.CMDE4*+-)d6=)7$
,?DeC-$*iWI5TK&(*)E&3,?.G:.7Q KI?$L.YCX9:)76H&=(
,j&m&=(*)E&=,/.YGyP,?66=C-n?)>.f,j&m&=(*)E&C-DE)
C-$
.Y&=,5$N&m*Q KI/$
.YCX9:)>6&=(*)e)q*,5DE4*+-)e.(*Ij8P${CM$xrC-i
Q #
0Q S*6=CM$*i&(
)Z;L6=.Y&fC-$
.Y&=,?$
1)eI5TF&=(*)e&=,/.YGW\Y[&=(*6=)7)eCM$
.Y&=,?$
1)<.fI5TF&=(*)
&3,?.GGF(L,on?)HI:171S
66=)>9\QK,?13(&=CMDE)mG FI:1717S*6=.>[O\2(
,?.&=Id8,?CA&.CM$
17)H F(L,?.^(*C-i?(*)>6P4*6=CMI/6CM&0cE&(
,?$WYQ
J)&bS
.b$*Ij8 9:)&=)76=DECM$*)p&(*)Z)q*,?1&b$OS*D V )76I5T2&C-DE)>.P&=(
,j&fG FfI:171S
6=.P8PCM&(
CM$y,k.YC-$*i?+-)pC-$
.Y&=,5$L1)pI?T2\YQ^(*C-.CX.i?C-n?)>$ V c
QUOC-$
17)G FI
.K)q:)>17S:&C-I?$k&C-De)HCX. &Fj[O&(*)>$&(
)b&=I5&=,?+)q:)>17S:&C-I?$k&C-De)f6=)>`NS*C-6)<99:S*)&IZ&=,/.YGEG F V )TaI/6)&(
)f9:)<,?9:+-C-$*)I?TJ\
CX.    &4FjQ^(
C-.U)q:4*6=)>.=.YC-I?$d17,?$E)>,?.C-+Mc V )i?)7$
)763,5+-CM>)>9'&I'17I?$
.C-9*)76&=(*))q:)<1S:&=CMI/$E&C-De)<.U,?+M+:&3,?.G:.(
,onOCM$
im(*CMi/(*)76U4*6C-I?6=CM&0c
&=(
,5$l\PaCBQ )?Q F87YO H27   7Y\ OFQ^(
)76=)TaI?6=)?[*&(*)m&=CMDE)mTaI/68P(*CX13(WF8PCM+-+J(
,on/)f&I8^,5CM&b9:S*)m&=I,5+-+]CM&=.(
CMi/(*)764
6C-I?6=CA&0c&=,?.G:.
1>,5$ V )m)7qO4
6)<..)>9,?.>
  F

&
  <K J ?

F



FqO4
6)<..CMI/$ J*Q / i/CMn/)>.&=(*)^&I?&=,5+*&C-De)b6)<`/S
CM6=)>9'&Im)7qO)<1S:&=)P\7
.(*C-i?(*)>64*6=CMI/6CM&0cm&=,/.YG:.TaI/6F8P(*CX13(e\\8I?S
+-9Z(
,on?)&=Im8,?CA&<Q
OIL[O&(*)H&3,?.G\28KI/S*+X9kDE)7)7&CA&3.^;
63.0&9:)<,?9:+-C-$*)?[:CM
OF 
& 
&

  3 J J/
  
F

^(
,5&CX.>[:CAT&(*)m.S*D I?TJ&(
)f)7q:)>1S*&C-I?$&C-De)<.^I5T2,5+-+z(
CMi/(*)76P4*6=C-I?6=CA&0ce&=,/.YG:.I:1717S*66=C-$*i V )TaI/6)f\7
.K;
63.0&9:)<,?9:+-CM$
)?[*,5$L9&=(*)
)7qO)<1S:&=CMI/$u&C-DE)I5T^&(
)&=,/.YG{CA&3.Y)>+ATCX.p+-)>.=.H&=(
,5$sCM&=.Z4L)>6C-I:9 LY[&=(*)7$s\b8KI/S*+-9u17I?DE4*+-)&) V )7TaI?6=)CA&3.m;
63.Y&Z9:)>,/9:+-CM$*)/ Q I5&=)
&=(
,j&C-$lq:4*6<Q J*Q JZ8K)H(
,on/)C-DE4*+MCX1CM&+-cW,?.=.YS*DE)<9&=(
,j&P&=(*)H&=,/.YG4z)76=C-IO9
.P)>`NS
,?+&(*)>CM6P6=)>.4L)<1 &=CMn/)H9*)>,?9*+MC-$*)>.>[*CBQ )/Q L . N0QF#T
z NY[*&(*)>$&=(*)pq:4*6<Q J:Q J'8KI/S*+X9k$*)>)>9DEI:9:CA;z17,j&=CMI/$
.P,?.TaI/+M+-Ij8.>Q
OF /
&o' 
&
/
  K J N
 
F

bI5&)&(
,5&Z)7n/)7$uCMTbq:4*6<Q J*Q C-.'$*I5&E.,5&CX.0;
)<9\[&(*)>6)CX.'.I?DE)4zI/.=.C V C-+-CA&0cy&(
,5&'&(
)d&=,/.YGu.Y)7&'Dd,ocx.Y&C-+-+ V ).=13(*)>9:S
+-, V +M)/Q
^(*CX.DEC-i?(N&(L,54*4z)7$ V )>1>,5S
.)pC-$yq:4*6<Q J:Q d8)p(
,on/)p1I/$
.YCX9:)>6)<9>)76=I4*(
,/.YC-$*ik,?DEI?$*i,?+M+J&(*)'&=,?.G:.7[z8P(*CX13(lC-.&(*)Z8KI/6=.Y&
1>,?.)?QF#%$_,ei?C-n?)>$W4*6I V +-)7DW[
.I?DE)H&=,/.YG:.^Dd,ock(
,on/)H$*I?$:@7)>6Ie4*(
,/.YC-$*iLQK^(*)>6)7TaI?6=)?[:)7n/)7$W8P(*)>$W,e&3,?.G.)&$
,?66=Ij8P+-cET,5C-+-.^&=I
DE)7)7&bq:4*!6 J*Q *[N&(*)>6)HCX..I?DE)m13(
,5$
17)f&(
,5&CA&Dd,ocC-$T,?1 & V )p.=13(*)>9:S
+-, V +M)HS*$L9:)76g y|pQ
IdS*$
9:)>6=.Y&=,?$
98P(Nc&(*CX.PCX..YIL[
17I?$
.C-9*)76U,p&=,?.GE.Y)7&U8P(*)76=)I/$*)4
,?6Y&=C-17S*+-,?6&=,/.YGe\\T,?CM+X.KFq:4*6>6Q J:Q 
[?Dd,5GOC-$*im&(
)&=,/.YGE.)&KS
$
.13(
)>9:S*+X, V +M)/Q^(*)b&=,/.YGeDEC-.=.Y)<.
CM&=.9*)>,?9*+MC-$*)p8P(*)>$WCA&bCX.PC-$W4*(
,?.)m8PCM&(_,5+-+]CM&=.P(
CMi/(*)764
6C-I?6=CA&0cE&3,?.GQKIj8)7n/)76<[O8P(*)7$W&=(*)H&=,/.YG(
,?.^$*I/$:@7)76=IE4*(
,/.YC-$*id8PCM&(
,5&p+M)<,?.Y&Z.YI/DE)dI5T^CA&3.p(*C-i?(*)>6p4*6=CMI/6CM&0cl&3,?.GO.>[]&=(*)d&3,?.GyDECMi/(N&Z,?1&S
,?+M+-cyDE)7)7&'CM&=.m;L6=.Y&'9:)>,/9:+-CM$*)17I?$N&63,56=cl&=I_,5$Ocy$*)>i/,5&C-n?)

J9(

Version 2 CSE, IIT Kharagpur

6=)>.S*+M&=.^I5T&(
)m)q:4*6=)>.=.YC-I?$ J:Q *Q
J)&PS
.P$*Ij8 1I/$
.YCX9:)>6K&08IE)q*,5DE4*+-)>.&=IdCM+-+-S
.0&=6=,5&)f&(
)p,54*4*+-CX17, V CM+-CA&0ckI5TJ&=(*) ])>(*I:1>GNc'
.^6)<.YS
+A&3.7Q
]
2  B ] KI/$
.C-9:)>6'&=(*)TaI?+-+MIj8PC-$*iu.Y)7&eI?Tb&=(*6)>)4z)76=C-IO9*C-16=)>,5+M@B&C-De)k&=,/.YG:.>k F. *[ J5/[F H. (*[ //[FON .
3 J5*[ J?/F&I V )m6S*$WI/$,eS*$*C-4*6=I:1)>.=.I?6<TQ )&=)76=DeC-$*)m8P(*)7&(*)>6P&(
)H&=,?.Gk.)&PCX..13(
)>9:S*+X, V +M)HS*$
9*)76g _|'Q
QJLhJ<zU rC-6=.Y&f+-)&HS
.&6=cW&(
)e.S 1C-)7$
17cW&)<.0&HTaI?6Hg _|.=13(*)>9*S*+-, V C-+MCM&0c?Q c_q:4*6<Q J:Q y ]C-S{,?$
9 ,ocN+X,5$L9W&)<.0& [\&=(*)
&3,?.Gk.Y)7&C-.P.=13(*)<9:S*+X, V +-)HCAT
v  **Q
. J5#  ( ?#MJ? J5 . 

^(*CX.PCX.^i?6=)>,5&)76&=(
,5$l*Q  *
Q^(*)76=)TaI/6)/[O&(*)mi/CMn/)7$&=,?.G.)&^T,?CM+X. ]C-Sl,5$
!9 ,ocN+X,5$L9d&)<.0&<QKOC-$
1)pFq:4*6>Q J*Q ZCX.P,E4z)>.=.YC-DEC-.Y&CX1
&=)>.Y&>[*8)H$*)7)<9k&=Ie&)>.Y&PTaS*6&(*)>6>Q
J)&S
.^$*Ij8&6=c J)7(*I:1>GOc
.K&)<.0&<QF|+-+\&(*)H&3,?.G:.^ F87YO H27 N ,?6)m,?+M6=)>,/9:cdI?639:)76=)>9kCM$l9:)<16=)>,/.YC-$*ieI?639:)76^I5T&(
)7C-6P4*6C-I?6=CM&C-)>.>Q
)>.Y&C-$*ieTaI?6^&3,?.GG FoUOC-$
1 ) &F
. ZDE.)>1HCX.^+-)>.=.&(
,?$ 2F . J?eDE.)>1?Q^(*)76=)TaI/6)HG Fb8KI/S*+-9DE)7)7&CA&3.^;
63.0&9:)<,?9:+-CM$
)?Q
)>.Y&C-$*ieTaI?6^&3,?.GO H5 !  
?ZI?6<'[ J5!  ? . (5
/
^(*CX.PCX.P.,5&CX.0;L)>9\QF^(*)>6)7TaI?6=)?H [OF
H 
H  8KI/S*+-9DE)7F)7H &P
CA&3.^;
63.0&b9:)<,?9:+-C-$*)?Q
)>.Y&C-$*ieTaI?6,?.GO N5 J?# 
( . J5!  ? ? . / 9 1  &65
 
^(*CX.PCX.^+M)<..&=(
,5$WO NX
.P9:)<,?9:+-CM$
H
)mI5T  J5
Q2^(
 )7
6=) TaI? 6=)fI  Nf8I?S*+X9DE)7)&CM&=.;L6=.Y&b9:)>,/9:+-CM$*)/Q
OC-$
17),?+M+N&(
)K&=(*6=)7)K&=,?.G:.JDE)>)&2&(*)>CM626=)>.4L)<1 &=CMn/)F;
63.0&9:)<,?9:+-CM$
)>.>[j&(*)K&=,/.YGp.)&2CX.g _|w.13(*)<9:S*+X, V +-)^,?1717I?639:C-$*iP&I ])>(*I:1>GN'c
.
6=)>.S*+M&=.>Q

]
2.
OB  z g _| CX.SL.Y)<9l&IW.=13(*)>9:S
+M)e,.)&HI5TU4z)76=C-IO9*C-1Z(
,5639l6=)>,?+A@B&C-DE)p&=,/.YG:.fC-${,.Yc:.Y&)7DWQm#0.CA&m4zI/.=.YC V +-)'C-$y&=(*CX.
.c:.0&=)7D&(
,5&e,l(*C-i?(
)76'4
6C-I?6=CA&0cy&=,/.YGxDEC-.=.Y)<.pCM&=.Z9:)>,/9:+MC-$*)/[8P(
)76=)>,?.',l+MIj8)76'4*6C-I?6=CM&0c_&=,/.YGxDE)7)7&=.ZCA&3.'9:)<,?9:+-CM$
)>. #Tc?I/S*6
,?$
.Y8)76PCX.^$*)>i/,j&=CMn/)?[:4*6=Ijn?)Hc/I?S*6,/..)76&C-I?$]Q2#Tc?I/S*6P,5$
.8)76PCX., d6=DE,5&C-n?)/[:i?C-n?)m,5$W)q*,?De4
+M)HC-$Nn/I?+-nOCM$*ie&08IEI?6^&(
6)>)H&=,?.G:.
.=13(*)>9*S*+M)<9_S
.C-$*ig y| 8P(
)76=)p&(
)e+-Ij8)76b4
6C-I?6=CA&0c&3,?.GDE)>)&=.H,?+M+2CM&=.H9:)>,/9:+-CM$*)<.b8P(
)76=)>,?.b&(
)Z(*C-i?(
)76H4*6=CMI/6CM&0ck&3,?.GlDEC-.=.Y)<.
CM&=.9*)>,?9*+MC-$*)?Q
QJLhJ<zU  )<.7Qp#&HCX.4zI/.=.C V +-)Z&(
,5&HS
$
9:)76mg y| ,(*C-i?(*)>6f4
6C-I?6=CA&0c&=,/.YGlDECX..)>.fCM&=.H9:)<,?9:+-CM$
)Z8P(*)>6)E,?.f,+MIj8)764*6C-I?6=CM&0c
&3,?.GyDE)7)7&=.pCM&=.Z9:)>,/9:+-CM$*)/QW}{)k.(*Ij8 &(*CX. V cx1I/$
.0&=6SL1 &C-$*i_,?$s)q*,5DE4*+-)?Q KI?$
.CX9:)76m&=(*)dTaI/+M+-Ij8PCM$
iW&=,?.Gu.Y)7&>'G F . &F .
(81 &6587 IF . J?2 1 & 5> 7:O H . &H . 21 &6587 CH .  (21  &657 7
N . & N . 91  &6587  N . ?2 1 &657 Q^r*I/6P&(*)'i?C-n?)7$W&3,?.G.)&<[
CM&pC-.H)<,?.cW&IlI V .Y)>6n/)p&=(
,j&   F7    aO H>    a N Qd^(
,j&mCX.7[G F67YO H87 N ,?6)EI/6=9:)>6)<9_C-$x9*)>16=)>,/.YC-$*iI?639:)76HI?TU&(
)7C-6
4*6=C-I?6=CA&=CM)<.7Q
r
I?6E&(
C-.E&3,?.G.)&>[ N DE)7)&3.ECA&3.9:)<,?9:+-CM$
)_,?1717I?639:C-$*iy&=.I ])7(
IO177GO'c
.e&=)>.Y&k.YC-$
17) H & N  N   &H<  N   &4F7 .
;  ! ; (! ( . 
?*Q S:&<[L H 9:IO)>.$*I5&bDE)>)&HCA&3.9:)<,?9:+-C-$*)'.CM$
17)?-[ & H 
& F. = J! ( . 
[
8P(*CX13(_CX.
 
i/6)<,j&)>6&(
,?$&=(*)p9:)<,?9:+-CM$
)fI?TO HjQ


|.F,H1I?$L.Y)<`/S
)7$
17)I?T&(*)P6=)>.S*+M&=.I?TFq:,?DE4*+M) / [ V c'I V .)76=nNC-$*i&(
,5&F&(
)P+MIj8)>.Y&4*6C-I?6=CM&0cm&=,/.YGpI?T,Hi/CMn/)7$Z&=,/.YGe.Y)7&FDe)>)&3.
MC &=.^;L6=.Y&b9:)>,/9:+-CM$*)/[
8)p17,?$$
I5&b1I/$
1+-S
9:)H&=(
,j&P&=(*)p)>$/&=CM6=)H&=,/.YG.Y)7&bC-.bg _| .=13(*)>9*S*+-, V +-)?QR$&(
)'1I/$/&=6=,?6c/[OCA&bCX.P$*)<1)<..=,56=c
&=I_13(*)>13G_)<,?13({&=,/.YG{CM$
9*CMnOCX9:S
,5+-+-c{,?.m&IW8P(*)&=(*)76'CA&'DE)>)&=.pCA&3.H;
63.0&'9:)<,?9:+-C-$*)dS*$
9:)>6p7)>6IW4*(L,?.CM$*iLQ#T^I?$*)E;
$L9*.H&(L,j&p&=(*)
+-Ij8K)<.0&P4*6=C-I?6=CA&0cd&3,?.GDE)7)7&=.PCM&=.9:)>,/9:+MC-$*)/[
,5$
9W17I?$
17+MS
9*)>.Ta6=I?D &=(*CX.^&(
,5&&(
)m)7$N&C-6)H&3,?.Gk.)&8I?S*+X9 V )mTa)<,?.C V +Mck.=13(*)<9:S*+-)>9
S*$L9:)76g y| C-.^+-C-G?)7+-cd&=I V ) LL,o8)>9]Q
#$ 0    /:-/8:   * 78  * :"9$   $  *C*+)3#0 $
 *
  3  .&7 *+<. 
JCMSy,?$
91 ,ocN+X,5$L9
.b6)<.YS
+A&3.'Fq:4*6>Q=J:Q / V I/S*$
9:)<9l&(
) 
S:&C-+-CM<,j&C-I?$ V )>+MIj8 8P(*CX13(y,E&3,?.Gl.Y)7&8I?S*+X9 V )E.=13(*)>9:S
+-, V +M)/Q
#&C-.1+-)>,?6FTa6=I?Dq:4*6<Q6J*Q p,5$
9krC-i
Q m&(
,5&K&=(*)% JCMSk,?$
9
,ocN+X,5$L9e.=13(*)<9:S*+X, V C-+MCM&0cd16=CA&=)76=CMI/$EC-.1I/$
.Y)>6nj,5&C-n?),5$L9d6)<.0&=6CX1 &3.
&=(*)ZDd,5qOC-D'S
D ,/13(*CM)>nj, V +-)'S:&=CM+-C->,j&=CMI/$y9:S*)'&I,5$Oc&=,?.GW.Y)7&8P(*CX13(y17,?$ V )'Ta)<,?.C V +-cW.13(*)<9:S*+-)>9lS
$
9:)76Hg _ | &I*Q  8P(
)7$
 


&

&

&

&

Version 2 CSE, IIT Kharagpur

&=(*)$OS*D V )76UI5T&=,/.YG:.C-$E&(*)&=,?.GZ.)&FCX.F+X,56=i?)/QbIj8K)>n?)76<[*,/.c?I/SEDeC-i?(N&U(L,on?)P,5+-6)<,?9:c'i?S*)<..)>9
&=(*CX.FCX.U,H4z)>.=.YC-DEC-.Y&CX1^;
i/S*6)/Q
#%$dT,/1 &<[NCM&^(
,?. V )>)7$TaI/S*$
9d)7q:4L)>6C-DE)7$N&=,?+M+-ce&(
,5&UTaI?6^,m+X,56=i?)b17I?+-+M)<1 &=CMI/$dI5T]&3,?.GO.U8PCA&=(C-$
9:)74z)7$L9:)7$N&^4L)>6C-I:9*.7[N&=(*)bDd,jq:C-D'S*D
S:&=CM+-C->,j&=CMI/$ V )>+MIj88P(*C-13(W,e&=,/.YG.Y)7&P1>,5$Ta)>,/.YC V +-c V )p.13(*)<9:S*+-)>9C-.I?$&(*)p,on/)763,5i?)f1+-I/.)b&=I *9*Q
r
I?6b(L,56=DeI/$*CX1m&=,/.YG:.>[
&=(*)eDE,5q:CMDZS*D ,?13(*C-)7nj, V +M)pS*&C-+MC->,5&C-I?$aTaI?6H,d&3,?.GW.)&&I(
,on?)e,dTa)>,/.YC V +-)Z.=13(*)>9*S*+M)o1>,5$y.Y&C-+M+ V )
(*C-i?(
)76<Q#%$T,/1 &<[*CATF,?+M+&=(*)m&=,/.YGk4L)>6C-I:9*.,56=)f(
,56=DEI?$*CX17,?+M+-c6=)7+X,j&)<9\[O&(
)7$l)7n/)7$W,Z&=,?.G.)&(L,onNC-$*i / S:&=CM+-C->,j&=CMI/$l17,5$ V )
Ta)<,?.C V +-cW.13(*)<9:S*+-)>9\*Q J)&bS
.;
63.0&bS
$
9:)763.Y&=,5$L9W8P(*)7$_,?6)m&=(*)p4z)76=CMI:9*.bI5TF,E&3,?.G.)&.=,5CX9&I V )'(L,56=DeI/$*CX17,5+-+-c6)>+-,5&)<9\QP^(*)
&3,?.G4z)76=C-IO9
.C-${,d&3,?.G.)&H,56=)Z.=,5CX9&I V )e(
,56=DEI?$*CX17,?+M+-c6)>+-,5&)>9][LCMuTaI?6,?$Oc&08Ik,?6 V CM&63,56=c&3,?.G:.b\U,?$
9l C-$l&(
)'&3,?.G
.)&<[
8P(*)>$*)7n/)7+6 L   [LCA&.(*I/S*+-9C-DE4*+Mc&(L,j& LFC-.,5$WCM$N&=)7i?63,5+\DZS*+M&C-4*+M)'I5-T  Q^^(
,j&CX.>[
8P(*)>$*)7n/)7+6 L   [LCA&b.(*I?S
+-9 V )
4zI/.=.YC V +-)b&=IE)q:4*6=)>.=. z ,/.   TaI?6P.I?DE)C-$N&)>i?)76  Q#%$I5&=(*)76^8I?639*.>[  .(*I?S
+-9.`NS
,?6)>+Mcd9:C-nOC-9:) z0QF| $)q*,?De4
+M)fI5T
,f(
,?6DEI?$
C-1>,5+-+Mcm6=)7+X,j&=)>9'&=,?.G'.)&FCX.2&(
)^TaI?+-+MIj8PC-$*i
J F . (Dd.Y)<15[ ?Dd.Y)<1> [/O H . *fDd.)>15[ J?bDd.)>1< [? N . JbDd.Y)<15[ ?fDd.Y)<1>Q
#&PCX.P)>,/.Ycd&=IE4*6Ijn/)b&=(
,j&b,e(
,?6DEI/$*C-1>,5+-+Mcd6=)7+X,j&=)>9k&=,/.YGk.)&8PCM&(W)>n?)7$ / S:&=CM+-C->,j&=CMI/$l17,5$Ta)>,/.YC V +-c V )p.13(*)<9:S*+-)>9\Q
 $ & <\ m V*
 + 7W V
3 R:M  T7 7 j~Xd5j  T
 RO
j
 B  B J5W{77' " V*j FdjL3jU Ts7M53x%o #o
z

TF
@Hj]4 3= ])7&S
.,/..S*DE)H&(
,5&bG F 7YO H97   7 V )m&(*)H&3,?.G:.PCM$W&=(*)mi?C-n?)>$&=,?.G.)&<Q J)&S
.TaS*6Y&=(*)76,?.=.YS*DE)H&=(
,j&P&=(*)m&=,/.YG:.PC-$
&=(*)m&=,/.YGW.)&bG F67O H27   7 (L,on?) V )7)7$_,?663,5$
i?)>9C-$_CM$L16=)>,?.C-$*iEI?639:)76I?T2&(*)>CM64L)>6C-I:9*.7QP^(
,5&bCX.7[LTaI?6f,5$OckC,5$
9e,[ L 2D
8P(*)>$*)7n/)76 LQ{#T&=(*CX.Z6=)7+X,j&=CMI/$
.(*CM4sCX.e$*I5&E.,5&CX.0;L)>9\[2&=(*)7$v,y.CM DE F4*+-)6=)7$L,5DECM$
i_I5TP&=(*)k&3,?.G:.Z1>,5$,/13(*CM)>n?)d&=(*CX.7Q Ij8
,/171I/6=9*CM$*iZ&IdFqO4
6>Q J:Q #L[*,Z&=,?.G\2DE)7)7&=.^CM&=.9:)<,?9:+-C-$*)?[*CM+T &<'  F   ! &
z   <K J #O
bIj8K)>n?)76<[*.CM$
17)H&(*)p&=,?.Gk.)&bCX.P(
,?6DEI/$*C-1>,5+-+Mck 6F )>+-,5&)>9]2[ LF1>,5$ V )p8P6CM&Y&=)7$l,?. 1!  TaI/6.YI/DE)mDQ b.C-$*iE&(*CX.>[   .  Q
bIj8m[?q:4*6<TQ J*Q Jb1>,5$ V )P8P6=CA&&)>$E,/.7 &o  F  !&
z0Q2r*I?6\ . [58K)P1>,5$e8P6CM&)/[ &  F  !&
 6Q bC-nOC-9:@
C-$*i V I5&=(.C-9*)>.KI5T]&=(*C-.)7qO4
6)<..CMI/$ V c  8K)i?)7&K&=(*)6=)>`NS*C-6=)>9E6=)>.S*+A&<[N&(*)&=,/.YGd.)&K8I?S
+-9 V )H.13(*)<9:S*+X, V +-)bCM F 
[
I/6 F
Q



 

 

)



4


 

 

k Z\-W   7f      


#%$&(
C-.P.)>1&C-I?$][:8)m,?9*9:6=)>.=.P.I?DE)DECX.17)7+-+-,?$*)7I/S
.^CX..S*)>.P,/..I:1CX,j&=)>98PCM&(lg y| .13(*)<9:S*+-CM$
iZI?T&3,?.GO.>Q2}{)H;L6=.Y&9:C-.=1SL..&=(*)
,/9:nj,5$N&=,?i?)>.,5$L99:CX.=,?9:nj,5$N&3,5i?)<.UI?TS
.C-$*idg _|TaI?6.=13(*)>9*S*+MC-$*ie6)<,5+M@h&=CMDE)&=,/.YG:.>Q}x)H&(
)7$W9:C-.=1SL..^8P(Ocg _|$
IZ+-I?$*i/)76^CX.
I/4:&C-Dd,5+\8P(*)>$&3,?.Gk9:)<,?9:+-CM$
)>.P9:CMz)>6PTa6=I?D &=(*)p1I/66=)>.4LI/$
9:C-$*iZ&=,?.G4z)76=CMI:9*.>Q


 

 . $%*+ ;9< $/.

7 .*-$9*+-; < "



#%$&(
C-.P.)>1&C-I?$8K)H;
63.Y&P9*C-.=1S
.=.&(
)mCMDE4zI?6&=,5$N&,?9*no,?$N&=,5i/)>.KI5Tg _|Ijn/)76^ frKQ
}{)H&=(*)7$W4zI?C-$/&I/S:&.YI/DE)H9*C-.=,?9:nj,?$/&3,5i/)>.
I?TzS
.C-$*i'g _|'Q/|.8K)P(L,?9e4LI/CM$N&=)>9EI?S*&U)>,?6+-CM)>6>[5g _|~CX.Fn?)>6cZ1I?DEDEI?$
+McZS
.Y)<9ZTaI?6U.=13(*)>9*S*+MC-$*im6=)>,?+A@B&C-DE)^&=,?.G:.2CM$d4
6=,/1 &CX17,?+
,?4*4*+-C-1>,j&C-I?$L.7Q ^,?.C-1f.YS
4*4LI/6Y&^CX.,onj,?CM+X, V +-)bC-$,?+MDEIN.0&P,5+-+z17I?DEDE)7631CX,5+z6)<,5+M@h&=CMDE)fI?4z)763,j&=CM$*ie.Yc:.Y&)>DE.UTaI?6P9:)>n?)>+MI/4*CM$
iZ,54
4*+MCX17,5@
&=CMI/$
.bSL.YC-$*ig _|pQ\g _| CX..CMDE4*+-)E,5$
9l) 1C-)7$N&>QHg _| C-.f,5+X.I&(
)'I?4*&C-DE,?+.Y&=,5&CX1'4
6C-I?6=CA&0c&=,/.YGW.=13(*)>9:S
+MC-$*i,?+Mi/I?6=CA&=(*DWQ
b$*+MC-G?)l r[CM&E6=)>`NS*C-6=)>.en?)>6cxTa)78 .Y4z)>17C-,?+9*,j&3,{.Y&6=S
1&S*6=)>.>Q lIN.0&17I?DEDE)7631CX,5+6)<,5+M@h&=CMDE)I?4z)763,j&C-$*iu.Yc:.Y&)>DE.E.S*4*4zI?6&
6=)>,?+A@B&C-DE).Y&=,j&=C-1<^4*6=CMI/6CM&0ck+-)7n/)7+X.^TaI?6&=,?.G:.7Q^,?.GO.^(L,onNC-$*id6=)>,?+A@B&C-DE)m4*6C-I?6=CM&0c+M)>n?)>+-.,56=)H,?663,5$
i?)>9C-$lD'S*+M&C-+M)>n?)>+]Ta)7)<9 V ,/13G
`NS*)>S*)>..)7)rC-i
Q (/ Qy|bDeI/$*i_&=(*)&=,?.G:.pC-$,y.C-$*i?+-)+-)7n?)>+h[2&=(*)>.)17I?DEDE)7631CX,5+K6)<,5+M@h&=CMDE)I/4L)>6=,5&C-$*iy.cO.Y&)>Dd.'i/)7$*)>6=,?+M+-c
4*6=IjnOC-9*),5$I?4*&C-I?$kI?T)>CA&=(*)76&C-DE)m.Y+-C-17CM$
ie,?$
9k6=I?S
$
96=I V C-$.=13(*)<9:S*+-CM$*ieI?6Pr#0rR .13(*)<9:S*+-CM$
i
Q2}{)m,?+-.Ie9*C-.=1S
.=.CM$&(
)f$
)qO&
13(
,?4:&)>68P(Ock&=(*CX.b13(*I/C-17)mI5TF.13(
)>9:S*+-C-$*i,5DEI?$
id)>`NS
,5+4*6=CMI/6CM&0cd&=,/.YG:.P(L,?.b,?$lCMDE4zI?6&=,?$/& V )>,?6C-$*idI/$W&(*)p6=)>.I?S
6=17)H.(
,?6C-$*i
4*6=I5&=I:1I?+X.>Q
Ko
<O Y LNjz* l*h S g _| 4zI/.=.)>.=.Y)<.Pi?IOI:9&63,5$
.C-)7$N&Ijn/)76=+MIN,?9(
,5$
9*+MC-$*i1>,54
, V C-+MCM&0c?Q fIOI:9W&=6=,?$:@
.CM)>$N&'Ijn?)>6+-I/,/9y(
,?$
9:+-CM$
i_17,54L, V C-+MCM&0cx)>.=.Y)>$/&=C-,?+M+-cyDE)<,5$
.p&(
,5&'8P(*)7$t,_+MIj8)76p4
6C-I?6=CA&0c_&=,?.Gu9:IO)>.p$
I5&Z17I?DE4*+-)&)k8PCA&=(*CM$CA&3.
4*+X,5$
$*)>9v1I/De4
+M)7&C-I?$t&=CMDE)/[1>,5$$
I5&EDE,?G?)W,5$Ocs(*C-i?(*)>6E4*6C-I?6=CM&0c{&3,?.Gu&IuDEC-.=.eCA&3.d9:)>,/9:+-CM$*)/Q J)&dS
.e$*Ij8 )7q:,?DECM$*)W(*Ij8
&=6=,?$
.YC-)7$N&Ijn/)76=+MIN,?98KI/S*+-9W,5z)<1 &,.)&I5T2&=,/.YG:..=13(*)>9*S*+M)<9S*$
9:)>6g _|'QL}~C-+-+,9:)>+-,ocCM$_17I?DE4*+-)&=CMI/$ V cW,E+-Ij8K)>6P4*6C-I?6=CM&0c


J

Version 2 CSE, IIT Kharagpur

Task Queue

Priority Level

1
2
3
4
5
6

r CMi/S*6=) (: lS*+M&CM@ ])7n/)7+]r


)7)>9 V ,?13G S
)7S*)
&3,?.Gx,5z)<1 &e,_(*CMi/(*)76Z4*6=CMI/6CM&0c_&3,?.G ^(*),?$
.Y8)76'C-.> I*Q_| +-Ij8)76p4*6=C-I?6=CA&0cy&=,?.Gx)7n?)>$s8P(*)7$sCM&Z)7q*1)7)<9*.pCM&=.Z4*+X,5$*$
)>9
)7qO)<1S:&=CMI/$u&C-DE)1>,5$*$*I?&'Dd,5G/)k,l(*C-i?(*)>6'4*6=C-I?6=CA&0cy&=,?.Gu8,?CA&e,?1717I?639:C-$*iW&Il&=(*) V ,?.C-14*6C-$
17CM4*+-)>.'I5Tbg y| V 8P(*)7$*)>n?)>6',
(*C-i?(
)76m4*6=CMI/6CM&0cW&=,/.YG{C-.H6=)>,/9:c?[JCA&p4*6=)7)>DE4:&=.p,?$Oc_)q:)>17S:&C-$*iW+-Ij8K)>6f4
6C-I?6=CA&0c_&=,?.GQd^(NSL.7[g _|CX.p.0&3, V +-)ES*$
9:)>6m&63,5$L.YC-)7$N&
Ijn/)76=+MIN,?9,5$
9l,d+-Ij8)764*6=C-I?6=CA&0c&=,/.YGIjn?)>6=.(*IOI5&=CM$*iECM&=.1I?DE4*+-)&=CMI/$l&C-DE)Z1>,5$l$*I?&bDd,5G?)Z,d(*C-i?(*)>6b4*6=CMI/6CM&0c&3,?.Gk&=IkDECX..bCA&3.
9:)<,?9:+-C-$*)?Q
^(*)9:CX.,/9:nj,5$N&=,?i?)>.'I5Tg _| CM$
17+MSL9:)k&=(*)TaI?+-+MIj8PC-$*i
d#&dCX.'n/)76=cs9:C 17S*+A&E&=Ix.S*4*4zI?6&e,?4L)>6C-I:9:C-1,5$
9.Y4zI?63,?9*C-1&=,?.G:.
S*$L9:)76g y|pQLr
S*6&(*)>6>[*g y|C-.P$
I5&PI?4:&=CMDd,?+]8P(*)7$&3,?.G4L)>6C-I:9*.P,5$L99:)<,?9:+-C-$*)>.9*CA)76<Q




<-./87$ 

"9$ " *C"%$&7  8:; "935 * &4  


*&



g y| $*I+MI/$*i?)>66)>Dd,5C-$
.b,?$lI?4:&=CMDd,5+2.=13(*)>9:S
+MC-$*ik,?+Mi/I?6=CA&=(*DTaI/6&=(*)'4z)76=CMI:9:CX1m6=)>,?+A@B&C-DE)m&=,/.YG:.>[L8P(*)>$l&=,/.YGW9:)<,?9:+-CM$
)>.b,?$
9
4z)76=CMI:9*.f9:CMz)>6eChQ )?Q=/ .  L^TaI?6f.YI/DE)p&=,/.YG:.bCM$l&=(*)p&3,?.Gl.Y)7&&I V )E.13(
)>9:S*+-)>9]Qbr*I/6f.S
13(W&=,/.YGW.)&=.>[Ob)<,?9:+-C-$*) lI/$*I5&=I?$*CX1
|b+Mi/I?6=CA&=(*D K y|H&=S*6=$
.pI/S:&p&I V )kDEI/6)d4*6=I5;z1C-)7$N&m&(
,?$tg _|'QT_| CX.p)<..)7$N&CX,5+-+-c{,lnj,56=CX,5$N&mI5Tg _|,5$
9s,/..CMi/$
.
4*6=C-I?6=CA&=CM)<.^&IE&3,?.GO. V ,?.)>9WI/$&=(*)7C-69*)>,?9*+MC-$*)>.>[
63,j&=(*)76^&=(
,5$_,/..C-i?$*C-$*id4*6=CMI/6CM&C-)>. V ,?.)>9WI?$&3,?.Gk4z)76=CMI:9*.,?.9:I/$*)mC-$_g _|pQ
_| ,?.=.YC-i?$
.(*C-i?(*)>64
6C-I?6=CA&=CM)<.P&=I&=,/.YG:.8PCA&=({.(*I?6&)>6f9*)>,?9*+MC-$*)>.>Qf}~(*)7$y&(*)e6)>+-,5&C-n?)e9:)>,/9:+MC-$*)ZI5TU)>n?)76=c&=,?.GWC-.f4*6=I?4zI?6@
&=CMI/$
,5+z&IECM&=.4z)76=CMI:9\[*g y| ,?$
9 _| 4*6=I:9:S
17)CX9:)7$N&=C-1>,5+].I?+-S:&C-I?$
.>Q2}~(*)7$&(
)f6=)7+X,j&=CMn/)9:)<,?9:+-C-$*)>.^,56=)H,56 V CA&=6=,?6c/[ _| CX.
DEI?6=)m4*6=I5;L17CM)>$N&P&(
,?$_g _| C-$W&(*)Z.Y)>$
.Y)H&=(
,j&CA&1>,5$l.I?DE)&=CMDE)>.4*6I:9:SL1)',eTa)<,?.C V +-)p.=13(*)>9:S
+M)m8P(*)>$_g _|T,?CM+X.>QPR$W&=(*)
I?&(*)>6P(
,5$
9][*g _| ,5+-8^,ocO.KT,?CM+X.^8P(*)7$ _| T,5C-+X.7Q2}x)m$*Ij8C-+M+-S
.Y&63,j&=)fI/S*69:CX.17S
.=.YC-I?$
.S
.C-$*id,5$)q*,5DE4*+-)f&=,?.Gk.)&^&(L,j&CX.
_| .=13(*)>9:S
+-, V +M) V S*&b$*I5&g y| .13(*)<9:S*+X, V +-)?Q
| k|+X.YIW13(*)<13Gl8P(*)&=(*)76mCM&pC-.m.=13(*)<9:S*+X, V +-)ZSL.YC-$*iWg _|pQ
]
2  B  \ #0.f&=(*)eTaI?+-+MIj8PC-$*i&=,/.YGy.)&p.=13(*)>9*S*+-, V +-) V c _%
G F . &4F . EDd.)>1?,[ OF . (?EDE.)>1?O[  F .  (EDd.)>1>[I H . &H . (EDd.Y)<15,[ EH . ?dDd.)>1?C[  H . J?EDd.Y)<1> [ N . & N . J5EDd.)>1?[
 N . J5/'Dd.)>1?[  N . J5/pDd.Y)<1>
QJLhJ<zU rC-6=.Y&>[/+M)7&US
.F13(
)>13G'g y| .13(
)>9:S*+X, V CM+-CA&0cZI5Tz&(*)Pi/CMn/)7$d.)&FI5Tz&=,/.YG:.>[ V cZ13(
)>13GOCM$
i&=(*) ])>(*I:1>GN'c
.F16=CM&)76=C-I?$]Q^(*)
&3,?.GO.P,?6)m,?+M6=)>,/9:cI?639:)>6)<9C-$_9:)>.=1)>$
9:C-$*iEI?639:)76PI?T&=(*)7C-64*6=CMI/6CM&C-)>.>Q K(*)<13GNC-$*ieTaI?6PG Ff 2 1 &65  (21  &65jQ^(*)>6)7TaI?6=)?[:G F
8I?S*+X9De)>)&CM&=.^;L6=.Y&9:)>,/9:+MC-$*)/Q
K(*)<13GOCM$*ieTaI/6PI HH   (
 J?*Q^(*)76=)TaI/6)/[OI HH8PC-+-+]DEC-.=.^CA&3.^;
63.0&9:)<,?9:+-C-$*)?Q
b)7$
17)?[:&=(*)mi?C-n?)>$k&3,?.Gk.Y)7&17,5$$*I?& V )HTa)<,?.C V +-ck.=13(*)>9*S*+M)<9S*$
9:)>6g _|pQ


J2*

Version 2 CSE, IIT Kharagpur

bIj8+-)&S
.13(
)>13GE&(
)p.13(*)<9:S*+X, V C-+-CA&0cSL.YC-$*i y|p
b$
9:)76; _|'[:&(
)m4*6C-I?6=CM&0cdI?639:)76=CM$
iZI?T&=(*)H&=,/.YG:.^CX.P,?.TaI?+-+-Ij8.7 :aOHo  :aGF7  :a N
K(*)<13GOCM$*ieTaI/6P H 21 &65  (81 &65jQb)7$
17)m H 8PC-+-+]DE)7)&CM&=.P;
6=.Y&9:)>,/9:+-CM$*)/Q
K(*)<13GOCM$*ieTaI/6P F L ( J5N 1 & 5
J?2 1 & 55[Ob)7$
17)m F 8PC-+-+]DE)7)&CM&=.P;
6=.Y&9:)>,/9:+-CM$*)/Q
K(*)<13GOCM$*ieTaI/6PI NHL  !  ?  J5N 1 &65 J??2 1 &65jQ^(
)76=)TaI?6=)?[:O Nf8PC-+M+]DE)>)&CM&=.9:)<,?9:+-C-$*)?Q
^(*)>6)7TaI?6=)?[N&(
)mi?C-n?)7$&=,/.YG.Y)7&^CX..=13(*)>9*S*+-, V +-)fS
$
9:)76 _| V S:&$*I5&S
$
9:)76g _|pQ


#"%$9*+*   *  &7$&;.9)3 ).

'&

'&

OIT,56<[*8P(*C-+M)'9*)&)>6DEC-$*C-$*ik.=13(*)>9:S
+-, V CM+-CM&0ckI5TF,e&3,?.G.)&>[z8)m(
,?9WC-i?$*I/6)<9&=(*)'Ijn/)76=(*)>,/9*.CM$L1S*6=6)<9I?$_,?1>1I/S*$N&I5T1I?$N&=)qO&
.8PCA&313(*C-$*i
Q5 ])7&S
.P$*Ij8CM$On/)>.Y&C-i/,j&=)b&=(*)m))>1&I5T1I/$/&=)qO&.Y8PCM&=13(
CM$*iEIjn/)76=(*)>,/9dI?$l.=13(*)>9:S
+-, V CM+-CM&0cI5T&=,?.G:.^S*$
9:)>6g _|'Q
#&bCX.)>,?.c&I6=)>,?+MC-7)m&=(
,j&S*$
9:)>6fg y|p[z8P(*)7$*)>n?)>6,E&3,?.G,?66=CMn/)>.>[*CM&4*6=)7)>De4*&=.b,5&DEI/.Y&bI/$*)p&3,?.KG V&(*)'&=,?.G&(
,5&CX.
17S*66=)7$N&=+Mc6S*$
$*CM$
i
Qr*6=I?D&(
C-.I V .)76=nj,j&=CMI/$][*CM&f17,?$ V )e1I/$
1+-S
9:)<9&(
,5&bCM$_&(*)Z8KI/6=.Y&Y@%17,/.Y)/[:)>,?13(W&3,?.GC-$
17S*6=.b,j&DEIN.0&&08I
17I?$N&)7qN&f.Y8PCM&=13(*)<.bS
$
9:)76fg _|'Q]R$
)p8P(*)7$yCA&f4*6)>)7DE4:&3.&=(*)Z17S*66=)7$N&=+Mc6S
$*$*C-$*i&3,?.GzQ|b$
9l&=(*)'I?&(*)>6b8P(*)>$_CM&f1I/DE4*+M)7&)<.
4zI/.=.YC V +-cd&(
)H&=,?.Gd&=(
,j&8^,?.4*6=)7)>De4*&)>9I/6.YI/De)HI?&(*)>6^&=,?.GdCX.9:CX.Y4
,5&=13(*)<9&=IE6S*$JQKRbT217I?S*63.Y)/[:,'&3,?.GDd,ocC-$
1S*620SL.0&I/$*)
17I?$N&)7qN&m.8PCA&313(*CM$
iIjn/)76=(*)>,/9\[CATCA&p9:IO)<.H$*I5&m4*6=)7)>De4*&H,?$Nc_&=,?.GQZr
I?6H)q*,5DE4*+-)?[\CM&',56=6=CMn/)>.8P(
)7${&(*)d4*6=I:1)<..I?6C-.HCX9:+-)eI/6
8P(*)>$k,p(
CMi/(*)76K4*6C-I?6=CM&0cp&=,/.YGE8^,?.U6S*$
$*CM$
i
Q2Ij8)7n?)>6>[/8K)$*)7)<9E&IZ1I?$L.YCX9:)76U&08KIZ1I?$N&=)qO&.8PCA&313(*)>.FTaI?6)7n/)76=cp&=,/.YG[NCAT8K)P&=6c
&=IE9*)&)>6DEC-$*)H&(
)m8KI/6=.Y&Y@%17,/.Y)f1I?$N&=)qO&.Y8PCM&=13(*C-$*idIjn/)76=(*)>,/9\Q
r
I?6p.CMDE4*+-C-17CA&0c{8K)d1>,5$s,?.=.YS
De)e&=(
,j&Z17I?$N&)7qO&m.8PCM&=13(*C-$*iW&C-DE)dC-.'1I?$L.0&3,5$N&>[J,?$
9x)>`NS
,?+-.m1EDEC-+M+-CO)<1I/$
9*.H8P(*)>6)1ECX.m,
17I?$
.Y&=,?$/&<Qr
6I/D &(*CX.7[NCM&KTaI/+M+-Ij8.&=(
,j&K&(*)$*)&))>1 &^I5T]17I?$N&)7qN&^.Y8PCM&=13(
)>.FCX.U&I'C-$
176)<,?.)^&(*)f)q:)>17S:&C-I?$E&=CMDE) &o]I5T])<,?13(E&3,?.G
\U&I,5&fDEIN.0& &<O  J"! 5jQH#&fCX.b&(*)>6)7TaI?6=)Z1+-)>,?6&=(
,j&HCM${I?639:)76b&I&=,?G?)Z17I?$N&)7qO&f.8PCA&313(*CM$
i&C-DE)ZC-$N&IW1I/$
.YCX9:)>6=,5&C-I?$][zCM${,5+-+
.=13(*)>9*S*+-, V C-+MCM&0ck1I/DE4*S:&=,5&C-I?$
.>[:8)f$
)7)>9&=Ie6=)74
+-,/1) &o V c &<C MJ95TaI/6P)>,?13(\0Q
]
2!
 ] K(*)>13GZ8P(*)&=(*)76U&(*)PTaI/+M+-Ij8PC-$*ip.Y)7&UI5T\4z)76=CMI:9:CX1P6=)>,?+A@B&C-DE)^&=,?.G:.CX.U.=13(*)>9:S
+-, V +M)PS
$
9:)76g _|~I/$,HS*$*C-4*6=IO17)>.Y@
.I?6<2 F . & F . J?'Dd.)>1?[  F . /'Dd.)>1< [* H . & H . ?eDd.Y)<15[  H6. (5ZDd.Y)<1>[*O N . &N .  eDE.)>1?[ CN . J5/'Dd.)>1< QU|..S*DE)H&(
,5&
17I?$N&)7qN&2.Y8PCM&=13(
CM$*iIjn?)>6(*)<,?9H9:IO)>.$*I?&)7q:17)7)<9 DEC-+M+-CN.)>1>.,?$
9mCX.&I V )K&=,5G/)7$pC-$N&If,?1717I?S*$N&JC-$Z.=13(*)<9:S*+X, V C-+MCM&0cm1I/De4
S:&=,5&C-I?$
.>Q
QJLhJ<zU
^(*)$*)&e))>1&ZI5Tb17I?$N&)7qO&e.8PCA&313(*)>.'C-.'&I_C-$
176)<,?.)d&(*))q:)>17S:&C-I?$t&C-De)I5T)<,?13(u&=,/.YG V cx&08KIy17I?$N&)7qO&Z.Y8PCM&=13(
CM$*iy&C-DE)>.>Q
^(*)>6)7TaI?6=)?[N&(
)mS:&C-+MC->,5&C-I?$l9:S*)H&=Ie&(*)H&3,?.Gk.Y)7&C-.>
N
J J  (J   J . *  

.
? (? J5/

TF
OC-$
17) N F v  **[N&(
)H&=,?.Gk.)&CX.^$*I5&bg _| .13(
)>9:S*+X, V +M)m,?1>1I/6=9:C-$*iZ&Ie&(
) ]C-SW,?$
9 J,ocO+-,?$
9k&)>.Y&>Q
J)&S
.&=6c ])7(
IO177GO'c
.K&=)>.Y&>
^(*)H&3,?.G:.,?6)m,?+M6=)>,/9:cdI?639:)76=)>9kCM$l9:)<.17)7$
9*CM$*iEI/6=9:)>6PI5T&(*)>CM64
6C-I?6=CA&=CM)<.7Q
K(*)<13GOCM$*ieTaI/6^&=,?.G F ( J(J /*Q2^(*CX.PC-.P.=,j&=C-.Y;
)<9\[O&(*)>6)7TaI?6=)H F DE)7)7&=.PCM&=.P;
6=.Y&9:)>,/9:+-CM$*)/Q
K(*)<13GOCM$*ieTaI/6^&=,?.G H ( J(J ! J (J (?*Q2^(*C-.C-.P.=,j&=C-.Y;
)>9][:&(*)>6)7TaI?6=) H DE)7)7&=.PCM&=.;L6=.Y&b9:)>,/9:+-CM$*)/Q
K(*)<13GOCM$*ieTaI/6^&=,?.GO NH( J(J ! J (J ! J  J5?
Q^(*C-.^CX..=,j&=C-.Y;
)>9][O&(*)>6)7TaI?6=)fO NfDE)7)7&=.PCM&=.^;L6=.Y&9:)>,/9:+MC-$*)/Q
^(*)>6)7TaI?6=)?[?&(*)b&=,?.GE.Y)7&17,?$ V )Ta)>,/.YC V +-ce.=13(*)<9:S*+-)>9dS*$L9:)76^g _|)7n?)>$8P(*)>$k1I/$/&=)qO&K.8PCA&313(*C-$*i'Ijn/)76=(*)>,/9'CX.F&3,5G/)7$dC-$/&=I
17I?$
.C-9*)763,j&C-I?$JQ


7





J

Version 2 CSE, IIT Kharagpur

<8
$



& (G<$/ 7"9$

$2(

| &3,?.GsDeC-i?(N&17,?S
.)CM&=.d.)7+MTm.YS
.4z)7$
.CMI/$][U8P(
)7$vCA&4z)76TaI?6=Dd.ECA&3.ECM$*4
S:& jI?S:&=4*S:&I?4z)763,j&=CMI/$
.eI?6E8P(*)>$vCM&d8,?CA&3.eTaI?6.I?DE)
)>n?)7$N&3. 51I?$L9:CA&=CMI/$
.U&IeIO1>1S*6<Q2}~(*)7$W,'&=,?.Gd.Y)>+AT2.YSL.Y4z)7$
9
.KCM&=.)7+MT0[O&(
)fI/4L)>6=,5&C-$*iE.Yc:.Y&)7D 6=)7DEIjn/)>.FCM&^Ta6I/D&(*)H6=)>,/9:cd`/S
)7S*)/[
4*+X,?17)>.CA&HC-$l&(*) V +-I:13G?)>9y`/S
)7S*)/[,?$
9W&3,5G?)<.S*4y&(*)e$*)7qN&H)7+-C-i?C V +M)'&=,/.YGTaI?6f.13(
)>9:S*+-C-$*i
QH^(OS
.7[\.)7+MTK.S
.Y4z)7$L.YC-I?$_C-$N&6=I:9:S
1)<.
,?$,?9*9:CM&C-I?$L,5+.13(*)<9:S*+-CM$
ip4LI/CM$N&<[/8P(*CX13(8)b9:CX9d$*I?&1I/$
.C-9:)>6UC-$O)<15Q J:Q *Q Q}{)b&(*)>6)7TaI?6=)$*)7)<9E&Ie,5S*i/DE)7$N&UI?S
6K9:)7;
$*CM&C-I?$
I?T2,E.=13(*)>9:S
+MC-$*iE4LI/CM$N&i/CMn/)7$kC-$_O)>1?Q J:Q *Q ,/1717I?639:CM$
i?+-c?Q
1  57 + %'  7 14  %'&(>  8'3 $   1 %& >  8   <") . %(,5O %6.,0 ): 15' > 5  3 
 )5:
) K   74) > 3) % > + + 5&5 $ 057< ?

J)&dS
.d$*Ij89:)&=)76=DeC-$*)W&=(*)l))>1&I5Tf.)7+MT@%.YS
.4z)7$
.CMI/$I/$&=(*)_.=13(*)>9:S
+-, V CM+-CM&0ctI5TH,y&3,?.G.)&>Q J)&dS
.17I?$
.CX9:)76d,u.Y)7&
?I TK4z)76=CMI:9:CX1E6)<,5+M@h&=CMDE)Z&=,/.YG:. > F 7 H 7   7 N[]8P(*CX13({(L,on?) V )>)7$s,56=63,5$*i/)>9lC-$x&(*)EC-$
16=)>,/.YC-$*iI?639:)76mI?TU&(
)7C-6m4*6C-I?6=CM&C-)>.daI/6
9:)<16=)>,/.YC-$*iEI?639:)76bI5T2&(*)>CM64L)>6C-I:9*.3 Q* ])7&&(*)'8KI/6=.Y&b17,/.Y)p.)7+MTF.YS
.4z)7$
.CMI/$&C-De)ZI5TF,e&=,/.YG CX. Q J)&&=(*)'9:)>+-,ock&(
,5&b&=(*)
&3,?.G\FDEC-i?(N&bC-$
1S
69:S*)'&ICM&=.Ij8P$_.)7+MTU.YS
.4z)7$
.CMI/$_,5$
9&=(*)Z.)7+MTU.S
.Y4z)7$L.YC-I?$lI?T,?+M+(*C-i?(*)>6b4*6=CMI/6CM&0c&3,?.G:. V ) 0YQb^(*)7$J[
01>,5$ V )m)7q:4*6)<..)>9,?.>
 OF
0 . C 
1 F & 7
  73 J (/
T
F

O)>+AT.YS
.4z)7$
.CMI/$I5TJ,Z(*C-i?(*)>6U4*6=C-I?6=CA&0cZ&=,/.YGE Dd,ocd,j)>1 &&(
)b6=)>.4LI/$
.Y)b&C-DE)I?TJ,p+-Ij8K)>6U4*6=CMI/6CM&0cZ&=,?.GE\ V cd,?.KD'S
13(,?.KCA&3.
)7qO)<1S:&=CMI/$W&C-DE) & CAT &  Qb^(*CX.8I?63.0&b 1>,?.)'9:)>+-,ocDeC-i?(N&bI:1>1S*68P(*)7$l&=(*)p(*C-i?(
)76b4
6C-I?6=CA&0ck&=,/.YGW,jT&=)76.)7+MTF.YSL.Y4z)7$
.C-I?$
.Y&=,?6Y&3.KCM&=.)7qO)<1S:&=CMI/$)7q*,?1 &=+Mc,5&K&=(*)f&C-DE)fC-$
.Y&=,?$/&&(
)f+-Ij8)764*6C-I?6=CM&0cE&=,?.Gd8I?S*+X9(
,on/)bI?&(*)>68PCX.Y)f)q:)<1S:&=)>9\Q^(
,5&^CX.>[O,5T&)>6
.)7+MTU.YSL.Y4z)7$
.C-I?$][L&(*)Z)q:)>17S:&C-I?$lI?T2&(*)Z(*CMi/(*)764*6=CMI/6CM&0ck&3,?.GIjn/)76=+-,?4
.^8PCM&(l&=(*)'+-Ij8K)>64*6=CMI/6CM&0c&3,?.G[L8PCM&(_8P(
C-13(lCM&f8I?S
+-9
I?&(*)>68PCX.Y)Z$*I5&m(
,on/)'Ijn/)76=+-,?4*4L)<9\QmIj8)7n/)76<[zCMT &  [&=(*)7${&(*)d.)7+MTK.S
.Y4z)7$L.YC-I?${I5T,(*C-i?(*)>64
6C-I?6=CA&0c&3,?.G_17,5$x9:)7+X,ocl,
+-Ij8K)>64*6=CMI/6CM&0c&3,?.G V cW,j&fDEI/.Y& [.YC-$
17)m&(*)eDd,jq:C-D'S*D Ijn?)>6+X,54W4z)76=CMI:9WI5T&=(*)')7q:)>1S*&C-I?$lI5TU,(*CMi/(*)764*6=CMI/6CM&0ck&3,?.G9*S*)
&=IE.)7+MT.YS
.4z)7$
.CMI/$CX.P6=)>.Y&6=C-1&)<9&=I Q
bI5&)e&=(
,j&mC-$x,W.cO.Y&)>D 8P(*)76=)d.YI/DE)ZI?TU&(
)E&=,?.G:.H,56=)Z$*I/$*4*6=)7)>De4*&=, V +M)/[\&(*)E)7z)<1 &mI5T^.Y)>+ATP.YSL.Y4z)7$
.C-I?$yCX.HD'SL13({DEI?6=)
.)7n/)76=)H&(
,?$W&(
,5&f1I/DE4*S:&)<9 V cFqO4
6>Q J:Q (*Q^(
)p6)<,?.I?$TaI?6&(*CX.bCX.P&=(
,j&)7n?)>6ck&C-DE)Z,d4*6=I:1)<..I?6.)7+MTF.YS
.4z)7$
9*.bCA&3.Y)>+AT0[CM&
+-I/.)>.&(
)4
6I:1)<..I?6<Q]#&Dd,oc V ) V +-I:13G?)<9 V cp,$*I?$:@4*6=)7)>De4*&C-n?)+MIj8)7624*6=CMI/6CM&0cf&=,/.YGp,5T&)762&=(*)P1I/De4
+M)7&C-I?$eI5TL.)7+MTz.S
.4L)>$
.YC-I?$JQ
^(OS
.>[/C-$k,'$*I?$:@4*6=)7)>De4*&=, V +M)b.=1)>$
,56=C-I
[/,m&=,?.GeCM$
17S*63.K9:)>+-,oc:.F9*S*)&=IZ.)7+MT@.S
.4L)>$
.YC-I?$dI?T]CA&3.Y)>+AT,5$
9ECM&=.K(*C-i?(*)>6U4*6=CMI/6CM&0cZ&=,?.G:.
,?$
9&=(*)p9:)>+-,oc1>,5S
.)>99:S*)f&IE$*I/$:@4*6)>)7DE4:&3, V +-)+-Ij8)76^4*6=CMI/6CM&0cE&=,/.YG:.>QFR V nOC-I?S
.+Mc/[:,'&3,?.G17,?$$*I?&Pi?)&9:)>+-,oc/)>99:S*)H&Ie&=(*)
.)7+MT2.S
.4L)>$
.CMI/$I?T,E+-Ij8K)>64
6C-I?6=CA&0cd$
I?$:@4*6=)7)7DE4:&3, V +-)f&=,/.YGQ
^(*)Zg _|&3,?.G.=13(*)>9*S*+-, V C-+MCM&0c17I?$
9:CM&C-I?$lI?T ]C-S_,5$
9 ,ocN+X,5$L9xhq:4*6<Q J:Q /$
)7)>9
.P&I13(
,5$*i/)m8P(*)7$l8)'17I?$
.C-9*)76P&=(*)
)7z)<1 &PI5T.)7+MT.S
.4L)>$
.YC-I?$I5T]&3,?.G:.7QIZ1I/$
.C-9:)>6&(*)f))>1&^I?T.)7+MT.YSL.Y4z)7$
.C-I?$
.C-$q:4*6<Q J:Q
[/8)$
)7)>9&IE.YS V .0&=CA&=S:&) &o V c
&<I  0hQ#TF8)'1I/$
.YCX9:)>6&(
)'))>1&I?T.)7+MTU.S
.Y4z)7$L.YC-I?$lI/$l&=,/.YGW1I/De4
+M)7&C-I?$W&C-DE)?[z&(
) ])>(*I:1>GNc16=CA&=)76=CMI/$tFqO4
6>!Q J*Q J?
8I?S*+X9,5+X.YIE(
,on/)b&=I V )mi/)7$*)>6=,?+MC-7)<9\
 F z
&   
! &

  >K J /
F  


}x)(
,on/).YIlT,?6pC-De4
+MCX1CM&+-cs,?.=.YS*DE)<9x&(
,5&Z,W&=,/.YG{S*$
9:)>6i/IO)>.p,5&'DEI/.Y&Z,_.CM$*i/+M).Y)>+AT.S
.Y4z)7$L.YC-I?$]QlbIj8K)>n?)76<[JCMTb,W&3,?.G
*S $L9:)76=i?IO)>.DZS*+A&=CM4
+M)m.)7+MT.S
.Y4z)7$L.YC-I?$
.>[O&(
)7$&(*)m)7qO4
6)<..CMI/$ J:Q Z8)f9:)>6C-n?)<9k, V Ijn/)8I?S*+X9$
)7)>9k&I V )m13(
,5$*i/)>9\Q2}x)H+M)<,on?)
&=(*C-.b,?.P,5$)q:)>6=17C-.)fTaI?6^&(
)m6)<,?9:)>6>Q
?


Version 2 CSE, IIT Kharagpur

]
2  KI/$
.C-9:)>6&(*)TaI?+-+MIj8PC-$*iE.Y)7&I?T4z)76=CMI:9:CX16)<,5+M@h&=CMDE)&3,?.G:.72GF . &F . pDd.Y)<15[8OF . (5'Dd.Y)<1> [:OH . &H . J9(
Dd.)>15[8CH . (5pDd.)>1< Q N . & N . (5ZDE.)>1?[8 N . J5?ZDd.Y)<1>Q2|..S*DE)H&(L,j&^&(*)p.)7+MT.S
.4L)>$
.CMI/$k&=CMDE)>.^I?TGFo[ OH5[*,?$
9k N ,56=)
DECM+-+MCU:)>1I/$
9*.>[ DeC-+-+MCUO)<1I/$
9*.>[J,5$
9 (DEC-+M+-CKO)<1I/$
9*.>[\6)<.Y4z)>1&C-n?)7+-c?Q"b)7&)76=DECM$
)e8P(
)&(
)76H&(
)Z&3,?.G:.8I?S
+-9yDe)>)&H&(
)7C-6
6=)>.4L)<1 &=CMn/)H9*)>,?9*+MC-$*)>.>[:CMT2.=13(*)>9*S*+M)<9S
.YC-$*idg _|'Q
QJLhJ<zU ^(*)P&=,/.YG:.F,?6),5+-6)<,?9:cZI?639:)76=)>9eC-$9:)>.=1)>$
9:C-$*ipI?639:)>6FI5T&(
)7C-6K4*6=C-I?6=CA&=CM)<.7QKceS
.CM$
im&(*)i?)>$*)763,5+-CM>)>9 ])>(*I:1>GNc'
.
17I?$
9:CM&C-I?$i?C-n?)>$ V ckFq:4*6>Q J*Q Z8)Hi?)7&>
r
I?6PG F&I V )p.13(*)<9:S*+X, V +-)?P !  / 1 &65 (59 1  &65jQ2^(*)76=)TaI/6)HG Fb8KI/S*+-9DE)7)7&CA&3.^;
63.0&9:)<,?9:+-CM$
)?Q
r
I?6PO H&I V )p.13(*)<9:S*+X, V +-)?P3 J9( ! ! N 1 & 5 (59 1  &65jQ2^(*)76=)TaI/6)/[:O HDE)>)&=.CA&3.;
6=.Y&b9:)<,?9:+-CM$
)?Q
r
I?6 N &=I V )'.=13(*)<9:S*+X, V +-)?f (5!  /   ! # J ( ! J? 1 &65 J??2 1 &65jQU^(*CX.C-$*)>`NS
,?+MCM&0ckCX.b,?+-.Id.,5&CX.0;L)>9\Q^^(*)76=)TaI/6)/[
N 8KI/S*+X9,?+-.IeDe)>)&CM&=.^;L6=.Y&9:)>,/9:+MC-$*)/Q
#&Z1>,5$u&=(*)76=)TaI/6) V )k1I/$
1+-S
9:)<9x&(
,5&'&=(*)i?C-n?)>$u&=,/.YGx.Y)7&'C-.Z.13(
)>9:S*+X, V +M)S
$
9:)76eg _| )>n?)>$s8P(*)7$t.)7+MT.YS
.4z)7$
.CMI/$sI5T
&3,?.GO.^CX.P1I/$
.C-9:)>6)<9\Q



& (G<$/ 7"9$  :* #"%$9*+*   *  &7$&;.9)3 ).


J)&S
.P)7q*,5DECM$
)&=(*)m))>1&I5T1I/$/&=)qO&.Y8PCM&=13(
)>.^I?$&=(*)mi?)>$*)763,5+-CM>)>9 ])7(
IO177GOc'
.&=)>.Y&'FqO4
6>Q J*Q /FTaI?6b.=13(*)>9*S*+-, V

<8
$



$2(

*&

'&

'&

C-+MCM&0cI5T2,
&3,?.GZ.)&>[/&(L,j&F&3,5G?)<.F.)7+MT\.S
.4L)>$
.CMI/$ V cZ&=,/.YG:.C-$N&Ip,/171I/S*$N&>Q#%$,H;*q:)>9E4
6C-I?6=CA&0cZ4*6=)7)7DE4:&3, V +-).cO.Y&)>DW[/)<,?13(e&=,/.YGZ4*6)>)7DE4:&3.
,5&fDEI/.Y&HI?$*)eI5&=(*)76f&=,/.YGWCMTU&=(*)76=)ZCX.f$*IW.Y)>+AT^.YS
.4z)7$
.CMI/$]Qp^(*)>6)7TaI?6=)?[)>,/13(l&=,/.YG_.S:)763.f,5&fDEIN.0&f&08KI1I/$/&=)qO&m.Y8PCM&=13(*)<. V
I/$*)d1I?$N&=)qO&p.Y8PCM&=13(x8P(*)7$xCM&m.Y&=,?6Y&3.m,5$
9x,5$
I5&(
)76H8P(*)7$xCM&'1I?DE4*+-)&=)>.>QZ#&pCX.H)>,/.YcW&=IW6)<,5+-CM>)'&=(
,j&p,5$Ocl&=CMDE)d8P(*)>$x,&3,?.G
.)7+MT@.S
.4L)>$
9*.>[CA&m17,?S
.Y)<.,5&DEI/.Y&b&08I,/9*9:CM&C-I?$
,?+17I?$N&)7qO&f.8PCA&313(*)>.>Q .YC-$*iW,k.CMDEC-+-,?6b6=)>,/.YI/$*CM$
i
[z8K)e17,5${9:)&=)76=DeC-$*)Z&(
,5&
8P(*)>$u)>,?13(x&3,?.GyCX.p,5+-+MIj8)>9_&Iy.)7+MT@%.YS
.4z)7$
9{&08PCX1)?[,?9*9*CA&=CMI/$
,5+TaI/S*6'17I?$N&)7qN&'.8PCM&=13(*C-$*ilIjn?)>6(
)>,?9
.,?6)dC-$
1S
66=)>9\Q ])&pSL.
9:)>$*I5&=)&=(*)bDd,jq:C-D'S*D1I/$N&)qO&^.Y8PCM&=13(E&=CMDE),/. B:Q^(*)b)7z)<1 &I5TJ,p.CM$
i?+-)b.Y)>+AT@%.S
.Y4z)7$L.YC-I?$dI?T\&=,?.G:.FCX.&=I'))>1&C-n?)>+MceCM$L16=)>,?.)
&=(*)d)q:)>17S:&C-I?$y&C-DE)dI5TK)<,?13({&=,/.YGl\^C-$y&=(*)d8KI/6=.Y&m17,?.)ZTa6I/D &o&4I &o# "# j1?QZ^(OS
.>[1I/$N&)qO&m.Y8PCM&=13(
CM$*iWIjn/)76=(*)>,/9lCM$x&=(*)
4*6=)>.)7$L1)HI5T,d.YC-$*i/+M)p.)7+MT@.S
.4L)>$
.CMI/$I?T&3,?.GO.b17,5$ V )H&=,?G?)7$l1>,56=)fI?T V c6)>4*+-,/1C-$*ie&(*)m)7q:)>1S*&C-I?$&C-DE)pI5T,e&=,/.YG\ V cy &o
"# j1>UC-$WFq:4*6>Q J*Q *Q2}{)p1>,5$)>,/.YC-+Mck)qO&)>$
9&(*CX.P,56=i?S*DE)>$/&^&=IE17I?$
.CX9:)76^&08I
[O&=(*6)>)?[:I/6PDeI/6)m.)7+MT2.S
.4L)>$
.CMI/$
.7Q


\ W 7 7   > m+P


3-Wf+eW
~} (*C-+-)',54*4
+McOC-$*ikg _| &I4*63,?1&CX17,?+\4*6I V +-)7Dd.7[z,eTa)78C-$/&=)76=)>.Y&C-$*idCX..S*)>.1I/De)mS
4]QP^(*)m;
63.0&CX.=.YS*)p&(
,5&b8K)p9*C-.=1S
.=.b,?6CX.)>.
9:S
)p&Ik&(*)'T,?1&b&(L,j&mg _| 9*IN)<.b$
I5&f17I?$
.CX9:)76P&3,?.Gl16=CA&=C-1>,5+-CA&=CM)<.7Qb^(
)'I5&=(*)76fCX..S*)>.&(
,5&8)Z9:CX.=1S
.=.b,?6)'17I?4*C-$*iS
4y8PCM&(
+-CMDECM&)<9Z$OS*D V )>62I5TL4
6C-I?6=CA&0cm+-)7n/)7+X.&(
,5&U1I?DEDE)7631CX,5+NI?4z)763,j&=CM$
if.c:.0&=)7Dd..YS
4*4LI/6Y&3.7[/,5$
9'(
,5$
9*+MC-$*iHI5T,54z)76=CMI:9:CX1K,?$
9e.Y4zI?63,?9:CX1
&3,?.GO.>Q


 7






$&./877$&; O35 * 7'8 02 N :* K"9$ ; )357"./


&

#"

| .YCM&S
,5&C-I?$l&=(
,j&f6)<,5+M@h&=CMDE)'.c:.0&=)7D 9:)>.C-i?$*)>6=.bI5T&)>$_(
,on/)m&Ik9*)>,5+8PCM&(_8P(*C-+-)Z9:)>n?)7+-I?4
CM$*ik4*6=,/1 &=C-1>,5+J,?4*4*+-C-1>,j&C-I?$L.7[zC-.(
,?$:@
9:+-C-$*il,54*4*+-CX17,j&=CMI/$
.TaI?6H8P(*CX13(y&=(*)E&=,/.YG_176CM&CX17,?+MCM&C-)>.H,?6)E9:CMz)>6)>$/&HTa6=I?D &3,?.Gl4*6=CMI/6CM&C-)>.>Q KI/$
.YCX9:)>6&=(*)d.YCM&SL,j&C-I?$x8P(*)>6)E,
n/)76=ck16=CA&=C-1>,5+\&3,?.G(
,/.,E(*C-i?(*)>6P4L)>6C-I:9&(
,?$W.I?DE)H&3,?.G(
,onOCM$
iE,E+-Ij8)7616=CM&CX17,5+-CM&0c?QF#%$&(
C-.17,?.)?[O&=(*)p(*C-i?(
+Mc16=CA&=C-1>,5+\&3,?.G
8I?S*+X9 V ),/..C-i?$*)<9y+-Ij8K)>6m4*6=CMI/6CM&0cl&(L,5$s,W+MIj8 16=CA&=C-1>,5+-CA&0c_&=,?.GQk|b.Z,6)<.YS*+M&>[&(
)16=CA&=C-1>,5+&3,?.G_DECMi/(/&',5&p&C-DE)>.mDECX..pCA&3.
9:)<,?9:+-C-$*)P9:S*)&Im,f.YC-DE4*+M)&=6=,?$
.YC-)7$N&2Ijn?)>6+-I/,/9HI5Tz,f+-Ij816=CM&CX17,5+\ V S:&F(*C-i?(e4*6=CMI/6CM&0c*&=,/.YGQ#TL8)P.YC-DE4*+Mc'6=,?C-.)>9H&=(*)P4*6=CMI/6CM&0cHI5T
,Z16=CA&=C-1>,5+L&=,?.GZ&I'(
CMi/(k+-)7n?)>+-.>[/&(*)>$d&(*)Hg _| .=13(*)>9:S
+-, V CM+-CM&0ce6=)>.S*+M&=.U8KI/S*+-9$*I5&^(*I?+X9,?$
99:)7&)76=DECM$
CM$*i'&(*)H.=13(*)>9:S
+-, V CM+-CM&0c
I?T2,E.)&PI5T&=,/.YG:.^8I?S*+X9 V )>17I?DE)H)qO&6=)7DE)>+Mck9*C 1S
+A&<Q
|.I?+-S:&C-I?$y&I&(*CX.H4*6=I V +-)7D 8,/.4
6I/4LIN.Y)<9 V c{O(
,W,5$L9{g,5 HS*Dd,56 # QE:(
,,?$
9xg,j HS*Dd,56
.H.I?+-S:&C-I?${C-.HGO$*Ij8P$
,/.b&=(*) UNoh]7j* 3L
:>hL>O R \C B #%$_&=(*C-.&=)>13(*$*CX`NS*)?[,k16=CM&CX17,5+&3,?.GlC-.f+-I?i?CX17,?+M+-cW9:CMnOCX9:)>9{C-$/&=IDd,?$Ncl.Dd,5+-+
.S V &3,?.GO.>5Q ])7&\ V )H,e16=CA&=C-1>,5+z&=,/.YGE&=(
,j&^C-.^.4*+-CA&PC-$/&=IZG.S V &3,?.G:.75Q ])7&P)>,?13(kI5T]&=(*)>.)m.YS V &=,?.G:.U(L,on?)b4z)76=C-IO9 QFOC-DeC-+X,56=+Mc/[




Version 2 CSE, IIT Kharagpur

&=(*)'9:)<,?9:+-CM$
)p,5$
98I?63.0&17,/.Y)m)7q:)>1S*&C-I?$&C-DE)>.I?T&=(*)>.)'.S V &3,?.GO.^8PC-+-+ V ) ,5$
9 6=)>.4L)<1 &=CMn/)7+-c?QK^(
)m$*)&b)7z)<1 &b8P(
)7$l,
&3,?.G\2C-.P.4*+-CA&C-$N&IdGk.S V &3,?.GO.> > F 7   7Y mC-.^&=IE))>1 &=CMn/)7+-ck63,5CX.Y)&(
)m 4*6C-I?6=CM&0cd I5T2YQ
K,?13(W.YS V &=,?.GkI?T&=(*)'176CM&CX17,?+\&=,/.YG 8KI/S*+-9 V )p6=)74*6=)>.)7$N&)<9 V c ". 7 7 mQ^(*I?S*i/(W8K)H&3,5+-G?)>9I?T,d176CM&CX17,?+
&3,?.G V )>CM$*im.4*+-CA&2S*4eCM$N&IHGm4
,?6Y&3.7[o&=(*CX.2C-.29:I/$*)^nNC-6&S
,?+M+-cm,j&F,17I?$
17)74:&=S
,5+O+-)7n/)7+B[j 6=,5& (*)>6 &=(
,5$ZDd,5GOCM$
if,?$Ncp13(L,5$*i/)>.4*(OcO.CX17,5+-+-c
&=IH&(*)P&3,?.GpCM&=.)7+MT0Q2^(
)4L)>6C-I:9Z&63,5$
.YTaI?6=Dd,j&C-I?$'&)<13(*$*CX`/S
)P))>1 &=CMn/)7+-c'63,5CX.Y)<.&(*)b4*6C-I?6=CM&0cpI5T\,m16=CA&=C-1>,5+O&3,?.Gp&Im(
CMi/(*)76nj,5+-S*)<.
8PCM&(*I/S:&Dd,?GNC-$*iE&=(*)Zg y| ,5$L,5+-cO.CX.P6)<.YS
+A&3.P&I?&=,?+M+-cC-$Onj,5+-C-9\QbIj8K)>n?)>6>[*9:S
)p&I&(*)Z6=,?C-.CM$
idI5T2&(*)Z4*6=CMI/6CM&0ckI?T&=(*)Z176CM&CX17,?+
&3,?.Gz[\g y| .=13(*)<9:S*+X, V C-+MCM&0cl6=)>.S*+A&3.9*I$*I?&f(
I?+X9y,?1>1S*63,j&=)7+-c?Qm^(*)E1S*+-4*6=CA&mCX.&(*)ZT,?1&&=(
,j&H&(
)ZS:&=CM+-C->,j&=CMI/$x9*S*)'&=I,?+M+&=(*)
(*C-i?(
)764*6=C-I?6=CA&0ck&=,?.G:.PCX.C-$WT,?1 &fG : &o jG* :; L jG* . G 8&o  z0[z8P(*)76=)>,/.&(*)>CM6f,?1&S
,?+JS:&=CM+-CM<,j&=CMI/$lC-". &<  LYQP^(*)76=)TaI/6)/[
)7n/)7$
8P(*)>$&=,?.G:.P,54*4z)>,?6^&I V )mS*$
.=13(*)>9*S*+-, V +-)p,jT&)>6^&=,/.YG.Y4*+-CM&Y&C-$*i,/.^CM$
9*C-1>,j&)<9 V ck&(*)pg _| .=13(*)>9:S
+-, V CM+-CM&0ck,5$
,?+Mc:.C-.^6=)>.S*+M&=.>[
&=(*)7cDE,oc,?1 &=S
,5+-+-c V )p.=13(*)<9:S*+X, V +-)?Q


 

 

$&./877$&;  (G<35:".& $&. (G" 3 .& 02 


b$
9:)76Eg _|CM&eCX.Z9*C  1S
+A&e&Ix,?.=.YC-i?$s(*C-i?(4*6C-I?6=CM&0c{nj,5+-S*)<.p&=I{.4LI/6=,/9:C-1d&=,?.G:.7[.CM$L1), V S*63.0&eI5Tb.4LI/6=,/9:CX1E&=,/.YGs,56=6=CMnj,5+X.
8I?S*+X9Ijn?)76=+-I/,?9d&(*)p.c:.0&=)7D,?$
917,5SL.Y)HDd,5$Ocd&3,?.GO.&=IdDEC-.=.&(*)>CM69:)>,/9:+MC-$*)<.7QF|b+-.I
[*g y | .13(*)<9:S*+X, V C-+-CA&0ck,?$
,5+-c:.YCX.^6=)>.S*+A&3.


#"

&=(
,j&f8K)'9*C-.=1S
.=.)>9WC-$l&(*CX.b13(L,54:&=)76,?6)'$*I5&,?$OcDEI?6=)p,54
4*+MCX17, V +-)p8P(*)7${,54z)76=CMI:9:CX1p,5$L9l.Y4zI?63,?9:CX1H&3,?.GO.b,56=)',?.=.YC-i?$
)>9(*C-i?(
4*6=C-I?6=CA&0clnj,5+-S*)<.7Qd^(*)>6)7TaI?6=)e,?4L)>6C-I:9:C-1E,?$
9{.4zI?63,?9:CX1p&3,?.G:.f,?6)ES
.S
,?+M+-cy,?.=.CMi/$*)>9yn?)76=cl+-Ij8 4*6=CMI/6CM&0clnj,5+-S*)>.>QEIj8)7n?)>6>[\C-$
Dd,5$Ocd4*63,?1&CX17,?+.CM&S
,5&C-I?$
.&3,?.GO.^.S
13(W,?.(
,5$L9:+MC-$*iE)7DE)>6i/)7$
17c1I?$L9:CA&=CMI/$
.P,56=)&C-De) V I?S*$L9,?$
916=CA&=C-1>,5+\,5$
9Dd,ocd6)<`NS*CM6=)
(*C-i?(k4*6C-I?6=CM&0cZnj,5+-S*)b&I V )f,?.=.YC-i?$*)<9e&IE,p.4LI/6=,/9:C-1&=,/.YGQ#%$.S
13(k.CA&=S
,j&=CMI/$
.7[/&(
)bTaI/+M+-Ij8PCM$
i',54z)76=CMI:9:CX1b.)76=n?)>6&)<13(*$*CX`NS*)1>,5$
V )mS
.)>9\Q
UNoh]" QJN<zNN |$E,54z)76=CMI:9:CX1.Y)>6n/)76(
,5$
9*+M)<.,54z)76=CMI:9:CX1K,?$
9e.Y4zI?63,?9:CX1U&=,?.G:.2,?.&(*)>c',56=CX.Y)/[5.Y)>+M)<1 &=.&=(*)7D ,j&F,54*4
6I/4*6CM@
,5&)f&C-DE)>.>[
,5$
94
,/..)>.&=(*)7D&Id,5$lg y| .13(*)<9:S*+-)76<Q2#&DE,?G?)<.P,5$I5&(
)76=8PC-.)m9:C 17S*+A&P&=I,5$
,?+McO>)H,?4L)>6C-I:9:CX1f,?$
9.Y4zI?63,?9:CX1
&3,?.GO.b.YS*CM&=, V +-)HTaI?6b.=13(*)>9*S*+-, V C-+MCM&0c,?$
,5+-c:.YCX.7QK^(*)'.)76=n?)76P9:)>4LIN.YCM&=., 0&=C-13G/)& 
[:8P(*CX13(lC-.P6=)74
+M)>$*C-.(*)<9,5&&(
)p)q:4*C-6=,5&C-I?$I5T,
17)76&=,5C-$W6)>4*+-)7$*CX.Y(
De)>$N&b4L)>6C-I:9\QP}~(*)>$_,5$_,54z)76=C-IO9*C-1m)>n?)>$/&I:1>1S*63.7[
&(*)Z.Y)>6n/)7613(*)<13GO.P&Ik.)7)pCMTU,5$Ock&CX13G?)&C-.,ono,?CM+X, V +M)/QK#T
CM&fCX.>[&(*)d.cO.Y&)>D CMDEDE)>9*C-,5&)7+-cl4
,/..)>.I?$l&=(*)d,56=6C-nOCM$
id&=,/.YGW&=I&(
)E.=13(*)<9:S*+-)76<Qf#&H&=(*)7$x16=)>,j&=)>.f,5$*I?&(*)>6b&=C-13G/)& V ,?.)>9_I?$
&=(*)k.4L)<1CM;L1e&CX13G?)7&'16=)>,j&=CMI/${4zI?+-CX1cyCM&'S
.)>.>Q|b$t,54z)76=CMI:9:CX1E.Y)>6n/)76mDd,5G/)>.m,?4L)>6C-I:9:C-1e&3,?.G:.HDeI/6)d4
6)<9:C-1&=, V +M)/[,?$
9x(*)7$
17)
Dd,5G/)>.K&(
)7D.S*CM&=, V +M)fTaI/6,5$
,?+Mc:.C-.8PCM&(Wg _|pQ ,/.Y)<9I/$k&=(*)H&CX13G?)7&P176)<,j&=CMI/$k4zI?+-C-17CM)<.7[O&=(*)76=)m,56=))<..)7$N&CX,5+-+-cd&08KIZ&0cO4L)<.^I5T
,?4L)>6C-I:9:C-1f.)76=n?)763.>? "7  7M,?$
9y 
j=?j7QRbT&(*)<.Y)/[O&(*)m.4LI/6=,/9:C-1f.)76=n?)76K6)<.YS
+A&3.^CM$(*CMi/(*)76P.=13(*)>9*S*+-, V +-)S:&=CM+-C->,j&=CMI/$,?$
9
+-)7$
9
.CM&=.)7+MTKDEI/6)Z)>,?.C-+Mc&IW,5$L,5+-cO.CX.7QmIj8)7n/)76<[CA&HC-.fDEI?6=)Z17I?DE4*+-)ql&=IC-DE4*+M)>DE)7$N&>Qp#%$y&(*)eTaI/+M+-Ij8PCM$
ik8) V 6=C-5) L
c_9:CX.=1S
.=.
&=(*)>.)H&08KIZ&0cO4L)<.PI5T.)76=n?)763.>Q
#%$W,  3Noo*h_>NoLN [:&=C-13G/)&=.b,56=)6=)74*+-)7$
C-.(*)>9W,5&^6=)7i/S*+X,56^CM$N&=)76=no,?+-.>[*1I/DE4*+M)7&)>+McCM$
9*)74z)7$
9:)>$N&I5T&(*)p,/1 &SL,5+&CX13G?)7&
S
.=,5i/)?QK#TU,5$l,54z)76=CMI:9:CX1f&=,/.YGW,56=6=CMn/)>.>[O&(*)'.c:.0&=)7D 8PCM+-+J4
6I:1)<..^CM&C-DEDE)>9:CX,j&=)7+-cCMTCA&b(L,?.P)>$*I?S*i/(W&CX13G?)7&=.>[
,5$
9W8^,5CM&P&C-+-+J&=(*)
&=C-13G/)&=.^,?6)f6)>4*+-)7$*CX.Y(
)>9CMT2CA&9:IO)>.$*I?&>QF^(OS
.>[O&(*)>6)H17,?$ V ) V S*63.0&3.I5TJ&3,?.G:..)7$N&&Ie&(
)H.=13(*)<9:S*+-)76P,5$
9,5+X.I'8P(*)>$$*Ie&3,?.G
CX.H.Y)>$/&mIjn/)76,9:S*63,j&=CMI/$][&CX13G?)7&=.H,56=)E,?1717S*D'S
+-,5&)>9]Qp}~(*C-+M)d,9:)Ta)>663, V +-)Z.)76=n?)>6CX.H.YC-DE4*+-)76f&IWC-De4
+M)>De)>$N&m17I?DE4
,?6)<9W&IW,
.4LI/6=,/9:CX1P.Y)>6n/)76<[jCA&^9:)7nOCX,j&)<.2Ta6=I?D &=(*)bg y|.Y&6=C-1&F4L)>6C-I:9:C-1)q:)>17S:&C-I?$dDEI:9:)7+B[?8P(
C-13(d+-)>,/9*.2&IZ1I?$L.Y)>6nj,j&=CMn/)P.Yc:.Y&)7D9:)<.YC-i?$
,?$
9k+-Ij84
6I:1)<..I?6^S:&=CM+-C->,j&=CMI/$]Q
#%$_, ULj*h_</oz/ [z&(
)'6=)74*+-)7$*CX.(*DE)7$N&&C-DE)Z9:)>4L)>$
9*.I?$l)7q:,/1 &&=C-13G/)&bSL.,?i?)H&C-DE)?Qb|..IOI?$_,/.,d&=C-13G/)&bCX.S
.)>9][
&=(*)k.cO.Y&)>D.)&3.p,W&=CMDE)76p&(
,5&'6)>4*+X,?1)<.p,5$Oc{S
.Y)<9x&CX13G?)7&=.m8P(*)>$sCA&Zi?IO)>.mI?QW| .4LI/6=,/9:CX1d.Y)>6n/)76H&(
)76=)TaI?6=)di?SL,563,5$N&)>)>.H,
DEC-$*CMDZS*D .Y)>4
,563,j&=CMI/$ V )7&08K)>)7$l&08IC-$
.0&3,5$
17)>.bI5TU,E&3,?.GzQ^(NSL.7[zCA&f(*)7+-4
.S
.b&Ik17I?$
.C-9*)76,k.Y4zI?63,?9:CX1mI/6b,54z)76=CMI:9:CX1m&3,?.G,/.
,W4z)76=CMI:9:CX1E&3,?.G{9:S*6=C-$*iy.=13(*)>9:S
+-, V CM+-CM&0c{,5$L,5+-cO.CX.m,5$
9s,/..CMi/$s,l.YS*CM&=, V +-)4*6=CMI/6CM&0cl&IyCA&<Q_RbT17I?S*63.Y)/[JC-$t.YI/DE)d4L)>6C-I:9*.m&=(*)
,?4L)>6C-I:9:C-1fI/6.Y4zI?63,?9:CX1b&=,?.GDd,oc$*I?&b,56=C-.)?Q2^(*CX.P+-)>,?9
.&Id.YI/DE)fS
$
,on?I/C-9*, V +-)  C-9:+-C-$*i
Q
#%$E))>1&>[N,5$d,54z)76=CMI:9:CX1P.)76=n?)762(*)>+M4L.Ijn?)>6=17I?DE)U&=(*)P$*I/$
9:)&=)76=DECM$*CX.Y&CX1^$
,j&=S*6)PI?T,?4L)>6C-I:9:CX1P,5$
9E.4LI/6=,/9:C-1K&3,?.GO.,?$
9e(*)7+-4
17I?$
.C-9*)76^&(
)7D &=Id,'T,/.0&b,?4*4*6=Ioq:CMDd,j&=CMI/$,/.^4L)>6C-I:9:C-1&3,?.GO.^8PCM&(W4z)76=CMI:9)>`NS
,?+&Ie&(
)H&I?G/)7$i?)>$*)763,j&=CMI/$&C-DE)?Q


(J

Version 2 CSE, IIT Kharagpur

O" (/$ ;
 * K746:*C .#35:" 3@ * 




*&

%<87

}~(*C-+-)e9:)>n?)>+MI/4*CM$
ik,d6=)>,5+M@B&C-De)e.Yc:.Y&)>D)7$
i?C-$*)7)>6=..YI/De)'&C-DE)>.bT,?1)e,k.CA&=S
,j&=CMI/$_8P(*)>6)'&(*)Z$NS
D V )76fI5TF6=)>,5+M@B&C-De)p&=,?.G:.bC-$
&=(*)k,54
4*+MCX17,5&C-I?$x)q*1)>)>9{&(
)$OS*D V )76pI?T9:C-.Y&C-$
1&'4*6=CMI/6CM&0c_+-)7n?)>+-.m.S*4*4zI?6&)<9 V cy&(*)kS*$
9:)>6+-cOCM$*ilI/4L)>6=,5&C-$*il.Yc:.Y&)>DQ^(*CX.
.CA&=S
,j&=CMI/$uI5T&)>$sI:171S
6=.m8P(
CM+-)k9:)>n?)7+-I?4
CM$*il.Dd,5+-+U)7D V )<9*9:)<9s,54*4*+-CX17,j&=CMI/$
.>[J8P(*)>6)E&=(*))7D V )<9*9:)<9s1I?DE4*S*&)763.m(
,on/).Y)>n?)>6)
+-CMDECM&=,5&C-I?$
.KI?$DE)>DeI/6cE.CM>)?QFn/)7$dI5&=(*)76=8PCX.Y)/[/6=)>,?+A@B&C-DE)I?4z)763,j&=CM$*iZ.Yc:.Y&)7Dd.K$*I?6=Dd,5+-+Mce9:I'$
I5&.S*4*4zI?6&U&=IOI'Dd,5$Oce4*6C-I?6=CM&0c
+-)7n/)7+X.ba8P(Oc o Q|+X.I
[NI5T&)>$I?S*&UI5T\&=(*)P&I?&=,?+L$OS*D V )>6UI5T\4*6=C-I?6=CA&0cZ+M)>n?)7+X.U.S*4*4zI?6&)<9 V cE,?$dI?4z)763,j&=CM$*ip.c:.0&=)7DW[NI?$*+-ce,mTa)78 ,56=)
)<,56=DE,?6G/)>9,/.^6)<,5+M@h&=CMDE)H+-)7n?)>+-.>Q^(*)m$OS*D V )76bI5T4
6C-I?6=CA&0cdnj,?+MS*)<.^&0cO4*CX17,5+-+-cnj,56=CM)<.UTa6=I?D *Z&I J9( 'C-$l1I/DeDE)>6=17C-,?+zI/4L)>6=,5&C-$*i
.c:.0&=)7Dd.7Q2|b.&=(*)^$OS*D V )76I?Tz4*6=C-I?6=CA&0cm+-)7n/)7+X.C-$
176)<,?.)>.>[o&(*)^$OS*D V )76I?TLTa)>)>9 V ,?13Gp`NS*)7S
)>.&I V )PDd,5C-$/&3,5C-$*)>9 V cm&(
)I/4L)>6=,5&C-$*i
.c:.0&=)7D .)7)HrCMiLQ (?K,5+X.I'C-$
16=)>,/.Y)<.7Q2^(*CX.K$
I5&^I?$*+-cdCM$L16=)>,?.)>.F&(*)HDE)7DEI/6cE6=)>`NS*C-6)>De)>$N&>[ V S:&P,5+X.YIZCM$L16=)>,?.)>.U&(
)f4
6I:1)<..Y@
C-$*idIjn?)>6(
)>,?9k,j&)7n/)76=ck.=13(*)>9:S
+MC-$*iE4LI/CM$N&<QU|&)7n/)76=ck.13(
)>9:S*+-C-$*iE4LI/CM$N&>[*&(*)pI/4L)>6=,5&C-$*iE.Yc:.Y&)7D .Y)>+M)<1 &3.&(*)p(
CMi/(*)>.Y&P4*6C-I?6=CM&0c
&3,?.G V cE.1>,5$*$
CM$*ie,5+-+
&=(*)b4
6C-I?6=CA&0cE`NS*)7S
)>.>Q*17,5$
$*CM$
i',p+X,56=i?)$OS*D V )>6KI?TJ`NS*)7S*)<.U8I?S
+-9EC-$
1S
617I?$
.C-9*)763, V +-)b1I/DE4*S:&=,5&C-I?$
,?+
Ijn/)76=(*)>,/9\Q{Iy6=)>9:SL1)&=(*)I?4z)763,j&C-$*ix.Yc:.Y&)7DIjn/)76=+MIN,?9u,5$
9t&I{CMDE4*6=Ijn?)k&(*)&=,/.YGu6=)>.4LI/$
.Y)&C-De)<.7[U6)<,5+M@h&=CMDE)kI/4L)>6=,5&C-$*i
.c:.0&=)7Dd.P.YS
4*4LI/6Y&I/$*+-ck,e6)<.0&=6CX1 &=)>9$NS
D V )76PI5T24*6=CMI/6CM&0cd+-)7n?)>+-.>Q
}~(*)>$&=(*)76=)l,56=)DEI/6)W6=)>,5+M@B&C-De)&=,/.YG:.EC-$v,?$v,?4*4*+-C-1>,j&=CMI/$&=(
,5$&(*)W$OS*D V )>6dI5TH4*6C-I?6=CM&0cx+-)7n/)7+X.d,onj,5C-+-, V +M)Ta6=I?D &=(*)
I/4L)>6=,5&C-$*im.Yc:.Y&)7DW[/DeI/6)&=(
,5$EI?$
)^&=,?.Gp8I?S*+X9e(
,on?)&=I V )PDd,?9*)^&Ip.(
,56=)P,f.C-$*i?+-)P4*6=CMI/6CM&0cmnj,5+-S*),5DEI?$
i&=(*)7Dd.)7+-n?)<.7Q2^(*CX.
I?T217I?S*63.Y)f8I?S*+X9k6=)>.S*+M&PCM$W+-Ij8K)>6^,/13(*C-)7nj, V +-)H4*6=IO17)>.=.YI/6KS*&C-+MC->,5&C-I?$&(
,?$W8P(
,j&P8^,?.^4*6=)>9:CX1 &=)>9 V c&(
)pg _| .=13(*)>9:S
+-, V CM+-CM&0c
)7qO4
6)<..CMI/$
.>Q^(*CX.P8I?S*+X9 V )p,?4*4
,56=)7$N&Ta6I/D &=(*)HTaI?+-+MIj8PC-$*iE,5$
,?+Mc:.C-.>Q
J)&PS
.P$*Ij8,5$
,?+McO7)f&=(*)m))>1&I5T.(
,?6C-$*iE,e.C-$*i?+-)H4*6C-I?6=CM&0cd+M)>n?)7+],?DEI?$*id,E.Y)7&PI5T&=,?.G:.7QrC-6=.Y&>[:+-)&S
.CM$On?)<.0&=CMiN,j&=)(*Ij8
&=(*) ])>(*I:17GO'c
.&)>.Y&'Fq:4*6>Q J*Q J?K8KI/S*+X913(
,?$*i?)f8P(*)>$4
6C-I?6=CA&0c.Y(
,?6C-$*iE,5DEI?$
i'&3,?.GO.^CX.17I?$
.C-9*)76=)>9\5Q ])7"& 3 da\B V )H&=(*)
.)&I?T,5+-+&=,/.YG:.P.(
,56=C-$*id,e.C-$*i?+-)H4*6C-I?6=CM&0cdno,?+MS
)m8PCA&=(&=(*)H&=,/.YGkYQF^(*)7$J[:TaI?6,E.)&PI5T&=,/.YG:.&I V )p.13(
)>9:S*+X, V +M)/[
 OF

&  
& 
! &

  >3 J I 

F 


 
 

^(*)&=)76=D
& C-.$*)<1)<..=,56=cp.YC-$
17),f6=I?S*$
9p;
63.0&F1I/DE)U;
63.Y&.)76=n?)<9r r*2.13(
)>9:S*+-C-$*i4zI?+-CX1cpCX.,?.=.YS
De)<9',?DeI/$*i
)<`/SL,5+4*6C-I?6=CM&0c &=,/.YG:.>Qb#%$l &=(*CX.1>,?.)?[L&(*)Z&=,/.YG 17,?$ V ) V +-IO13G/)>9 V cl,5$l)<`/SL,5+4*6C-I?6=CM&0ck&3,?.GI/$*+McWI/$
1)pS
$*+MC-G?)'&(*)e(*C-i?(*)>6
4*6=C-I?6=CA&0cW&3,?.GO.Ea&(*C-6=9{&=)76=D CM${&(
)e)7q:4*6)<..C-I?$Lb8P(*CX13( V +-I:13G_ ,5&&=(*)7C-6p)>n?)76=cl,56=6C-nj,5+9:S*6=C-$*i&(*)E)q:)<1S:&=CMI/${I?TK Qd|$
)<`/SL,5+\4*6=CMI/6CM&0cE&=,/.YGkS*$*+-CMG/)m(*CMi/(*)76P4
6C-I?6=CA&0cE&3,?.G:.P17,5$ V +-I:13Gk,Z&=,?.GI/$*+MckI?$
17)?Q
IdS*$
9:)>6=.Y&=,?$
98P(Oc,e&=,/.YGDd,ocki?)7& V +-IO13G/)>9 V c,?$)<`NS
,5+]4
6C-I?6=CA&0c&=,?.G,5&DEI/.Y&I?$
17)?[
+-)&SL.b1I/$
.C-9:)>6^&(*)pTaI?+-+MIj8PC-$*i
)7q:,?DE4*+M)/QfOS
4*4LIN.Y)Z\K,?$
9lE D'.Y(
,?6)p&(*)E.,?DE)'4*6=CMI/6CM&0ck+-)7n/)7+B[ V S:&E D'(
,/.,kD'S
13(_.(*I/6Y&=)76b4z)76=C-IO9y1I?DE4
,?6)<9W\YQf| &3,?.G
C-$
.Y&=,5$L1)E\1>,5$xi?)7& V +MI:13G?)<9 V cy,?${)<`/SL,5+4*6=CMI/6CM&0cW&=,/.YGlE DEI?$*+-c_I?$L1)WTaI?6H&=(*)9:S*63,j&=CMI/$yI?TU&=,/.YGy' D<)>n?)7${&(
I?S*i/(y&3,?.G
EDZDEC-i?(N&m(
,on?)e,.(*I?6&)>64z)76=C-IO9x1I/DE4
,56=)>9W&=IWYQZ^(*CX.fC-. V )>1>,5S
.)eI?$
17)ZE De17I?DE4*+-)&)<9yCM&=.H)7q:)>1S*&C-I?$][\\8KI/S*+X9_i?)7&&=I
)7qO)<1S:&=) U]\8I?S*+X9_)7qO)<1S:&=)'&=Il1I?DE4*+-)&=CMI/${.CM$L1)e' DeCM$
.Y&=,?$
1)<.&(
,5&fDd,oc_,56=6=CMn/)Z9:S*6=C-$*ik&=(*)e)q:)>17S:&C-I?$u17,?$y$*I?&f4*6=)7)>DE4:&
QF| &3,?.GC-$
.0&3,5$
17)H 1>,5$i?)7& V +MI:13G/)>9 V c,5$)>`NS
,5+\4
6C-I?6=CA&0c&=,?.G D I/$*+-cI?$
17)dTaI?6^&=(*)p9:S*63,j&=CMI/$I?T&3,?.G D Q
@HjLja >< SzT
tO'>s*>]?
#&bCX.17+M)<,56P&=(
,j&b8P(
)7$&(*)>6)Z,56=)fDEI/6)m6=)>,?+A@B&C-DE)H&=,?.G:.^&=,/.YG:.^8PCM&(_9:CX.Y&C-$
1 &f6)>+-,5&C-n?)m9:)>,/9:+-CM$*)<.^&(L,5$W&(
)p$OS*D V )76I?T4*6C-I?6@
CM&0c_+-)7n?)>+-.m.S*4*4zI?6&)<9 V cy&(*)dI/4L)>6=,5&C-$*i.c:.0&=)7D V )7C-$*ilS
.)>9][.I?DE)'&3,?.G:.H8KI/S*+-9{(
,on/)'&=I_.Y(
,?6)Z&(
).,?De)E4*6=C-I?6=CA&0clnj,5+-S*)/Q
bIj8K)>n?)76<[o&(
)P)q*,?1&FDe)7&(*I:9eI5T\,?.=.CMi/$*CM$
i4*6=C-I?6=CA&=CM)<.&IH&=,/.YG:.1>,5$d.YC-i?$
CA;L1>,5$N&+-c',5z)<1 &&(
),?13(*C-)7nj, V +M)^4*6=I:1)>.=.I?62S:&C-+-CM<,j&C-I?$JQ
>< Szh S jLja w>s<*7]/ #&fC-.b$*I5&f9:C 17S*+A&&I6=)>,/.YI/$&(
,5&b6=,?$
9:I/De+-c.)7+-)>1&C-$*id&3,?.GO.PTaI?6.(
,?6C-$*id4*6=CMI/6CM&0ck+-)7n/)7+X.
8I?S*+X9k.)7n/)76=)7+-cE+MIj8)76K&(*)m,/13(*CM)>nj, V +-)f.=13(*)<9:S*+X, V +-)S*&C-+MC->,5&C-I?$]Q^(*)>6)7TaI?6=)f.c:.0&=)7Dd,j&=C-18,oc:.KI5T.)7+-)>1&C-$*iE8P(*CX13(&=,/.YG:.$*)>)>9
&=IE.(
,?6)m,e4*6=CMI/6CM&0cdnj,5+-S*)p,56=)6=)>`NS*C-6=)>9\Q
|+-,?6i/)$OS*D V )76I5TJ.=13(*)7DE)<.U,56=)b,onj,5C-+X, V +-)PTaI?6^,?.=.CMi/$*CM$
im4*6C-I?6=CM&0cZnj,5+-S*)<.F&=Ip&=,/.YG:.U8P(*)7$d&=(*)f$NS
D V )76I5T]6=)>,5+M@B&C-De)&=,?.G:.
&=I V )f.=13(*)>9*S*+M)<9d)q*17)7)>9
.F&=(*)f9*C-.Y&C-$
1 &^6=)>,5+M@B&C-De)b4*6C-I?6=CM&0cZ+-)7n/)7+X.K.S*4*4zI?6&)<9 V cZ&=(*)fS*$
9:)>6+-cOCM$*iZI?4z)763,j&=CM$*iZ.Yc:.Y&)7DWQFOI/De)I5T
&=(*)mCMDE4zI?6&=,?$/&.=13(*)7DE)<.&(
,5&b,56=) V )7C-$*iES
.)>9W,56=)&(*)HTaI/+M+-Ij8PCM$
i

 
 





9

Version 2 CSE, IIT Kharagpur

$*CMTaI?6=D:13(
)7DE)?Q
|6=CA&=(*DE)&=C-1p:13(
)7DE)?Q
f)7I/De)7&6=C-1m:13(
)7DE)?Q
]I/i/,56=CM&(*DECX1f:13(
)7DE)?Q
}x)m$*Ij89:CX.=1S
.=.^&(
)>.)H.=13(*)>De)<.^CM$l.I?DE)m9:)&3,5C-+hQ
CB  3
4
QJ R
tz #%${&(*CX.m.13(
)7DE)?[],?+M+&(
)Z&3,?.G:.C-${&(*)d,54
4*+MCX17,5&C-I?$y,?6)eS*$*CMTaI?6=DE+Mc_9*CMnOCX9:)>9x,5DEI?$
i&(
)E,onj,?CM+X, V +-)
4*6=C-I?6=CA&0ce+M)>n?)>+-.>Q $*CMTaI?6=D 9:C-nNCX.CMI/$I5T]&3,?.G:.U,5DEI/$*ip&=(*)f,onj,?CM+X, V +-)4*6=C-I?6=CA&0cE+-)7n?)>+-.17,?$)>,/.YC-+-c V )H,?13(*C-)7n/)>9E8P(*)>$&(
)$OS*D V )>6
I?TJ4*6=CMI/6CM&0cZ+-)7n/)7+X.K.=`NS
,56=)7+-cE9:CMnOCX9:)>.K&=(*)$OS*D V )>6KI?T]&=,/.YG:.F&I V )H.13(
)>9:S*+-)>9]Q#TS*$*CMTaI?6=D 9:CMnOCX.YC-I?$kC-.K$*I5&^4zI/.=.YC V +-)?[N&(*)>$kDEI?6=)
&3,?.GO.m.(*I/S*+-9 V )dDE,/9:)e&I_.(
,56=)Z&(*)d+-Ij8K)>6H4*6C-I?6=CM&0c_+M)>n?)>+-.EaCBQ )?Q(*C-i?(
)76H4*6=CMI/6CM&0c_nj,5+-S*)>.m,?6)E.(
,56=)>9 V c_+M)<..)76m$OS*D V )>6mI5T
&3,?.GO.3JTaI?6 V )&&)76K.13(*)<9:S*+X, V C-+-CA&0c/Q|171I/6=9*CM$*i/+Mc/[5CMTL&=(*)76=),56=) w$OS*D V )>6FI5TL&=,/.YG:.,5$L9Z$E4*6=C-I?6=CA&0cm+-)7n/)7+X.7[j&=(*)7$  $OS*D V )>6I5T
&3,?.GE,?6)f,?.=.YC-i?$
)>9e&Ie)>,/13(+-)7n?)>+z,?$
9E&=(*)6=)>.Y&^I5T\&(
)b&3,?.GO.,56=)9*C-.Y&6=C V S:&)<9k,5DEI/$*im&(
)+-Ij8K)>6K4
6C-I?6=CA&0ce+-)7n?)>+-.>Q2^ (*)S
$*CATaI/6D
4*6=C-I?6=CA&0c,/..CMi/$*DE)7$N&.13(
)7DE)H(
,?. V )7)>$C-+-+MS
.Y&63,j&=)>9k&(*6=I?S
i?(&(*)HTaI/+M+-Ij8PCM$
ie)7q*,5DE4*+-)?Q
]
2  \ #%$s,17)76&=,?CM$u,54*4
+MCX17,5&C-I?$ V )>CM$*il9:)>n?)>+MI/4L)<9\[\&(
)76=),56=) k4z)76=CMI:9:CX1E6=)>,5+M@B&C-De)Z&=,/.YG:.HG F67O H87   7YG F
d8P(*I/.)
4z)76=CMI:9*.b,56=)? (:[ *[JQMQ-QM[ #EDEC-+M+-C.)>1>.P6)<.Y4z)>1&C-n?)>+Mc/QU^(*)>.)H&=,/.YG:.P,?6)H&=I V )p.=13(*)>9*S*+M)<9S
.YC-$*ig y|pQLbIj8K)>n?)>6>[:I/$*+Mc #E4*6C-I?6=CM&0c
+-)7n/)7+X.P,56=)H.S*4*4zI?6&)<9 V ck&(*)mS
$
9:)76=+-cNC-$*iEI?4z)763,j&=CM$
iE.c:.0&=)7DWQF#%$&(
C-.PI/4L)>6=,5&C-$*id.Yc:.Y&)>D[*&(*)m+-Ij8K)>6^&(*)m4
6C-I?6=CA&0ckno,?+MS
)?[:&=(*)
(*C-i?(
)76HC-.&=(*)E4*6C-I?6=CM&0cI?TU&=(*)e&=,?.GQ'|b.=.CMi/${.S*CA&3, V +-)e4*6C-I?6=CM&0cl+M)>n?)7+X.b&I&=,/.YG:.S
.YC-$*i&(
)eS
$*CATaI/6D ,/..C-i?$*DE)7$N&m.13(
)7DE)'TaI/6
.=13(*)>9*S*+MC-$*ie&(
)H&=,?.G:.^S
.CM$*idg y|pQ
QJLhJ<zU
OC-$
17)^&(*)$OS*D V )>6FI5T4*6=CMI/6CM&0cp+-)7n/)7+X.F9:IO)>.$
I5&U.=`/SL,56=)7+-c'9:C-nNCX9:)^&=(*)$OS*D V )76UI5Tz&=,?.G:.2&I V )b.=13(*)>9*S*+M)<9\[/.I?DE)^4*6=CMI/6CM&0cpnj,5+-S*)<.
(
,on/)e&I V ),?.=.YC-i?$*)<9yDEI/6)E&3,?.GO.f&=(
,5$x&=(*)I5&=(*)763.>Q^(*)d&=,/.YG:.m,?6)d,5+-6=)>,?9*cy.YI/6Y&=)>9{CM$s,/.17)7$
9:C-$*iWI?639:)>6mI5T&(*)>CM6p4z)76=C-IO9
.
ChQ )?QpC-${9*)>16=)>,/.YC-$*iI/6=9*)76fI5TF&=(*)7C-6H4*6C-I?6=CM&C-)>.3 QmrCM63.0&H+-)&mS
.fS*$*CMTaI?6=DE+Mc_9:C-nOC-9*)'&=(*)'&3,?.G:.f,?DEI?$*id&=(*)E4*6=CMI/6CM&0cW+M)>n?)7+X.>[z)<,?13(
+-)7n/)7+CX.p,?.=.YC-i?$
)>9l&08I&=,/.YG:.H)>,/13(]Q^(*)d6=)>.Y&mI5T&(*)E&3,?.GO.m1>,5$x$*Ij8 V )k9:CX.Y&6=C V S*&)>9u,?DeI/$*i&(*)+-Ij8)76H4*6=CMI/6CM&0cl+M)>n?)>+-.>Q|
4zI/.=.YC V C-+MCM&0cWC-.&=(
,j&&(*)Z&08KI+MIj8)764*6=CMI/6CM&0c+-)7n/)7+X.,?6)Z,?.=.YC-i?$*)<9W&(
6)>)p&=,/.YG:.)>,/13(]Qfr
6I/D &(*CX.7[z&=(*)'TaI/+M+-Ij8PC-$*ikCX.,.YS
CA&3, V +-)
&3,?.Gk,?.=.YC-i?$
De)>$N&P.=13(*)>De)/
U6C-I?6=CA&0
c J)7n/)7+ 2G F67O HjQ
U6C-I?6=CA&0
c J)7n/)7G+ J:2 N 7 P
U6C-I?6=CA&0
c J)7n/)7'+ *2  7  7Y
U6C-I?6=CA&0
c J)7n/)7+ #
2 27  7YG F

;
;
;
;





priority

priority

priority

priority

8
9
10
task period in msec

11

12

13

14

r C-i?S
6)
b$*CMTaI?6=D F6=C-I?6=CA&0c|..CMi/$*DE)7$N&^&I,?.G:.KI?T2Fq*,5DE4*+-) (
^(*CX.^4*6=CMI/6CM&0c,?.=.CMi/$*DE)7$N&.13(*)>DE)f(L,?. V )7)7$W4*CX1 &=I?6=C-,?+M+-ck.(*Ij8P$CM$WrCMiLQ *Q


2#

Version 2 CSE, IIT Kharagpur

 Btja R
/< Q] R
tz #%$x&(*CX.m.=13(*)7DE)?[]&(*)d$OS*D V )>6mI5T&=,?.G:.H,?.=.YC-i?$*)<9l&=I_9:CA)76=)7$N&m4*6=CMI/6CM&0cl+-)7n?)>+-.fTaI/6D,5$u,56=CA&=(:@
DE)&=C-14*6I/i?6=)>.=.YC-I?$JQk| 4zI/.=.YC V C-+MCM&0cyCX.m&=(
,j& ?6 &3,?.G:.H(
,onOCM$*iW&=(*)k.(*I?6&)<.0&p4z)76=C-IO9
.',56=)d,?.=.YC-i?$
)>9{&Il&=(*)(*C-i?(
)>.Y&p4*6C-I?6=CM&0c
+-)7n/)7+B[ Jj6H&3,?.GO.H,?6)d,?.=.CMi/$*)>9_&(*)d$*)7qO&p(*CMi/(*)>.Y&m4*6=CMI/6CM&0cl+M)>n?)>+h[J,?$
9x.YIWI?$JQ J)& V )E&(*)e&=I5&=,?+F$OS*D V )76mI?TU&3,?.GO.>Qd^(*)7$J[
. $6 J5$6  ?$6 "#/$6 ZQ-QMQ-Q $*6>[j8P(
)76=)f$WCX.^&(
)H&I5&3,5+\$OS*D V )>6PI5T24*6C-I?6=CM&0cd+M)>n?)7+X.>Q
GB OC
tN7j Q] R
tz #%$&=(*CX.b.=13(*)7DE)?[
&(*)'$NS
D V )76I?T&3,?.GO.b,?.=.YC-i?$*)<9&I9:CMz)>6)>$N&b4*6=CMI/6CM&0c+-)7n?)>+-.PTaI?6=D,Ei?)>I?DE)&=6CX1
4*6=I?H i/6)<..C-I?$]Q^^(*CX.bDE)>,?$
.P&=(
,j&fCATF6&=,/.YG:.P(L,onNC-$*id&=(*)Z.(*I/6Y&=)>.Y&b4L)>6C-I:9*.b,?6)Z,?.=.YC-i?$*)<9&(*)Z(*CMi/(*)>.Y&4
6C-I?6=CA&0c/[*&=(*)7$l&=(*)'$
)qO&
  &3,?.GO.^,?6)f,?.=.YC-i?$*)<9d&=(*)HCMDEDE)>9:CX,j&=)7+-c+-Ij8K)>6K4*6=C-I?6=CA&0c/[O,?$
9k.IeI?$]QF^(*)>6)7TaI?6=)?[NCAT C-.K&=(*)H&I?&=,5+$OS*D V )>6I?TJ&3,?.GO.>[:,5$
9$
CX.&(*)H&=I5&3,5+]$OS*D V )>6PI5T24*6C-I?6=CM&0cd+M)>n?)7+X.&(
)7$ . !   H    N    P      
 B KE Sz:ja R
th QJ R
tz ^(*)+MI/i/,56=CM&(*DECX1.13(
)7DE)CX.e,5+X.YI{4LI/4*S*+X,56=+McuGO$*Ij8P$,/.p&=(*){-Nj VCFe? so3 A?5 FdL
7Q V* FE7Qm^(*) V ,?.C-1'C-9:)<, V )7(*C-$
9_&(*)e+MI/i/,?6CM&(*DECX1mi?6=CX9_,?.=.YC-i?$
De)>$N&.13(
)7DE)'CX.&=(
,j&f&(
)e.(*I?6&)>6b4z)76=CMI:9t(*C-i?(*)>64*6=C-I?6=CA&0c*
&3,?.GO.H.(*I?S
+-9 V )d,5+-+-I5&Y&=)>9{9:C-.Y&C-$
1&H4
6C-I?6=CA&0cW+-)7n/)7+X.f,/.fD'S
13(x,?.f4LIN..C V +M)/Q _,?$Ncl+-Ij8)76b4
6C-I?6=CA&0cW&3,?.G:.bI/$_&(
)eI?&(*)>6H(
,5$
9][
1>,5$ V )d1+-S V*V )>9{&I/i?)7&(*)>6H,5&&=(*)d.,?DE)Z4*6=C-I?6=CA&0cl+-)7n/)7+X.8PCM&(
I?S:&p17,?S
.CM$*iW,5$Ocl4*6=I V +M)>D &I&(*)d.=13(*)>9:S
+-, V CM+-CM&0clI5TU&=(*)E(*C-i?(
4*6=C-I?6=CA&0cE&3,?.GO.>Q
Id,?13(*C-)7n/)+-I?iN,56=CA&=(*DEC-1i?6=C-9,?.=.CMi/$*DE)7$N&>[N&(
)H&=,?.G:.P,56=)b;L6=.Y&,56=6=,?$*i?)<9C-$C-$
16=)>,/.YC-$*ieI?639:)76^I?T&=(*)7C-6P4L)>6C-I:9*.>QFr*I?6P4
6CM@
I/6CM&0ce,?+M+-I:17,5&C-I?$][?&(*)6=,?$*i?)PI?T\&=,?.Ge4L)>6C-I:9*.U,?6)9:C-nOC-9*)>9dC-$N&IZ,'.Y)<`/S
)7$
17)I5T\+-I?i/,?6CM&(
DeCX1PC-$N&)76=nj,5+X.7Q2^(*)b&=,?.G:.F17,?$d&(
)7$ V )
,/..CMi/$*)>9&IE4*6=CMI/6CM&0cd+-)7n?)>+-. V ,/.Y)<9kI/$k&=(*)m+-I?i/,?6CM&(
DeCX1CM$N&)>6nj,?+L&=(*)7c V )>+MI/$*ie&ILQ#%$&=(*C-.P.=13(*)>De)/[:CA-T eCX.&(*)HDd,jq:C-D'S*D
4z)76=CMI:9t,?DEI?$*il&=(*)&3,?.G:.Z,?$
49  C-.'&(
)DEC-$*CMDZS*D4L)>6C-I:9t,5DEI/$*il&(
)k&3,?.GO.>[&(*)>$6ZC-.e17,?+-17S*+-,5&)<9t,?.  .  
    [
8P(*)>6)m$lCX.^&=(*)m&I?&=,?+]$OS*D V )76I?TH 4
6C-I?6=CA&0ck+M)>n?)7+X.>QK,?.GO.^8PCM&(l4z)76=C-IO9
.PS*4W&Id6,56=)p,?.=.YC-i?$*)<9&=IE&(*)'(*CMi/(*)>.Y&4*6=CMI/6CM&0c?[*&=,?.G:.
8PCM&(4L)>6C-I:9*.UC-$d&=(*)63,5$
i?)PH 6K&I N  ,56=)b,/..CMi/$*)>9e&=I'$*)7qO&K(*C-i?(*)<.0&4*6=CMI/6CM&0cZ+-)7n/)7+2,/..S*DECM$
ipG . TaI?6^.YC-DE4*+-C-17CA&0c* [N&3,?.GO.K8PCM&(
4z)76=CMI:9*.UCM$E&=(*)b63,5$
i?)PI5T  &=I  ,?6),/..C-i?$*)<9'&=Im&(
)b$*)7qN&K(*CMi/(*)>.Y&U+-)7n/)7+B[N,?$
9d.YImI/$]QFOC-D'S*+X,j&=CMI/$d)q:4L)>6C-DE)7$N&=.U(
,on?).(*Ij8P$
&=(
,j&P&=(*)m+MI/i/,?6CM&(*DECX1b4
6C-I?6=CA&0c,?.=.YC-i?$*DE)>$/&^8I?6=GO.n/)76=cd8K)>+M+\TaI/6P4*63,?1 &=C-1>,5+4*6=I V +-)7Dd.>Q
bI5&)p&(
,5&+-I?i/,?6CM&(
DeCX1f&=,/.YG,?.=.YC-i?$
De)>$N&b8KI/6G:.^8)7+-+I/$*+-ck8P(*)>$l&(*)'&=,/.YG4L)>6C-I:9*.,?6)mS
$*CATaI/6DE+-c9*C-.Y&6=C V S:&)<9lIjn?)>6,5$
C-$N&)76=nj,5+BQIj8)7n?)>6>[NCMTDEI/.Y&^I5TJ&=(*)f&=,/.YG4z)76=C-IO9
.,?6)H1+-S
.Y&)>6)<9kIjn/)76^,Z.Dd,5+-+\4
,56&I?TJ&=(*)HCM$N&)>6nj,?+h[*,?$
9d&=(*)mI5&=(*)76&=,/.YG:.^,56=)
.4
,563.)7+-c9:C-.Y&6=C V S:&)<9CM$&(
)m6)<.0&PI5T&(
)mCM$N&)>6nj,?+h[O&=(*)7$&(
)m+MI/i/,56=CM&(*DECX1.=13(*)7DE)HDd,occOCM)>+-94zIOI?6P6=)>.S*+A&3.7Q
^(*)H+-I?iN,56=CA&=(*DEC-1fi?6=CX9k,?.=.CMi/$*DE)7$N&.13(*)>DE)f(L,?. V )7)7$WC-+M+-S
.Y&63,j&=)>9CM$&(
)HTaI?+-+MIj8PC-$*idq*,5DE4*+-)?Q
]
2  ] KI?$L.YCX9:)76d,?$I/4L)>6=,5&C-$*ix.c:.0&=)7D .YS*4
4LI/6Y&=CM$*ixI?$
+McsTaI/S*6d4*6=CMI/6CM&0cs+-)7n?)>+-.>Q~|$w,54*4
+MCX17,5&C-I?$v8PCA&=( y4z)76=CM@
I:9:CX1d6=)>,5+M@B&C-De)E&3,?.G:.',56=)E&I V )k.=13(*)<9:S*+-)>9uI?$u&=(*CX.'I/4L)>6=,5&C-$*i_.Yc:.Y&)>D S
.CM$
iyg _|'Q#&'CX.',?+-.IlGO$*Ij8P$u&(L,j&'I?T&=(*)ki/CMn/)7$
&3,?.GO.>[/&(*)H+X,56=i?)>.Y&U4z)76=CMI:9kC-.
[ /?HDEC-+M+-C].Y)<1I/$
9*.,5$
9&(*)H.Y(
I?6&)>.Y&K4z)76=C-IO9kC-. DeC-+-+MC].)>17I?$
9\QFRb&(
)76&=,/.YGE4z)76=CMI:9*.,56=)9:CX.Y@
&=6C V S:&=)>9ZS*$*CMTaI?6=De+-cmIjn?)>6J&=(*CX.2CM$N&)>6nj,?+hQ|b.=.YC-i?$'&(*)&=,/.YG:.&If4*6=CMI/6CM&0cH+M)>n?)>+-.S
.CM$
ib&=(*)^+MI/i/,56=CM&(*DECX1Fi?6=CX9',?.=.CMi/$*DE)7$N&.=13(*)7DE)/Q
QJLhJ<z B  . F

F

 . *Q
|171I/6=9*CM$*i/+Mc/[N&=,?.G:.^8PCA&=(W4L)>6C-I:9*.^CM$&=(*)H6=,?$*i?)fI5T DeC-+-+MCJ.)>17I?$
9,5$
9 eDEC-+M+-CJ.)>1I/$
9*.8I?S*+X9 V )p,?.=.CMi/$*)>9&Ie&(*)m(
CMi/(*)>.Y&
4*6=C-I?6=CA&0cl+-)7n/)7+BQe,?.G:.8PCM&(u4z)76=CMI:9*.fC-$x&(*)E63,5$*i/)ZI?T ? &I ?DeC-+-+MCU.)>17I?$
9
.8I?S
+-9 V )d,/..CMi/$*)>9_&I&(
)E&(*)E$*)7qN&p+-Ij8)76
4*6=C-I?6=CA&0cd+-)7n/)7+B[*,5$
9W.IeI/$]Q






)877$&;

 * 02  *C*+)3


*&

#"

}x)P(
,on?)^,5+-6=)>,?9*cp9:);
$
)>9Z&=,/.YG^0CM&Y&=)76U,/.&(*)PDd,5i/$*CM&S
9:)^I?TLnj,56=C-,5&C-I?$eCM$Z&(
),56=6C-nj,5+OI?61I/DE4*+M)7&C-I?$Z&C-DE)>.I?Tz,f4L)>6C-I:9:CX1&=,?.GQ
^(
,5&C-.>[*&=(*)p,56=6=CMnj,5+&=CMDE)P0CM&Y&=)76C-.Pi/CMn/)7$ V c&(
)p+-,5&)<.0&b,?66=CMnj,?+&C-De)'DeC-$OS
.^&=(*)p)>,?6+-C-)>.Y&P,?66=C-no,?+&C-DE)p,5DEI?$*i,?+M+JCM$
.Y&=,?$
1)<.
I?T\&(*)b&=,?.GQ2:CMDEC-+-,?6+-c?[/&(*)f1I/De4
+M)7&C-I?$E&C-DE)F0CM&Y&=)76C-.Ki?C-n?)>$ V cZ&(
)b+X,j&)<.0&^1I/De4
+M)7&C-I?$E&C-DE)bDEC-$NSL.F&=(*)b)<,56=+MC-)>.Y&U1I/De4
+M)7&C-I?$
&=CMDE)HI5T\&=(*)f&=,?.G+Q F6=)>.)7$
17)I5T.Dd,5+-+\,5DEI?S*$N&3.UI?T,56=6C-nj,5+L&C-DE)U0CM&Y&=)76PCX.K$
I?6=DE,?+M+-ceS*$
,on?I/C-9
, V +-),/.K,?+M+4*(Oc:.YCX17,?+z17+MI:13G:..Y(*Ij8
.I?DE)H,5DEI?S*$N&^I5T.G?)>8mQ KI?DE4*+-)&C-I?$k&C-DE)K0CM&Y&=)763.P,56=)f1>,5S
.)>9 V cE&(*) V ,/.YCX1b$L,j&S
6)fI5Tg _|.13(*)<9:S*+-CM$
iZ8P(*CX13(W.13(*)<9:S*+-)>.,
&3,?.GE,5&K&=(*)H)>,?6+-CM)<.0&I?4*4zI?6&S
$*CA&0cd,5&8P(*CX13(kCM&17,?$6S
$]QF^(OS
.7[N&=(*)6=)>.4zI?$
.)&=CMDE)HI5T,p&=,/.YG9:)>4L)>$
9*.I?$(*Ij8~Dd,5$Ocd(*C-i?(*)>6
4*6=C-I?6=CA&0cl&3,?.G:.p,56=6C-n?)lI?6p8)76=)d8,?CA&=CM$
iNm9:S
6C-$*iW&(
))q:)>17S:&C-I?$uI?T&=(*)d&3,?.GzQlODd,5+-+K,?DEI?S*$N&=.pI5T20CA&&)>6'$*I/6Dd,5+-+-c{9:Il$*I?&
(

Version 2 CSE, IIT Kharagpur

1>,5S
.)pD'SL13(l4*6I V +-)7Dd.b,/.+-I?$*i,/.P&(
)Z,56=6=CMnj,5+,5$
9l17I?DE4*+-)&C-I?$_&C-De)<.I?T&=,?.G:.b,?+M+.0&3,oc8PCM&(*C-$y17)76&=,5C-$W&I/+M)>6=,?$
1) V I?S
$
9*.>Q
bIj8K)>n?)76<[:1)>6Y&3,5C-$,?4*4*+-C-1>,j&C-I?$L.KDEC-i?(N&6=)>`NS*C-6)&(
,5&0CA&&)>6 V )mDEC-$*C-DeC-7)<9l,?.^DZS
13(,/.^4LIN..C V +M)/Q
gP)<,5+M@h&=CMDE)m4*6=I?i/6=,?DEDe)>6=.^17I?DEDEI?$*+-ck(
,?$
9:+-)H&=,/.YG:.P8PCM&(W&=CMi/(/&f1I?DE4*+-)&=CMI/$&C-De)0CA&&)766)<`NS*CM6=)7DE)>$/&3.PS
.CM$
i,5$OckI/$*)mI5T
&=(*)HTaI?+-+MIj8PC-$*ie&08I'&=)>13(*$*CX`NS*)>.>
#TI?$*+-ckI/$*)pI?6&08KI,/1 &C-I?$L.p&3,?.GO.3^(
,on/)H&C-i?(N&F0CM&Y&=)76b6=)>`NS*C-6=)7DE)7$N&=.>[:&=(*)>.)',?1&C-I?$
.b,56=)p,?.=.YC-i?$*)<9n?)76=c(*C-i?(l4
6C-I?6=CA&0c/Q
^(*CX.HDe)7&(*I:9x8I?6=GO.f8)7+-+I?$*+-c_8P(*)>$x&(*)>6)d,56=)d,n?)76=c_.DE,?+M+U$NS
D V )76mI5T^,?1&C-I?$
.da&=,?.G:.=Qd}~(*)7$uCM&pC-.HSL.Y)<9{C-$u,5$
,54*4
+MCX17,5&C-I?$C-$w8P(*CX13(&=(*)W&=,/.YG:.E,56=) V ,56=)7+-ct.13(
)>9:S*+X, V +M)/[UCM&DE,oc6)<.YS*+M&dCM$w.I?DE)&=,?.G:.EDEC-.=.YC-$*ix&(
)7C-6d6)<.Y4z)>1&C-n?)
9:)>,/9:+-CM$*)<.7Q
#TL0CM&Y&=)76fD'S
.Y& V )pDECM$*C-DECM>)>9TaI/6b,5$l,54
4*+MCX17,5&C-I?$&(L,j&bCX. V ,?6)>+Mc.13(*)<9:S*+X, V +-)?[
)>,?13(&3,?.Gk$*)>)>9*.^&=I V )'.Y4
+MCM&bC-$/&=IE&08KIL
I?$*)e8P(*CX13(s1I?DE4*S*&)>.f&=(*)dI?S*&4*S:& V S:&p9:IO)>.H$*I?&p4
,?.=.fCA&pI/$][J,5$L9{I/$*)e8P(*C-13(u4
,/..)>.&=(*)dI?S:&=4*S:&mI?$JQE^(
C-.mDE)7&(*I:9
CM$On/I?+-n?)>..)&Y&=CM$
i'&=(*)p.Y)<1I/$
9d&3,?.G
.4*6=CMI/6CM&0ce&IEn?)>6cE(*C-i?(nj,5+-S*)>.P,?$
9CM&=.^4z)76=CMI:9k&I V )&=(*)m.,?DE)f,/.U&=(
,j&PI?TJ&(
);L6=.Y&
&=,/.YGQ|$W,?1&C-I?$W.13(*)<9:S*+-)>9k8PCA&=(&=(*CX.P,54*4*6=I/,/13(8PC-+M+]6=S*$I?$*)H1c:17+M) V )7(*C-$
9W.13(
)>9:S*+-)?[ V S:&^&(*)H&3,?.GO.8PC-+M+\(L,on?)&C-i?(N&
1I/De4
+M)7&C-I?$&C-De)^0CM&Y&=)76<Q
;

   
:13(*)<9:S*+-CM$*i'I5T]6=)>,5+M@B&C-De)&=,?.G:.FI/$,pS*$*C-4*6=I:1)>.=.I?6F8^,?.F,?$k,56=)>,HI?T]CM$N&=)7$
.)6=)>.)>,56313(ECM$&(*)   ?.F,?$
9e&(
)S*$L9:)76=+McOC-$*i
&(*)>I?6=cdC-.$*Ij88)7+-+A@%9:)>n?)7+-I?4z)>9]Q
$*C-4*6=I:1)>.=.I?66=)>,5+M@B&C-De)&3,?.GZ.=13(*)>9:S
+MC-$*ip,5+-i?I/6CM&(
DE.U17,5$ V 6=I/,/9:+-c V )1+X,?.=.YCM;
)>9eC-$N&I'17+MI:13GN@9*6C-n?)>$][j)7n/)7$N&Y@%9:6=CMn/)7$][?,?$
9
(Oc V 6CX9,?+Mi/I?6=CA&=(*Dd.7Q
#%$_1+-I:13G/@%9:6=CMn/)7$W.13(
)>9:S*+-)763.>[*&(
)'.13(
)>9:S*+-C-$*i4zI?C-$/&3.b,?6)p9:)7;
$*)<9 V c&(
)'C-$/&=)76=6S
4:&=.Pi/)7$*)>6=,5&)<9 V c&(*)e.Yc:.Y&)>D 17+MI:13GQ
#%DE4LI/6Y&3,5$N&1+-IO13GN@%9:6=CMn/)7$W.13(*)<9:S*+-)763.P,56=)f&=, V +M)7@ V ,/.Y)<9W,5$
9W1c:17+MCX15Q KcO17+MCX1m.=13(*)>9:S
+M)>6=.P,?6) V )7C-$*i4*6=)>9:I/DECM$
,?$N&+-cS
.)>9
CM$W.DE,?+M+J)7D V )>9
9:)>9W,54
4*+MCX17,5&C-I?$
.^9:S
)H&IE&(
)7C-6.YC-DE4*+MCX1CM&0c,?$
9+MIj86S*$&=CMDE)mIjn?)>6(
)>,?9]Q
|DEI?$
im&(*)f+X,56=i?)$OS*D V )>6KI?T]6)<.YS*+M&=.U&(L,j&,?6),ono,?CM+X, V +M)C-$k)>n?)>$/&@9*6C-n?)>$E.=13(*)<9:S*+-CM$*iZI5T]6=)>,?+A@B&C-DE)&=,/.YG:.UI?$k,'S*$*C-4*6I?@
1)<..I?6<[N&08KIE,5+-i?I/6CM&(*Dd.P,?6)fDEI/.Y&b.YC-i?$*CM;L1>,5$N&>
frhU,?6+-CM)<.0#& )>,?9*+MC-$*)prCM63.Y&3 F^(
C-.PCX.P,5$WI/4:&C-Dd,5+]9:cO$
,?DeCX1f4*6=CMI/6CM&0ck.=13(*)>9:S
+MC-$*id,5+-i?I/6CM&(*DWQ
g _| hg,j&=) lI?$
I5&I/$*CX1f|b$
,5+-c:.YCX.3 ^(*CX.PC-.P,?$WI?4:&=CMDd,5+].Y&=,5&CX1H4*6=CMI/6CM&0c.13(
)>9:S*+-C-$*id,5+-i?I?6=CM&(*DWQ
^(*I?S
i?(W frCX.,5$WI/4:&C-Dd,5+]6=)>,?+A@B&C-DE)H&=,?.Gk.=13(*)>9*S*+MC-$*i,?+Mi/I?6=CA&=(*D I?$l,ES*$
CM4*6=I:1)<..I?6<[:CA&f.YS:)763.^Ta6=I?D ,eTa)78.Y(*I/6Y&@
1I/DeC-$*iN.7Q^#&f1>,5$*$
I5&bi/S
,563,5$N&)>)H&(
,5&b&=(*)Z176CM&CX17,?+\&=,/.YG:.DE)>)&b&=(*)7C-6f6)<.Y4z)>1&C-n?)p9:)<,?9:+-CM$
)>.S
$
9:)76&63,5$L.YC-)7$N&bIjn/)76=+MIN,?9\Q
)>.C-9:)<.7[jC-DE4*+-)7DE)7$N&=,5&C-I?$eI5T
6=)>.I?S
6=17)K.(
,56=CM$
i,5DEI/$*i6=)>,?+A@B&C-DE)U&3,?.G:.CX.)qO&6=)7DE)>+Mcp9:C 1S*+M&>Q^(*)>6)7TaI?6=)?[5 r@ V ,?.)>9
,5+-i?I/6CM&(*Dd.^,56=)f6=,?6)>+McdS
.)>9C-$W4*6=,/1 &=C-17)H,?$
9g _|P@ V ,/.Y)<9.=13(*)>9*S*+MC-$*id,5+-i?I/6CM&(
DE.^(L,on?) V )<1I?DE)H4zI?4*S*+X,56<Q
}{)f9:CX.17S
..)>9d&(*)fDd,5C-$6)<.YS
+A&3.K17I?$
17)76=$*CM$
ip(*Ij8w&Ie9:)&=)76=DECM$*)&(
).=13(*)>9:S
+-, V CM+-CM&0ceI?TJ,'.)&^I5T\&3,?.GO.US*$
9:)>6P frx,?$
9
g _|'Q
}{)H,5+X.IZ9:CX.17S
.=.Y)<9d(*Ij8w&IeIjn?)>6=17I?DE)b.I?DE)b4
6I V +M)>Dd.F&=(
,j&,56=CX.Y)8P(
CM+-)f9*)7n?)>+MI/4*C-$*iZ,Z4*63,?1 &=C-1>,5+z6)<,5+M@h&=CMDE)f.Yc:.Y&)7DWQ2#%$
4
,56&CX1S
+-,?6>[N8K)f9:CX.17S
..)>9k(*Ij8w&Ie(
,?$
9:+-)f.CA&=S
,j&=CMI/$
.^.YSL13(k,?.8P(*)>$&=,/.YGE4*6=C-I?6=CA&=CM)<.K9:CM)76Ta6I/D&=,/.YGd16=CM&CX17,5+-CM&C-)>.>[O,?$
9
,?.=.YC-i?$
CM$*i'4*6C-I?6=CM&C-)>.K&IZ&=,/.YG:.KTaI?6Pg _| .=13(*)>9:S
+MC-$*ie8P(*)7$&(*)H4*6=C-I?6=CA&0cE+-)7n?)>+-..S*4*4zI?6&)>9 V cE&(*)HI/4L)>6=,5&C-$*iZ.c:.0&=)7D CX.
+M)<..&=(
,5$&(
)m$NS
D V )76I?TJ&=,/.YG:.&=I V )p.=13(*)>9*S*+M)<9\Q
;







Version 2 CSE, IIT Kharagpur

QbN&=,5&)m8P(*)7&(*)>6P&(
)mTaI?+-+MIj8PC-$*id,?.=.)76&C-I?$
.^,56=) 6=S*)pI?6 >P,?+-.)?QU}{6=CA&=)mI?$*)mI/6^&08KI.)7$N&=)7$
17)>.&IH0SL.0&=CATacWc?I/S*6P13(*I?CX1)mC-$
)>,/13(17,/.Y)/Q
,Nk|bn?)763,5i/)b6=)>.4LI/$
.)b&=CMDE)HC-.^,?$C-DE4LI/6Y&3,5$N&4z)76TaI?6=Dd,5$
17)DE)7&6=C-1bTaI?6P6=)>,?+A@B&C-DE)bI?4z)763,j&=CM$
ie.c:.0&=)7Dd.(
,5$
9*+MC-$*iE6S
$:@
$*C-$*idI?T(
,?6=96)<,5+M@h&=CMDE)f&=,/.YG:.>Q
V b$*+MC-G?)H&3, V +-)@%9:6=CMn/)7$.13(*)<9:S*+-)763.7[*17c:1+-C-1H.=13(*)>9:S
+M)>6=.P9:IE$*I?&6)<`NS*CM6=)&I.Y&I?6=)H,Z4
6)<1I?DE4*S*&)>9W.=13(*)>9*S*+M)/Q
1>}~(*)>$yg _| C-.bS
.Y)<9TaI?6f.13(*)<9:S*+-CM$
i,.Y)7&bI5T(
,?6=96=)>,?+A@B&C-DE)p4L)>6C-I:9:CX1H&=,/.YG:.>[:&(*)ZS*4*4z)76 V I/S*$
9WI?$_,/13(*C-)7nj, V +-)
S:&=CM+-C->,j&=CMI/$WCMDE4*6=Ijn?)<.,/.&(*)m$OS*D V )>6PCM$&3,?.GO.^C-$&(*)p.c:.0&=)7D V )7C-$*i9:)>n?)>+MI/4L)<9kC-$
16=)>,/.Y)<.7Q
9
#T,E.Y)7&^I?T4z)76=CMI:9:CX1f6)<,5+M@h&=CMDE)f&=,/.YG:.KT,5C-+X*. ])7(
IO177GO'c
.&=)>.Y&>[O&=(*)7$WCM&b17,5$W.=,jTa)7+-c V )p1I?$L1+-S
9:)>9k&(L,j&P&(
C-.&3,?.Gk.Y)7&
1>,5$$*I5& V )HTa)>,/.YC V +-ck.13(
)>9:S*+-)>9S*$L9:)76g y|pQ
a)<| &=CMDE)@%.+MCX1)<96=I?S
$
9O@6I V CM$.13(
)>9:S*+-)76PSL.Y)<.^4*6)>)7DE4:&=CMn/)H.=13(*)<9:S*+-CM$*iLQ
T=W^(*)DECM$*C-D'S
D 4z)76=C-IO9eTaI/6K8P(
C-13(,H&3, V +-)@%9:6=CMn/)7$.=13(*)>9*S*+M)>6U.=13(*)>9:S
+MC-$*ip$4z)76=C-IO9*C-1^&3,?.G:.F$*)>)>9*.F&I'4
6)7@.Y&I/6)^&=(*)
.=13(*)>9*S*+M)HCX.Pi?C-n?)>$ V cDd,5q IF 7 EH97    N[:8P(*)76=) L2CX.^&(*)m4z)76=C-IO9I5T&(
)H&=,?.G\0Q
aiOkg y| C-.b,5$WI?4:&=CMDd,?+J.0&3,j&=C-1f4*6=CMI/6CM&0ck.=13(*)>9*S*+MC-$*i,?+Mi/I?6=CA&=(*D &I.=13(*)<9:S*+-)H,d.)&I?T4z)76=C-IO9*C-1H6=)>,?+A@B&C-DE)&3,?.G:.PI?$W,
$*I/$:@4*6)>)7DE4:&=CMn/)fI/4L)>6=,5&C-$*iE.Yc:.Y&)7DWQ
a(L|1c:1+-CX1y.=13(*)>9:S
+M)>6kCX.DEI/6)_4
6I?;L1C-)7$N&k&=(
,5$,t4*S*6=)_&3, V +-)@%9:6=CMn/)7$ .=13(*)>9*S*+M)>6kTaI/6.=13(*)>9*S*+MC-$*iv,.)&I?T'(
,?6=9
6=)>,?+A@B&C-DE)&3,?.G:.7Q
CXg y|CX.^,5$I?4:&=CMDd,5+].Y&=,5&CX1b4
6C-I?6=CA&0cd.=13(*)>9*S*+M)>6^CM$k&(*)Hi?)>$*)763,5+17,/.Y)8P(*)76=)&(*)f&=,/.YGd4z)76=C-IO9
.,?$
9k9*)>,?9*+MC-$*)>.I?T,
.)&I?T(
,?6=96)<,5+M@h&=CMDE)H4z)76=CMI:9:CX1f&=,/.YG:.Dd,ock9:CMz)>6>Q
WO)>+AT\.S
.Y4z)7$L.YC-I?$eI5Tz&=,/.YG:.2C-De4L,?1 &3.&(*)P8I?63.Y&21>,?.)6=)>.4zI?$
.)U&=CMDE)<.I5Tz&(*)^C-$
9:C-nOC-9:SL,5+:&3,?.GO.2DZS
13(eDeI/6)P,/9:n?)>6=.)7+-c
8P(*)>$y4*6=)7)>DE4:&C-I?$_I?TF&=,/.YG:.bC-.H.S*4*4zI?6&)>9 V cW&=(*)'I/4L)>6=,5&C-$*i.c:.0&=)7D 1I/DE4
,56=)>9W&=I&=(*)e1>,?.)'8P(*)>$_4*6=)7)>De4*&C-I?$
CX.P$*I?&P.S*4*4zI?6&)<9\Q
G:|.YS*CM&=, V +-);
i?S
6)FI?T*DE)76=CA&]&=I17I?DE4
,56=)2&(
)U4z)76TaI?6=DE,?$
1)I?T*9:CA)76=)7$N&(
,5639H6)<,5+M@h&=CMDE)&3,?.Gf.=13(*)<9:S*+-CM$*i,?+Mi/I?6=CA&=(*Dd.
1>,5$ V )H&=(*)p,on?)>6=,?i?)&3,?.G6=)>.4LI/$
.Y)f&=CMDE)>.6)<.YS*+M&C-$*ieTa6=I?D )<,?13(W,5+-i?I?6=CM&(*DWQ
+X}~(*)>$l,e.)&PI?T4z)76=CMI:9:CX1f6)<,5+M@h&=CMDE)&=,?.G:.C-. V )7C-$*i.=13(*)>9:S
+M)<9S
.CM$
iEg _|p[*CM&17,?$$*I?& V )H&=(*)m17,?.)f&(
,5&,Z+-Ij8)76
4*6=C-I?6=CA&0cE&3,?.GkDE)7)7&=.^CM&=.9:)<,?9:+-C-$*)?[*8P(
)76=)>,?.^.I?DE)H(*C-i?(*)>6P4*6C-I?6=CM&0cE&=,?.Gk9:IO)<.^$*I5&<Q
Dd rU,?6+-C-)>.Y#& )>,/9:+-CM$*)mrC-6=.Y&3^,?+Mi/I?6=CA&=(*D 4zI/.=.Y)<..)>.i?IOI:9k&63,5$
.CM)>$N&^Ijn/)76=+MIN,?9d(L,5$
9:+-C-$*id17,54L, V C-+MCM&0c?Q
a$L| &=CMDE)@%.+MCX1)<96=I?S
$
9k6=I V CM$W.13(
)>9:S*+-)76PCX.P,5$)q*,?De4
+M)mI?T,e$*I?$*@B4*6=)7)>DE4:&C-n?)m.=13(*)>9:S
+M)>6>Q
aIOkg y| g,5&) _I?$*I?&I?$
C-1d|b$
,5+-c:.YCX.=fCX.p,?$xI/4:&C-Dd,5+U,?+Mi/I?6=CA&=(*D TaI/6'.=13(*)>9:S
+MC-$*i_.Y&=,j&=C-1E4
6C-I?6=CA&0cy$*I?$:@4*6=)7)>De4*&C-n?)
4z)76=CMI:9:CX1H6=)>,5+M@B&C-De)&=,/.YG:.^(
,onOC-$*iE(
,56399:)>,/9:+MC-$*)<.7Q
a4L r ,?+Mi/I?6=CA&=(*D CX.m,5$xI?4:&=CMDd,5+F,?+Mi/I?6=CA&=(*D TaI?6p.=13(*)>9*S*+MC-$*i(
,5639{6)<,5+M@h&=CMDE)Z&=,?.G:.fI?$u,kS*$
CM4*6=I:1)<..I?6H8P(*)>$y&=(*)
&3,?.Gk.Y)7&C-.P,EDECMqO&S*6=)HI5T24L)>6C-I:9:C-1H,?$
9W,54z)76=CMI:9:CX1&=,?.G:.7Q
h`OWOS
4*4LIN.Y)8K)(
,on?),Z.Y)7&UI5T]6=)>,?+A@B&C-DE)C-$
9:)74z)7$L9:)7$N&&=,?.G:.&=I V )b6=S*$I?$,pS*$*C-4*6I:17)>.=.YI/6FS*$
9:)>6g _|.=13(*)<9:S*+-CM$*iLQ
}x)dI V .)76=n?)'&(
,5&',&=,?.GlI5T^4z)76=CMI:9 DeC-+-+MCK:)>1e(
,?.HDE)7&pCA&3.m9:)>,/9:+MC-$*)/QEr
6I/D &(
C-.HI V .Y)>6nj,5&C-I?$][\CM&p8KI/S*+X9 V )
.=,jTa)f&I17I?$
17+MSL9:)f&(
,5&b,'&3,?.G(
,onOC-$*iE4L)>6C-I:9kI?+T (ZDECM+-+-CO)>1H8I?S
+-99:);L$*CA&=)7+-ck(
,on/)DE)7&CA&3.9:)>,/9:+-CM$*)<.7[
a6 Kc:1+-CX1m.13(*)<9:S*+-)763.^,56=)fDEI/6)f4*6=I5;L17CM)>$/&^&=(
,5$&=, V +-)@%9:6C-n?)>$.=13(*)<9:S*+-)763.7Q
h.=#%$,m$
I?$*4*6=)7)>DE4:&=, V +M)PI/4L)>6=,5&C-$*ip.cO.Y&)>D )>De4
+MIjcOC-$*ipg _| .=13(*)<9:S*+-CM$*i'I5T\,p.Y)7&UI5T6=)>,5+M@B&C-De)P4z)76=C-IO9*C-1^&3,?.G:.7[N.Y)>+AT
.S
.4L)>$
.YC-I?$lI?TF,d(*C-i?(*)>64*6=CMI/6CM&0c&3,?.Gxh9:S*)p&=I# ?R )&315Q DE,ocC-$
16=)>,/.Y)f&(
)'6=)>.4LI/$
.Y)H&=CMDE)ZI5TF,d+-Ij8K)>6P4*6C-I?6=CM&0c
&3,?.GzQ
&3^(*)m8I?63.Y&Y@%17,?.)b6=)>.4zI?$
.)f&C-De)HTaI/6,Z&=,?.GI:1717S*63.^8P(*)7$CA&CX.PI/S:&PI5T24*(
,?.)H8PCA&=(WCA&3.P(*C-i?(*)>6P4*6C-I?6=CM&0cE&=,?.G:.7Q
aSL|~.4LI/6=,/9:CX1K.)76=n?)>6SL.Y)<9'&=IH(
,5$
9*+M)P,54z)76=C-IO9*C-1^,5$L9e.4zI?63,?9:CX1F&3,?.G:.TaI?6Fg _|~.=13(*)<9:S*+-CM$*im,/13(*CM)>n?)<.(
CMi/(*)76F.=13(*)>9*S:@
+X, V +-)mS:&=CM+-CM<,j&=CMI/$17I?DE4
,56=)>9k&Id,E9:)7Ta)76=6=, V +M)m.)76=n?)>6>Q
n:}~(*C-+-)S
.CM$*im,m17cO17+MCX1^.13(
)>9:S*+-)762&=Ip.13(
)>9:S*+-),H.Y)7&FI5T6)<,5+M@h&=CMDE)&=,/.YG:.2I/$E,fS*$
CM4*6=I:1)<..I?6<[j8P(*)7$d,m.S*CM&=, V +M)^Ta63,5DE)
.CM>)'.=,j&CX.YTacNC-$*i,?+M+J&(*)m&=(*6=)7)p6=)>`NS*C-6)<9W1I?$L.0&=6=,?CM$N&=.(
,?. V )7)>$lTaI?S
$
9\[zCA&bCX.i/S
,563,5$N&=)7)>9k&(L,j&b&=(*)m&3,?.G.)&8I?S
+-9
V )HTa)>,/.YC V +-ck.13(
)>9:S*+-)>9 V cd&=(*)p1c:1+-CX1f.=13(*)<9:S*+-)76<Q


Version 2 CSE, IIT Kharagpur

a8b}~(*)>$EDeI/6)K&(L,5$EI?$*)Ta63,5DE)^.,5&CX.0Tac',?+M+O&=(*)1I/$
.Y&63,5C-$/&3.JI/$'Ta63,5DE)P.CM>)8P(
CM+-)P.13(*)<9:S*+-CM$
iH,H.)&I5Tz(
,5639Z6)<,5+M@h&=CMDE)
4z)76=CMI:9:CX1f&=,/.YG:.S
.CM$
i,e17c:1+-C-1H.=13(*)>9:S
+M)>6>[O&=(*)m+-,?6i/)>.Y&I?T&=(*)>.)fTa6=,?DE)p.YC-7)<.P.Y(*I/S*+X9 V )p13(*I/.)7$JQ
aq* fIOI:96)<,5+M@h&=CMDE)f&=,/.YGk.=13(*)<9:S*+-CM$*id,?+Mi/I?6=CA&=(*Dd.K)>$
.S*6)fT,?CM6=$*)>.=.K&Id6=)>,?+A@B&C-DE)&3,?.G:.K8P(
CM+-)p.13(
)>9:S*+-C-$*i
Q
J*QbN&=,5&)m8P(*)7&(*)>6P&(
)mTaI?+-+MIj8PC-$*id,?.=.)76&C-I?$
.^,56=) 6=S*)pI?6 >P,?+-.)?QU}{6=CA&=)mI?$*)mI/6^&08KI.)7$N&=)7$
17)>.&IH0SL.0&=CATacWc?I/S*6P13(*I?CX1)mC-$
)>,/13(17,/.Y)/Q
,N#%$y&=, V +M)7@9:6=C-n?)7$_.=13(*)<9:S*+-CM$*ikI5T&(
6)>)'4z)76=CMI:9:CX1m&3,?.GO.b F [ H [ O N?[L&=(*)Z.=13(*)<9:S*+-CM$*ik&=, V +M)ZD'S
.Y&(L,on?)'.=13(*)>9*S*+M)<.TaI/6
,?+M+\&3,?.G:.9*6=,o8P$S*4&Ie&(
)H&C-De)mC-$N&)>6nj,5+ *[ Dd,jq]a4 [ E4 J:[ 4 / B[:8P(
)76=)f4
C]C-.&=(*)m4z)76=CMI:9I5T&(*)H&3,?.G Q
V }~(*)>$~,x.)&dI?T(
,?6=96)<,5+M@h&=CMDE)4L)>6C-I:9:CX1k&3,?.G:.d,56=) V )7C-$*it.=13(*)>9:S
+M)<9S
.C-$*ix,u17cO17+MCX1W.13(
)>9:S*+-)76<[UCMTm,x17)76&=,?CM$
Ta63,5DE).C-7)bCX.UTaI?S*$
9d&I V )f$*I5&^.YS*CM&=, V +-)?[N&(*)>$k,5$OceTa63,5DE)b.CM>).DE,?+M+-)76U&(
,?$&=(*C-.K8I?S*+X9d$*I?&,5+X.I V )H.S*CA&3, V +-)TaI/6
.=13(*)>9*S*+MC-$*ie&(
)H&=,?.G:.7Q
1>}~(*)>$x,.)&HI5TK(L,5639_6=)>,5+M@B&C-De)Z4L)>6C-I:9:CX1p&3,?.GO.H,?6) V )>CM$*il.=13(*)>9*S*+M)<9_S
.C-$*i,1c:17+MCX1Z.=13(*)<9:S*+-)76<[\CATK,17,?$
9:CX9*,j&=)
Ta63,5DE)E.YC-7)Z)q*1)>)>9*.b&(*)E)7qO)<1S:&=CMI/$l&C-DE)EI5TU)>n?)76=c&=,?.Gl,5$
9{.`NS
,?6)>+Mcl9:C-nOC-9*)>.b&(*)EDd,j0I/61c:17+M)/[&(*)>$yCM&H8I?S
+-9
V )p,E.YS*CM&=, V +-)HTa6=,?De)m.CM>)f&I.=13(*)>9:S
+M)f&(
)mi?C-n?)7$W.)&PI5T&=,/.YG:.>Q
9
rC-$
9:C-$*i,5$I?4:&=CMDd,?+].13(*)<9:S*+-)fTaI?6,E.Y)7&I5TCM$
9*)74z)7$
9:)>$N&4L)>6C-I:9:C-1H(L,56396=)>,5+M@B&C-De)f&3,?.GO.^8PCM&(
I?S:&b,?$Ncd6=)>.I?S
6=17)@
.(
,56=C-$*ie17I?$
.Y&63,5C-$N&=.^S*$L9:)76.Y&=,5&CX1H4*6C-I?6=CM&0c1I?$L9:CA&=CMI/$
.^CX.P,5 $ F@17I?DE4*+-)&)H4*6=I V +M)>DQ
a)<^(*)p r,5+-i?I/6CM&(*D CX.PI/4:&C-Dd,5+\TaI/6.13(*)<9:S*+-CM$
ie6=)>,?+A@B&C-DE)f&=,?.G:.^CM$l,eS*$*C-4*6=I:1)>.=.I?6^CM$l,e$*I/$:@B4
6)>)7DE4:&C-n?)H)>$NnOCM@
6=I?$*DE)>$/&<Q
T=}~(*)>$sg _| C-.HSL.Y)<9_&=IW.=13(*)<9:S*+-)e,W.)&mI5TU(L,5639y6=)>,?+A@B&C-DE)Z4z)76=CMI:9:CX1Z&=,/.YG:.fCM$u,S*$*C-4*6I:17)>.=.YI/6f)>$OnNC-6=I?$*DE)7$N&<[\CAT
&=(*)4
6I:1)<..I?6 V )<1I?DE)<.UIjn/)76=+MIN,?9:)<9Z,?$NcZ&C-DE)f9*S*6C-$*ie.Yc:.Y&)7D)7qO)<1S:&=CMI/$9:S*)&IZIjn?)76=6=S*$ V ce&=(*)b+-Ij8K)<.0&K4*6C-I?6=CM&0c
&3,?.Gz[:CM&8I?S*+X9 V )mn?)>6c9:C 17S*+A&P&=Id4*6=)>9:CX1 &P8P(*CX13(&=,?.G8I?S*+X9DeCX.=.^CA&3.9:)>,/9:+-CM$*)/Q
aiO}~(*C-+-)p.13(*)<9:S*+-CM$
ie,e.Y)7&PI5T6=)>,?+A@B&C-DE)4z)76=C-IO9*C-1b&=,/.YG:.8P(*I/.)f&=,/.YGd4z)76=CMI:9*.^,?6)f(
,56=DEI?$*CX17,?+M+-cE6)>+-,5&)<9\[O&(*)HS*4
4L)>6
V I?S*$L9I/$k&=(*)p,?13(
CM)>no, V +-)  S:&C-+-CM<,j&C-I?$CX.^&(*)p.=,5DE)fTaI?6 V I5&=(l fr,5$L9g y| ,5+-i?I?6=CM&(*Dd.
a(L#%$s,W$*I/$:@B4
6)>)7DE4:&C-n?)E)>n?)7$N&@9:6=C-n?)7$y&=,/.YGx.13(*)<9:S*+-)76<[J.=13(*)>9:S
+MC-$*i_9:)<1CX.YC-I?$
.m,?6)EDd,?9*)dI?$*+-c{,5&f&=(*)k,?66=CMnj,?+2,?$
9
17I?DE4*+-)&C-I?$WI?TJ&=,/.YG:.>Q
CX^(*)pTaI?+-+MIj8PC-$*idCX.^&(*)Z1I?6=6=)>1 &,?663,5$*i/)7DE)7$N&PI5T2&=(*)m&(
6)>)mDE,50I?6b17+-,/..)>.^I?T6)<,5+M@h&=CMDE)m.13(
)>9:S*+-C-$*ik,5+-i?I/6CM&(
DE.^C-$
,/.17)7$
9:C-$*iEI?639:)>6I?T&=(*)7C-6P6=S*$:@B&C-De)mIjn/)76=(*)>,/9*.>Q
.Y&=,5&CX1H4*6C-I?6=CM&0cd4*6)>)7DE4:&=CMn/)H.=13(*)<9:S*+-CM$*id,?+Mi/I?6=CA&=(*Dd.
&3, V +-)@%9:6=CMn/)7$W,5+-i?I?6=CM&(*Dd.
9:cO$
,?DEC-1H4*6=C-I?6=CA&0c,?+Mi/I?6=CA&=(*Dd.
^(*)K fr.=13(*)<9:S*+-CM$*i,?+Mi/I?6=CA&=(*D$
)7)>9
.\&ITa6)<`/S
)7$N&+-c)7q*,5DECM$
)2&(*)K6)<,?9:cf`/S
)7S*)FI?TO&(*)&3,?.G:.J,j&6)>i?S*+X,56\C-$N&)76=nj,5+X.
&=I9:)&=)76=DeC-$*)H8P(*CX13(&=,?.Gk.(*I?S
+-9.0&3,56&P6S*$
$*CM$
id$*)qO&>Q
G:#%$g _| .13(*)<9:S*+-CM$
i
[NCATJc/I?SdI V .Y)>6n/)P&(
)f.)>`NS*)>$
1)C-$k8P(
C-13(k,Z.Y)7&I?T]4L)>6C-I:9:CX16=)>,5+M@B&C-De)b&=,/.YG:. < F [O H [QMQ-Q^$
,?6)d&3,5G/)7$tS*4tTaI?6')7q:)>1S*&C-I?$][2&=(*)&3,?.Gx)7q:)>1S*&C-I?$s4
,5&Y&)>6$8KI/S*+-9t6)>4L)<,j&')>n?)76=c  t;  F 7  H 7   7  pC-$N&)76=nj,5+B[
8P(*)>6)  C-.^&=(*)m4z)76=CMI:9I5T&(*)H&3,?.G Q
+X}~(*C-+-).13(*)<9:S*+-CM$
i,W.)&mI5TCM$
9*)74z)7$
9:)>$N&p(
,5639y6=)>,?+A@B&C-DE)Z4z)76=C-IO9*C-1Z&=,/.YG:.fI?$u,S*$*C-4*6I:17)>.=.YI/6>[]g y| 17,5$ V ),/.
4*6=I5;z1C-)7$N&,?.P frtS
$
9:)76.I?DE)m1I/$
.Y&63,5C-$/&3.I?$&(*)H&3,?.Gk.)&>Q
Ddr
I?6d.13(
)>9:S*+-C-$*i{6=)>,?+A@B&C-DE)&3,?.GO.eC-$4*63,?1&CX17,?+S
$*CM4
6I:1)<..I?6 V ,?.)>96)<,5+M@h&=CMDE).Yc:.Y&)7Dd.>[U.S V @I?4:&=CMDd,5+^(*)>S*6=C-.Y&CX1
.=13(*)>9*S*+MC-$*iH,5+-i?I/6CM&(*Dd.,56=)U$*I/6Dd,?+M+-cHS
.Y)<9',/.JI/4:&C-Dd,5+:.13(
)>9:S*+-C-$*if,?+Mi/I?6=CA&=(*Dd.,?6)1I/De4
S:&=,5&C-I?$
,?+M+-cHCM$N&63,?1&=, V +M)/Q
a$L^(*)mg y| .=13(*)<9:S*+X, V C-+MCM&0cEI5T2,'.)&PI5TJ4z)76=C-IO9*C-16)<,5+M@h&=CMDE)&=,/.YG:.K8KI/S*+-9 V )H(*C-i?(
)76^CAT&(*)>CM6^4z)76=CMI:9*.^,?6)(
,56=DEI?$*CM@
1>,5+-+Mc6=)7+X,j&=)>91I/De4L,56=)>9k&Ie&(*)p1>,?.)H8P(*)76=)f&(*)>CM6P4z)76=CMI:9*.b,56=)$*I?&6)>+-,5&)<9\Q
aIOkg y| .(*I/S*+-9 V )f4*6=)Ta)76=6=)>9dIjn/)76F&=(*)f&C-DE)@%.Y+-C-17)>9d6=I?S
$
9O@6I V CM$,5+-i?I?6=CM&(*D TaI?6P.=13(*)>9:S
+MC-$*iZ,Z.Y)7&I?T.I5T&^6)<,5+M@h&=CMDE)
&3,?.GO.^I/$,eS*$
CM4*6=I:1)<..I?6<Q
a4L b$
9:)76eg _|'[J&=(*),/13(*CM)>nj, V +-)dS:&C-+-CM<,j&C-I?$I5T,_.)&'I?T^(L,5639u6)<,5+M@h&=CMDE)d4z)76=CMI:9:CX1E&=,/.YG:.'8KI/S*+-9s9*6I/4x8P(
)7$s&3,?.G
4z)76=CMI:9*.P,?6)HDZS*+A&=CM4
+M)<.PI5T2)>,/13(kI5&=(*)7617I?DE4
,?6)<9&=IZ&=(*)p17,/.Y)H8P(*)>$&(*)>c,56=)f$*I5&<Q

;
;
;

9*

Version 2 CSE, IIT Kharagpur

h`Og y| .=13(*)<9:S*+-CM$*iI5T^,.)&HI5T6)<,5+M@h&=CMDE)Z4L)>6C-I:9:C-1Z&3,?.GO.S


.CM$
ik&=(*) ]C-Sx,?$
9 ,ocN+X,5$L9y16=CM&)76=C-I?$_DEC-i?(N&f4
6I:9:S
17)
C-$:Ta)>,/.YC V +-)p.13(
)>9:S*+-)>.^8P(
)7$&(*)f&3,?.Gk4z)76=CMI:9*.P,?6)H9:CMz)>6)>$/&PTa6=I?D &(*)H&3,?.Gk9:)>,/9:+-CM$*)<.7Q
a6 k|..S*DE)d&(L,j&Z,&3,?.G{.)&Z1>,5$ V ).13(*)<9:S*+-)>9uS*$L9:)76'g _|,?$
9x)7n?)>6cy&=,/.YG{De)>)&3.pCM&=.p17I?6=6)<.Y4zI?$
9*CM$*il9:)<,?9:+-C-$*)
8P(*)>$k$*I'&=,/.YGE.Y)>+AT.YS
.4z)7$
9*.>Q2#%$d&(
C-.^.cO.Y&)>DW[O,p&=,/.YGeDECMi/(/&^DEC-.=.KCA&3.K9:)<,?9:+-C-$*)b8P(*)>$,'(*CMi/(*)76K4*6=CMI/6CM&0c'&3,?.Gd.Y)>+AT
.S
.4L)>$
9*.^TaI/6.YI/De)f;
$
CA&=)p9:S*63,j&C-I?$JQ
h.=#%$l,e$*I?$
4*6)>)7DE4:&=CMn/)H.=13(*)<9:S*+-)76<[*.13(*)<9:S*+-CM$
iE9*)>1CX.CMI/$
.P,56=)Dd,/9:)mI?$*+-ck,5&&=(*)p,56=6=CMnj,5+],?$
91I?DE4*+-)&=CMI/$I?T&3,?.G:.7Q
&3| &=CMDE)p.+MCX1)<96=I?S
$
9k6=I V CM$W.13(
)>9:S*+-)76PSL.Y)<.^4*6)>)7DE4:&=CMn/)H.=13(*)<9:S*+-CM$*iLQ
aSL#&CX.P$*I?&^4zI/.=.C V +-)f&Id(
,on/)f,d.c:.0&=)7D &=(
,j&CX.P.=,jTa)m,5$
9W,5&&=(*)p.=,5DE)f&C-De)mCX.PS*$
6)>+MCX, V +-)?Q
n: U6)<1)>9*)7$
17)I/6=9:)>6C-$*ie,5DEI?$*iE,E.Y)7&PI5TJ&3,?.G:.KCX.^)>.=.)7$N&CX,5+-+Mc9*)&)>6DEC-$*)>9 V cE&(*)p9
,j&=,e9:)>4L)>$
9:)7$L1c,?DEI?$*i'&(*)>DQ
a8b}~(*)>$y,k.)&I5TF4z)76=CMI:9:CX1m6=)>,5+M@B&C-De)p&=,?.G:.b,?6) V )7C-$*ik.=13(*)<9:S*+-)>9lI/$_,dS*$*C-4*6=IO17)>.=.YI/6S
.CM$
ig _| .13(
)>9:S*+-C-$*i
[z,5+-+
&3,?.GO.^8I?S
+-9.Y(
Ij8.CMDEC-+-,?61I?DE4*+-)&=CMI/$k&=CMDE)^0CM&Y&=)76<Q

QP}~(
,j&m9:Ic?I/S_S*$
9:)>6=.Y&=,?$
9 V cu7Q V*3 R: O 
jLI5TK,&=,?.G_.=13(*)>9:S
+MC-$*iW,5+-i?I?6=CM&(*

D wIj8 ,56=)p&(
)E.=13(*)<9:S*+-CM$*i4LI/CM$N&3.
9:)&=)76=DECM$*)<9C-${CX1+-I:13GN@9:6=C-n?)7$J[zCMCK)7n?)>$N&Y@%9:6C-n?)>$][aC-CMCK(Nc V 6=CX9.13(
)>9:S*+-)763. WIj8 8PC-+M+c/I?S*6^9:);L$*CA&=CMI/$I?T.=13(*)>9:S
+MC-$*i
4LI/CM$N&3.bTaI/6b&=(*)e&(*6=)7)E1+X,?.=.)>.I5TK.=13(*)>9*S*+M)>6=.f13(
,?$*i?)Z8P(*)7$v,/f.)7+MT@.S
.4L)>$
.CMI/$_I5TF&3,?.G:.7[],?$
9 V f1I?$N&=)qO&H.8PCM&=13(*C-$*i
Ijn?)>6(*)<,?9*.KI5T&=,/.YG:.P,56=)f&=,?G?)7$C-$/&=Id,?1717I?S*$N&<Q
#LQP#09:)7$N&=CATacm&=(*)P1I/$
.0&=6=,?CM$N&3.]&=(
,j&F,f.Y)7&I?TL4z)76=CMI:9:CX1U6=)>,?+A@B&C-DE)U&3,?.G:.$
)7)>9'&IH.=,j&CX.YTacHTaI?6Fg _|&=I V )P,5$'I/4:&C-Dd,5+*.=13(*)>9*S*+M)>6
TaI?6^&=(*)p.Y)7&PI5T&=,?.G:.
(*QgP)>,?+A@B&C-DE)f&=,?.G:.P,56=)$
I?6=DE,?+M+-ck17+-,/..CA;L)>9CM$N&IE4z)76=CMI:9:CX15[L,54z)76=CMI:9:CX15[*,?$
9.4zI?63,?9:CX1b6=)>,?+A@B&C-DE)f&=,?.GQ
,N}~(
,5&',56=)'&=(*) V ,/.YCX1E16=CA&=)76=C-, V ,?.)>9{I?$x8P(*CX13(x,6=)>,?+A@B&C-DE)'&3,?.Gy17,?$ V )9:)&=)76=DECM$*)<9_&=I V )>+MI/$*i&IWI?$*)EI?TK&=(*)
&=(*6)>)p17,5&)7i/I?6=CM)<.
V #09:)>$N&CMTac.I?DE)m13(
,563,?1&)76=CX.0&=C-1>.U&=(
,j&,?6)HS*$*CX`NS*)H&IE)<,?13(I5T&(*)H&=(*6)>)m17,j&=)7i/I?6=CM)<.KI?TJ&3,?.GO.>Q
1> fC-n?)H)q*,?De4
+M)<.^I5T&=,?.G:.^CM$W4*63,?1&CX17,?+.c:.0&=)7Dd.^8P(*CX13( V )>+MI/$*ie&IE)>,/13(I?T&=(*)H&(*6=)7)m1>,j&)>i?I/6C-)>.>Q

QP}~(
,j&U9*Ifc/I?SeS*$
9:)>6=.Y&=,?$
9 V c',5$EI?4*&C-DE,?+
.=13(*)>9:S
+MC-$*im,5+-i?I/6CM&(*
D k#0.CM&&6=S*)^&(
,5&&(*)^&=CMDE)b17I?DE4*+-)q:CM&0cpI5T\,5$eI?4:&=CMDd,?+
.13(
)>9:S*+-C-$*i,?+Mi/I?6=CA&=(*DTaI/6f.=13(*)<9:S*+-CM$*i,k.)&HI5TF6=)>,?+A@B&C-DE)p&=,/.YG:.CM$x,S*$
CM4*6=I:1)<..I?6C-.4*6=I?(*C V CM&C-n?)7+-cW)q:4z)7$
.CMn/)p&=I V )
I5T2,5$Oc4*63,?1&CX17,5+S
.) _q:4*+X,5C-$c/I?S*6,?$
.Y8)76<Q
 QP}~(
,j&'9*Ilc?I?SxS*$
9*)763.0&3,5$
9 V c0CM&Y&=)76',/..I:1CX,j&)<9y8PCM&(t,W4z)76=C-IO9*C-1e&3,?.G Ij8 ,56=)Z&=(*)>.)H0CM&Y&)>6=.Z17,?S
.Y)<9 bIj8 1>,5$
&(*)>c V )mIjn?)7631I/DE)
*
QbOS*4*4zI/.)d,l.Y)7&pI5TK&(*6=)7)d4z)76=CMI:9:CX1e&=,/.YG:.HCX.f&I V ).13(
)>9:S*+-)>9xS
.C-$*il,l1c:1+-C-1E.=13(*)>9*S*+M)>6mI?$s,S*$*C-4*6=IO17)>.=.YI/6>Qd|..S*DE)
&(
,5&&=(*)  S:&C-+-CM<,j&C-I?$x9:S*)e&I&(
)'&=(*6)>)'&=(*6=)7)Z&=,?.G:.fC-.f+-)>.=.b&=(
,5$ Qp|b+-.I
[],/..S*DE)'&=(
,j&fTaI?6H)<,?13(_I?TU&(
)'&=(*6)>)
&=,/.YG:.>[&(*)_9*)>,?9*+MC-$*)>.e)<`/SL,5+X.e&(*)W6=)>.4L)<1 &C-n?)W4z)76=CMI:9*.>Q~OS*4*4zI/.)&(
,5&E8)l,56=), V +-)&=Ix;
$
9v,5$w,54*4*6=I?4
6CX,j&=)kTa63,5DE)
.YC-7)Wa8PCM&(
I?S:&p(
,onOC-$*i&Il.4*+MCM&p,5$Oc_I?TU&(
)E&=,?.G:.=&(L,j&'.=,j&CX.Y;
)>.&(
)E&(*6=)7)d1I/$
.Y&63,5C-$/&3.fI5TKDEC-$*C-DeC->,5&C-I?$xI5T^1I?$N&=)qO&
.Y8PCM&=13(
)>.>[*DECM$*C-DECM<,j&=CMI/$I?T2.=13(*)<9:S*+-)H&=, V +M)p.CM>)?[
,?$
9l.=,j&CX.YT,?1 &=CMI/$I?T29*)>,?9*+MC-$*)>.>Q IO)>.^&=(*CX.PCMDE4*+-c&(
,5&bCA&CX.P4zI/.=.YC V +-)
&I,/..)76&^&(
,5&b8K)p1>,5$WTa)<,?.C V +-c.=13(*)<9:S*+-)H&(*)m&=(*6=)7)H&=,/.YG:.PSL.YC-$*iE&(
)'1c:1+-CX1m.13(*)<9:S*+-)76 _#Tc/I?Sl,5$
.8)76, d6=Dd,j&C-n?)>+Mc/[
&(*)>$l4*6=Ijn?)mc?I/S*6b,?$
.Y8)76<Q^#TFc?I/S_,5$
.8K)>6P$*)7iN,j&=CMn/)7+-c?[*&=(*)7${.Y(*Ij8 ,?$l)q*,5DE4*+-)pC-$Nn/I?+-nOCM$*iE&=(*6=)7)m&3,?.GO.P&(
,5&f9:CX.Y4
6Ijn/)>.
&(*)p,/..)76&C-I?$JQ
 Q K+-,/..CMTacE&(*)m)7qOCX.Y&C-$*ie,?+Mi/I?6=CA&=(*Dd.KTaI?6.=13(*)>9:S
+MC-$*ie6)<,5+M@h&=CMDE)f&=,/.YG:.CM$N&=IE,ZTa)>8 V 6=I/,/9k1+X,?.=.)>.>QFqO4
+-,?CM$&(*)HC-DE4LI/6Y&3,5$N&
Ta)>,5&S*6=)>.^I?TJ&(
)>.) V 6IN,?91+X,?.=.Y)<.^I5TJ&3,?.Gk.=13(*)>9:S
+MC-$*id,5+-i?I/6CM&(*Dd.>Q
*Q KI?$
.CX9:)76^,'6=)>,?+A@B&C-DE).c:.0&=)7D 8P(*CX13(17I?$
.C-.Y&=.KI5T&(*6=)7)&=,/.YG:.KG Fo[OO H5[*,5$L9 N [O8P(*CX13(k(
,on/) V )7)>$13(
,?6=,/1 &=)76=CM>)>9EC-$k&=(*)
TaI?+-+MIj8PC-$*iZ&=, V +M)/Q


Version 2 CSE, IIT Kharagpur

,/.YG F(
,/.Y) Fq:)>1S*&C-I?$&C-De) gP)7+X,j&=CMn/)0b)<,?9:+-CM$
) 2)76=C-IO9
DO)<1
DO)>1
DO)>1
DO)>1
F
J5
J5
J?

IH
#/
(5
(?

IH
J?
*?
*/

#T*&(
)K&3,?.G:.,?6)U&I V )^.=13(*)<9:S*+-)>9pSL.YC-$*iH,&3, V +-)@%9:6=CMn/)7$'.=13(*)>9*S*+M)>6>[j8P(L,j&2C-.&=(*)^+M)>$*i5&=('I5TL&C-DE)KTaI/68P(
C-13(Z&(*)P.=13(*)>9*S*+M)<.
(
,on?)&I V )p.0&=I?6=)>9CM$&=(*)m4*6=)>1I/DE4*S:&)<9.=13(*)<9:S*+-)H&=, V +M)HI5T&(
)p.13(*)<9:S*+-)76<Q
/ Q^#0.Z r ,?+Mi/I?6=CA&=(*DS
.Y)<9uTaI?6E.=13(*)>9:S
+MC-$*iy6=)>,?+A@B&C-DE)&3,?.GO.Z,{9*cN$L,5DEC-1k4*6=CMI/6CM&0cx.=13(*)<9:S*+-CM$*ix,5+-i?I/6CM&(*
D bIO)<.e r
1I/De4
S:&)E,5$Ocl4*6=CMI/6CM&0cWnj,5+-S*)EI5TU&3,?.G:.,?$NcW&=CMDE) #Tc?I/S{,5$L.Y8)76H, d6=DE,5&C-n?)>+Mc/[&(*)>${)7qO4
+-,?CM${8P(*)7$xC-.&=(*)E4*6C-I?6=CM&0c
1I/De4
S:&)<9y,5$L9_(*Ij8 CX.fCA&p17I?DE4*S:&=)>9\Qp#Tc?I/S{,5$L.Y8)76$*)7iN,j&C-n?)>+Mc/[\)q:4*+X,5C-$y8P(
,5&fCX.&(*)d17I?$
17)74:&HI5TU4
6C-I?6=CA&0cWC-$x r
&(*)>$]Q
J:Q^}~(
,j&C-.F&(*)f.YS d17CM)>$N&1I/$
9:CM&C-I?$ETaI/6K fru.13(
)>9:S*+X, V CM+-CA&0ceI5TJ,'.Y)7&KI5T\4z)76=CMI:9:CX1P&3,?.G:.F8P(*IN.Y)4z)76=C-IO9d,?$
99:)<,?9:+-C-$*)b,56=)
9:CMz)>6)>$/& KI?$
.Y&6=S
1 &F,?$e)7q*,5DE4*+-)C-$On?I/+MnOC-$*im,f.)&FI?TL&=(*6=)7)^4L)>6C-I:9:CX1&=,?.G:.28P(*I/.)^4L)>6C-I:9E9:CA)76FTa6I/D &(*)>CM6U6)<.Y4z)>1&C-n?)
9:)>,/9:+-CM$*)<..S
13(&(
,5&&(*)'&=,/.YG.Y)7&T,5C-+-.P&(*)'.S 1C-)7$N&17I?$
9*CA&=CMI/$_,5$
9c?)7&bCX. fr.=13(*)<9:S*+X, V +-)?Q )76=CATacc?I/S*6,5$L.Y8)76<Q
O(*Ij8 ,5+-+\c?I?S
6C-$N&)>6DE)>9*C-,5&)p.Y&)74L.7Q
*QP|4
6)>)7DE4:&C-n?)H.Y&=,j&=C-1b4*6=CMI/6CM&0cE6)<,5+M@h&=CMDE)&3,?.G.13(
)>9:S*+-)76CX.KSL.Y)<9d&IE.=13(*)>9:S
+M)b&08KIe4L)>6C-I:9:CX1P&=,/.YG:.G FP,?$
9O H8PCA&=(k&=(*)
TaI?+-+MIj8PC-$*iE13(
,563,?1&)>6CX.0&=C-1>.7
,/.YG F(
,/.Y) Fq:)>1S*&C-I?$&C-De) gP)7+X,j&=CMn/)0b)<,?9:+-CM$
) 2)76=C-IO9
DO)<1
DO)>1
DO)>1
DO)>1
F

J5
J?

IH

J?
(5
(?
|b.=.YS
De)b&(
,5& F (
,?.K(*C-i?(*)>6K4
6C-I?6=CA&0ce&=(
,5$ H QF| V ,/13GOi?6=I?S*$
9Z&3,?.G,56=6C-n?)<.F,j&&C-DE)fZ,5$
9k8KI/S*+-96)<`/S
CM6=) ???DO)>1
&Ik17I?DE4*+-)&=)?Q KI?DE4*S:&=)m&(
)Z1I/DE4*+M)7&C-I?$&C-DE)'I?T&=(*) V ,?13GOi?6=I?S*$L9&3,?.G,?.=.S*DECM$*iE&=(
,j&H1I/$/&=)qO&.8PCA&313(*C-$*iE&=,?G?)>.$*I
DEI?6=)b&=(
,5$l*Q (ZDO)>1?Q
#
QP|b.=.YS
De)&(L,j&,e4*6)>)7DE4:&=CMn/)4*6=C-I?6=CA&0cN@ V ,?.)>9d.c:.0&=)7D17I?$
.C-.Y&=.I?T]&08KIe4z)76=CMI:9:CX1TaI?6=)7i?6=I?S
$
9E&=,/.YG:.G Fo[:O Hj[*,?$
9k N 8PCM&(
&(*)HTaI/+M+-Ij8PC-$*ie13(L,563,?1 &=)76=C-.Y&CX17.>
,?.G F(
,/.Y) FqO)<1S:&=CMI/$k&=CMDE) gP)7+X,j&=CMn/) )>,/9:+-CM$*) 2)76=CMI:9
DO)>1
Dd:)>1
DO)>1
DO)<1
F

J?
?
/
O H

/
(5
(?
N

/
/?
?/
G F(
,?.U(*C-i?(*)>6U4*6=CMI/6CM&0cZ&(
,?$O H,5$
9I H(
,?.K(*C-i?(*)>6U4*6=CMI/6CM&0cp&=(
,5$k N Q| V ,/13GNi/6I/S*$
9'&=,/.YGd V ,56=6=CMn/)>.F,5&U&C-DE)p,?$
9
8KI/S*+X9d6)<`NS*CM6==) J??/5DO)>1P&IE1I?DE4*+-)&=)?Q KI/De4
S:&)&(*)H1I/DE4*+M)7&C-I?$k&C-De)HI?T]&(*) V ,/13GNi/6I/S*$
9e&3,?.GE V ,?.=.S*DECM$*i'&(
,5&
1I/$/&=)qO&.Y8PCM&=13(
CM$*ie&=CMDE)H&=,?G?)<.^$*IEDeI/6)f&=(
,5$ DO)>1?Q
(:QP|1c:1+-C-1E6=)>,?+A@B&C-DE)e.=13(*)<9:S*+-)76mCX.H&I V )dS
.Y)<9{&Il.13(
)>9:S*+-)e&(*6=)7)d4z)76=C-IO9*C-1Z&=,/.YG:.HG Fo[O Hj[,?$
9x N 8PCM&(x&(
)ETaI?+-+MIj8PC-$*i
13(
,563,?1&)>6CX.0&=C-1>.7
,/.YG F(
,/.Y) Fq:)>1S*&C-I?$&C-De) gP)7+X,j&=CMn/0) b)<,?9:+-CM$
) 2)76=C-IO9
DO)<1
DO)>1
DO)>1
DO)>1
F

J?
?
?
I H

J?
*?
*/
H

/
(5
(5
#/

Version 2 CSE, IIT Kharagpur

OS*i/i?)>.Y&P,d.YS*CM&=, V +-)Ta63,5DE)m.CM>)H&(
,5&P1>,5$ V )mS
.Y)<9\QFO(*Ij8,5+-+\CM$N&=)76=De)<9:CX,j&)m.Y&)>4
.PC-$c/I?S*61>,5+X1S*+X,j&=CMI/$
.7Q
*Q KI?$
.CX9:)76&(
)HTaI?+-+MIj8PC-$*id.Y)7&PI5T&(*6=)7)HC-$
9:)74z)7$L9:)7$N&b6=)>,?+A@B&C-DE)4z)76=CMI:9:CX1f&=,/.YG:.>Q
,/.YG N&=,?6Y&@h&=CMDE)daDO)<1> F6=I:1)>.=.CM$*i?@h&=CMDE)eaDO)>1< 2)>6C-I:9yDd:)>1> b)<,?9:+-C-$*)/Dd:)>1>
F
J5
J9(
(5
?
O H
#/
(5
?

O N
?
(5
J5?
(5
OS*4*4zI/.),_17cO17+MCX1d.=13(*)>9:S
+M)>6pC-.p&I V )S
.)>9x&=I_.13(*)<9:S*+-)d&(
)d&=,/.YGx.Y)7&>Q}~(
,j&'CX.m&=(*)Dd,j0I/6'1c:17+M)dI?T&=(*)d&3,?.G{.)&
OS*i/i?)>.Y&b,d.S*CA&3, V +-)mTa63,5DE)p.CM>)p,5$
9W4*6=IjnOC-9*)H,dTa)>,?.C V +M)p.=13(*)<9:S*+-)k&3,?.G&ITa6=,?De)p,/..C-i?$*DE)7$N&PTaI/6b,EDd,j0I?61c:1+-)<TaI/6
&(*)H&3,?.Gk.)&>Q
 Q KI?$
.CX9:)76&(
)HTaI?+-+MIj8PC-$*id.Y)7&PI5TTaI?S*6PC-$
9:)>4L)>$
9:)7$N&b6=)>,?+A@B&C-DE)4z)76=C-IO9*C-1f&3,?.GO.>Q
,?.G O&=,56&Y@B&C-DE)aDO)<1> U6I:17)>.=.YC-$*i5@B&C-DE)eDO)>1< 2)76=C-IO9{aDO)<1>
F
J5
J(
(5
O H
#/

(?
N
J5
(?
(
I P
?
(?
J??
|b.=.YS
De)&(L,j&^&=,/.YGd N C-.DEI?6=)f176CM&CX17,?+
&=(
,5$&=,/.YGdO H?Q K(
)>13Gd8P(*)7&(*)>6K&=(*)f&=,/.YG.)&P17,?$ V )Ta)<,?.C V +Mc.=13(*)>9*S*+M)<9S
.C-$*i
g _|'Q
**Q^}~(
,j&FCX.2&=(*)8I?63.0&F17,/.Y)P6=)>.4zI?$
.)&C-De)bI5Tz&(*) V ,?13GOi?6=I?S*$L9m&=,/.YGZI5T\,m.Yc:.Y&)>D C-$e8P(
C-13(E&=(*) V ,?13GOi/6I/S*$
9'&=,?.Gp6=)>`NS*C-6)<.
/?DO)<1Z&I_1I/DE4*+M)7&)/Qe^(*)>6)d,?6)Z&08KITaI/6)>i?6=I?S*$
9l&=,?.G:.7Qd^(*)E(*C-i?(
)76H4*6=CMI/6CM&0cWTaI?6=)7i/6I/S*$
9l&3,?.G_)q:)<1S:&=)>.HI?$L1)
)7n/)76=c /5DO)>1m,?$
9W)>,/13(&C-De)'6)<`/S
CM6=)>!. J (jDO)<1f&Ik17I?DE4*+-)&)/QP^(*)m+MIj8)76b4*6C-I?6=CM&0cdTaI?6=)7i/6I/S*$
9&=,/.YG)q:)>17S:&)<.I?$L1)
)7n/)76=$c (5eDO)>1H,5$L96=)>`NS*C-6=)>. (ZDO)>1f&=Id1I?DE4*+-)&=)?Q KI/$/&=)qO&.Y8PCM&=13(
CM$*iE6=)>`NS*C-6)<.$*IdDEI?6=)&=(
,5$ DO)>1?Q
 Q KI?$
.Y&6=S
1&,5$)q*,5DE4*+-)bC-$On?I/+MnOC-$*i'DEI?6=)&=(
,5$I?$*)f(
,?6=9d6=)>,?+A@B&C-DE)4z)76=C-IO9*C-1&=,?.Gd8P(*IN.Y)f,5i?i/6)>i/,5&)P4*6=I:1)>.=.I?6US*&C-+MC->,5@
&C-I?$C-. [*,5$L9kc/)&b.=13(*)>9:S
+-, V +M)HS*$L9:)76g y|pQ
J?*QPq:4*+X,5C-$x&(*)k9*CA)76=)7$
17) V )&08)7)7$s17+MI:13GN@9*6C-n?)>$][J)>n?)7$N&@9:6=C-n?)7$J[,5$L9u(Nc V 6=CX9x.=13(*)<9:S*+-)763.HTaI?6p6=)>,?+A@B&C-DE)E&=,/.YG:.>Q}~(*CX13(
&0cO4L)eI5TU.=13(*)>9*S*+M)>68I?S
+-9 V )e4*6=)Ta)76=6=)>9WTaI/6f.=13(*)>9*S*+MC-$*i&(*6=)7)Z4L)>6C-I:9:CX1p&3,?.GO.C-${,5${)7D V )<9*9:)>9{,54*4
+MCX17,5&C-I?$]Q S
.0&=CATac
c?I/S*6P,5$
.8K)>6>Q
J #Q b)7&)>6DEC-$*)'8P(*)7&(*)>6b&=(*)ZTaI?+-+MIj8PC-$*ik.)&fI5TF4z)76=CMI:9:CX1m&3,?.GO.bC-.f.=13(*)>9:S
+-, V +M)ZI?$y,S*$*C-4*6I:17)>.=.YI/6bS
.CM$
i _|K b)<,?9:+-C-$*)
lI?$
I5&I/$*CX1|b+Mi/I?6=CA&=(*D QUO(*Ij8 ,5+-+]C-$/&=)76=DE)>9:CX,j&=)H.Y&)>4
.^C-$c/I?S*6P17I?DE4*S:&3,j&C-I?$JQ
,/.YG N&=,?6Y&@h&=CMDE)daDO)<1> F6=I:1)>.=.CM$*i?@h&=CMDE)eaDO)>1< 2)>6C-I:9yDd:)>1> b)<,?9:+-C-$*)/Dd:)>1>
G F
J5
J9(
(5
#/
H
?
?
#/

N
#/
J5
J5?
J5
P
J9(
*?
J9(

J(J:Q KI?$
.CX9:)76&(
)HTaI?+-+MIj8PC-$*id.Y)7&PI5T&(*6=)7)HC-$
9:)74z)7$L9:)7$N&b6=)>,?+A@B&C-DE)4z)76=CMI:9:CX1f&=,/.YG:.>Q
,/.YG N&=,?6Y&@h&=CMDE)daDO)<1> F6=I:1)>.=.CM$*i?@h&=CMDE)eaDO)>1< 2)>6C-I:9yDd:)>1> b)<,?9:+-C-$*)/Dd:)>1>
F
J5
J9(
(5
?
O H
#/
(5
?

N
?
(5
J5?
(5
#

Version 2 CSE, IIT Kharagpur

b)7&)>6DEC-$*)d8P(*)&=(*)76'&(*)&=,?.G{.)&pCX.p.=13(*)>9*S*+-, V +-)dI?$t,WS*$*C-4*6=I:1)>.=.I?6HS
.CM$*i_ rQ2O(*Ij8,5+-+FCM$N&=)76=De)<9:CX,j&).Y&)>4
.pC-$
c?I/S*6P1I?DE4*S*&=,j&=CMI/$]Q
J9*Q#b)7&)>6DEC-$*)'8P(*)7&(*)>6f&(*)ZTaI?+-+MIj8PC-$*ik.)&HI5TF4z)76=C-IO9*C-1Z6)<,5+M@h&=CMDE)m&3,?.G:.bCX..=13(*)<9:S*+X, V +-)'I/${,S
$*CM4
6I:1)<..I?6bS
.YC-$*ig _|pQ
O(*Ij8 &(*)dC-$N&)76=DE)>9:CX,j&=)d.0&=)74
.HC-$uc?I?S
6p1I?DE4*S*&=,j&=CMI/$]QE#0.pg _|I/4:&C-Dd,5+8P(*)>$x&(*)E&3,?.Gy9:)>,/9:+-CM$*)<.p9:CMz)>6HTa6I/D &=(*)
&=,/.YG4z)76=C-IO9
.
,/.YG N&3,56&Y@B&C-De)dDd:)>1> F6=I:1)<..CM$
i5@B&C-De)eaDO)<1> 2)76=CMI:9yDO)>1< )>,?9*+MC-$*)aDO)<1>
G F
J?
J9(
(?
?
O H
#N
#/
#/

O N
/
?
(5

P
J(
?
J5

J2#
Q KI?$
.Y&6=S
1&K,5$d)7q:,?DE4*+M)CM$On/I?+-nNC-$*iH&08Ip4z)76=CMI:9:CX16=)>,?+A@B&C-DE)P&=,/.YG:.2TaI/6K8P(*CX13(17,?$ V )Ta)>,/.YC V +-ce.=13(*)<9:S*+-)>9 V c V I?&(g _|
,5$
9y frK[ V S:&H&(*)E.13(
)>9:S*+-)ei?)7$
)763,j&)<9 V c_g _| 9:CMz)>6=.Ta6=I?D &(L,j&Hi?)7$
)763,j&)<9 V c_ frQ b63,o8&(*)Z&08I.=13(*)>9*S*+M)<.
I?$W,Z&C-De)m+-C-$*)p,5$
9(*C-i?(*+-C-i?(N&(*Ij8 &=(*)H&08Ie.=13(*)>9*S*+M)<.P9:CMz)>6>Q KI/$
.YCX9:)>6^&(*)H&08Ie&=,?.G:.P.YSL13(k&=(
,j&PTaI/6P)>,?13(&=,/.YG
,Nd&=(*)m4L)>6C-I:9C-.&=(*)p.,?DE)H,/.P9:)>,/9:+-CM$*)
V 4z)76=CMI:9CX.P9:CA)76=)7$N&PTa6=I?D9*)>,?9*+MC-$*)
J (:Q 6C-5) L
cf)q:4*+X,5C-$p8P(*C-+-)K.=13(*)>9:S
+MC-$*i,.Y)7&I?T*(
,5639m6=)>,5+M@B&C-De)U4L)>6C-I:9:C-1U&=,/.YG:.>[>8P(Ocmg _|v17,?$p$*I?&,?13(
CM)>n?) ? 4*6=I:1)>.=.I?6
S:&C-+-CM<,j&C-I?$8PCM&(*I/S:&DEC-.=.YC-$*ie&=,/.YG9:)>,/9:+MC-$*)<.7Q
J *Q ,5$DZS*+M&C-4*6I:17)>.=.YI/6K6=)>,?+A@B&C-DE)&=,/.YG.=13(*)<9:S*+-CM$*ie,5+-i?I/6CM&(*Dd. V )fS
.)>9.,5&CX.0T,/1 &I/6C-+-ceC-$9*C-.Y&6=C V S:&)<9.c:.0&=)7Dd.7QFqO4
+-,?CM$
&(*) V ,?.C-1P9:CM)76=)7$
17) V )7&08K)>)7$e&(*)13(
,563,?1&)76=CX.0&=C-1>.I?T,H6=)>,?+A@B&C-DE)^&=,/.YG'.=13(*)<9:S*+-CM$*ip,?+Mi/I?6=CA&=(*D TaI/6FD'S*+M&C-4*6=I:1)>.=.I?63.,?$
9
,e6)<,5+M@h&=CMDE)f&=,/.YGk.=13(*)<9:S*+-CM$*id,?+Mi/I?6=CA&=(*DTaI?6,?4*4*+-C-1>,j&C-I?$L.^6S*$
$*CM$
ieI/$9*C-.Y&6=C V S:&)<9.c:.0&=)7Dd.>Q
J  Q KI?$
.Y&6=S
1&^,?$k)q*,?De4
+M)fCM$On/I?+-nNC-$*iZ&(*6=)7)H,56 V CM&63,56=cE6)<,5+M@h&=CMDE)b4z)76=C-IO9*C-1&=,/.YG:.K&I V )H.=13(*)<9:S*+-)>9I?$,eS*$
CM4*6=I:1)<..I?6<[?TaI/6
8P(*I?D &(*)H&3,?.Gk.13(
)>9:S*+-)>.^8I?6=G?)<9I/S:& V ck fr,?$
9g _|8KI/S*+X9 V )p9:CMz)>6)>$/&<Q
J9**Q KI?$
.Y&6=S
1&K,5$d)7q:,?DE4*+M)bCM$On?I/+MnOC-$*iH&(
6)>)4L)>6C-I:9:CX1P6)<,5+M@h&=CMDE)P&3,?.G:.bTaI/6U)<,?13(E&=,/.YG[?&=,?.Ge4L)>6C-I:9d.Y(*I/S*+X9 V ))>`NS
,?+*&I'CA&3.
9:)>,/9:+-CM$*)o8P(*CX13(k8I?S
+-9 V )H.13(*)<9:S*+X, V +-)bS
$
9:)76P r V S*&S*$L.13(*)<9:S*+X, V +-)bS
$
9:)76Pg y|pQ SL.0&=CATacd8P(OcEc?I/S*6K)7q*,5DE4*+-)bCX.
1I/66=)>1&>Q
J  Q KI?$
.Y&6=S
1&K,5$d)7q:,?DE4*+M)bCM$On?I/+MnOC-$*ip,p.)&UI?T](
,5639E6=)>,5+M@B&C-De)P4z)76=C-IO9*C-1&=,?.G:.2&(L,j&,?6)b$*I5&K.=13(*)<9:S*+X, V +-)S*$
9*)76Kg _| V S*&
1I/S*+-9 V )HTa)>,?.C V +Mc.13(*)<9:S*+-)>9 V c _|pQ )>6CMTackc/I?S*6P,?$
.Y8)76<[*.(*Ij8PCM$
ie,?+M+\C-$N&)76=DE)>9:CX,j&=)p.0&=)74
.>Q
/*QP^(*6=)7)m(
,?6=96)<,5+M@h&=CMDE)m4z)76=CMI:9:CX1H&3,?.GO.^ F . (5?DO)>1?[ /5DO)>1?[ /5DO)>1< [* H6.  ?DO)>1?E[ J5/5DO)>1?'[ J5/5DO)>1< [
,?$
9
O N . /5DO)>1?6[ #/??DO)>1?[ #N??Dd:)>1>],56=)&I V )^.13(
)>9:S*+-)>9pI?$',PS
$*CM4
6I:1)<..I?6S
.CM$*ifg _|'Q ,?$m&(*)K&=,/.YGm.)& V )UTa)>,?.C V +Mc
V )Z.13(*)<9:S*+-)>9 OS*4*4zI/.)Z17I?$N&)7qO&.Y8PCM&=13(lIjn/)76=(*)>,/9kI?T DECM+-+-C2O)<1I/$
9*.CX.P&=I V )p&3,5G?)>$lCM$N&=Ik,?1>1I?S
$/&<[L9:)7&)>6DEC-$*)p&=(*)
.13(
)>9:S*+X, V CM+-CA&0c/Q
 Q KI?$
.CX9:)76&(
)HTaI?+-+MIj8PC-$*ie&(*6=)7)H6=)>,?+A@B&C-DE)f4z)76=C-IO9*C-1&=,/.YG:.>Q
,/.YG N&=,?6Y&@h&=CMDE)daDO)<1> F6=I:1)>.=.CM$*i?@h&=CMDE)eaDO)>1< 2)>6C-I:9yDd:)>1> b)<,?9:+-C-$*)/Dd:)>1>
G F
J5
J9(
(5
(5
H
#/
(5
(5

N
?
(5
J5?
J??
,N K(*)<13Gu8P(*)&=(*)76'&(*)&(*6=)7)i?C-n?)>$u&=,?.G:.',?6)k.=13(*)<9:S*+X, V +-)S*$
9*)76Eg _|pQFO(
Ij8,?+M+C-$/&=)76=DE)>9:CX,j&=)k.0&=)74
.ZC-$tc?I/S*6
17I?DE4*S:&3,j&C-I?$JQ


#J

Version 2 CSE, IIT Kharagpur

V |..S*DECM$
iH&(
,5&U)>,/13(e17I?$N&)7qN&F.8PCA&313(ECM$
17S*63.F,5$EIjn?)>6(
)>,?9'I5T DO)>1?[/9:)7&)76=DECM$
)P8P(*)&=(*)76&=(*)^&=,/.YG:.F,?6)P.=13(*)>9*S:@
+X, V +-)mS*$
9*)76g _|'Q
|+X.I
[
9:)7&)>6DEC-$*)f&(*)p,on/)763,5i?)f1I/$/&=)qO&.Y8PCM&=13(
CM$*iEIjn/)76=(*)>,/94z)76PS*$*CM&I5T&=,/.YGk)q:)>17S:&C-I?$]Q
1>|..S*DE)l&(L,j&G Fo[^O H5[P,5$L9w N .)7+MTm.YS
.4z)7$
9vTaI/6 ?Dd:)>15#[ J5uDO)<15[P,5$L9 (jDO)<16)<.Y4z)>1&C-n?)7+-c?Q b)7&)>6DEC-$*)
8P(*)7&(*)>6&=(*)m&=,/.YGW.)&b6=)7Dd,5C-$
..=13(*)<9:S*+X, V +-)mS*$
9:)>6g y|pQL^(
)'1I/$/&=)qO&.8PCA&313(*C-$*idIjn?)>6(*)<,?9I5T Dd.)>1m.(*I?S*+X9
V )Z17I?$
.C-9*)76=)>9CM$lc/I?S*6b6)<.YS*+M&>Q  I/S_17,?$_,?.=.YS*DE)H&=(
,j&f)>,?13(&3,?.GS*$L9:)76=i?IO)>.b.Y)>+ATF.S
.Y4z)7$L.YC-I?$lI/$*+McI?$L1)'9:S
6C-$*i
)<,?13(I5T2CA&3.^)q:)>17S:&C-I?$]Q
9
|..S*DECM$
ip&(L,j&K F ,5$
9d H ,56=)b,?.=.YC-i?$
)>9e&(
)f.=,5DE)4*6=C-I?6=CA&0cenj,5+-S*)?[O9:)&=)76=DECM$*)&(
),?9
9:CA&=CMI/$
,5+9:)>+-,oceCM$k6)<.Y4zI?$
.)
&=CMDE)H&(L,j& H 8KI/S*+X9kC-$
1S
6b1I/De4L,56=)>9d&=IE&(*)p1>,?.)H8P(*)7$&(
)7c,?6)H,?.=.CMi/$*)>99:CX.0&=CM$
1&4*6=CMI/6CM&C-)>.>Q2#%i?$*I/6)f&(
)p.Y)>+AT
.S
.4L)>$
.YC-I?$&C-DE)>.,?$
9&(*)p17I?$N&)7qO&P.8PCM&=13(Ijn?)76=(*)<,?9dTaI/6^&(*CX.P4
,?6Y&PI?TJ&(
)p`/S
)>.Y&C-I?$]Q
a)<|..S*DE)&=(
,j& Fj[OI H5[O,?$
9d N [O)>,/13(d6)<`NS*CM6=)b17)76&=,5C-$16=CM&CX17,5+z.Y)<1 &=CMI/$ 9:S*6=CM$*i'&(*)>CM6^1I/DE4*S:&=,5&C-I?$]Q}xI?S*+X9dCM& V )
17I?6=6)<1 &F&=IZ,?.=.)76&F&(
,5&G F,5$
9d N 8KI/S*+-9E$
I5&^S*$
9:)>6i/I',5$Oce4*6C-I?6=CM&0cZC-$On?)763.CMI/$9:S*)&=I'O H S
.Y&CMTacdc?I/S*6U,5$L.Y8)76<Q
#%i/$*I?6=)b&=(*)p.)7+MT2.S
.4L)>$
.YC-I?$&C-DE)>.,?$
9&(*)p17I?$N&)7qO&P.8PCM&=13(Ijn?)76=(*)<,?9*.UTaI?6P&=(*CX.^4
,56&I5T&(*)p`NS*)<.0&=CMI/$]Q
T=W|..S*DE)p&=(
,j&bO NmCX.GO$*Ij8P$W&=I V )p&(
)'DEI/.Y&16=CM&CX17,5+JI5T&(
)m&(*6=)7)p&=,?.G:.7QFq:4*+-,?CM$l,.S*CM&=, V +M)Z.13(*)>DE) V c8P(*CX13(
CM&PDE,oc V )4zI/.=.C V +-)&I')>$
.S*6)&(L,j&^I N9:IO)>.$*I?&DECX..CM&=.^9:)>,/9:+-CM$*)<.US
$
9:)76&=6=,?$
.YC-)7$N&Ijn?)76=+-I/,?9E17I?$
9:CM&C-I?$L.K8P(
)7$
&=(*)H&=,/.YGk.)&CX.P.=13(*)>9:S
+M)<9SL.YC-$*idg _|'Q
aiOk|..S*DE)P&(L,j&Kc/I?SE(
,on/) V )>)7$,?.G?)<9Z&IpC-DE4*+M)>DE)7$N&,?$E ry&=,/.YGE.=13(*)>9:S
+M)>6TaI?6,5$d,54*4
+MCX17,5&C-I?$d8P(*)>6)P) d17CM)>$
1c
I?T&=(*)p.13(
)>9:S*+-C-$*id,5+-i?I?6=CM&(*D CX.,en?)>6cdC-DE4LI/6Y&3,5$N&b1I/$
1)>6$]-
ChQPFqO4
+-,?CM$&(*)p9
,j&=,E.Y&6=S
1 &=S*6=)fc/I?S8KI/S*+X9kS
.)f&IdDd,5C-$N&=,?CM$&(*)m6=)>,/9:cd+-C-.Y&>Q}~(
,5&8KI/S*+X9 V )H&(*)p17I?DE4*+-)q:CM&0c
I?TC-$
.)76&C-$*id,5$
96)>DEIjnNC-$*iZ&=,/.YG:.Ta6=I?D &=(*)m6)<,?9:ck+MCX.0&<Q
C-ChQ^#09:)>$N&CMTac&(
)m)7n?)>$N&=.^8P(*CX13(W8KI/S*+-9k&6=C-i?i?)>6^c?I?S
6^.=13(*)<9:S*+-)76<Q
a(LFqO4
+-,?CM$s(*Ij8,5$t rhU,56=+-CM)<.0,& )>,/9:+MC-$*)rC-63.0& m.13(
)>9:S*+-)76'TaI?6e.13(*)<9:S*+-CM$
i_,_.Y)7&'I5T6=)>,?+A@B&C-DE)E&=,/.YG:.'1>,5$ V )
C-DE4*+M)>DE)7$N&)<9DEIN.0&) d17CM)>$N&+-c?Q}~(
,5&C-.&=(*)p1I/De4
+M)7qOCM&0cI?T(
,?$
9:+-CM$
iE,Z&3,?.Gk,56=6C-nj,5+\C-$c/I?S*6PC-DE4*+-)7DE)7$N&=,5&C-I?$
FqO4
+-,?CM$c?I/S*6P,5$
.8K)>6>Q
CX|..S*DE)E&(
,5&p H ,?$
9xO Nj[J)<,?13(x6)<`/S
CM6=)d1)76&=,?CM$u16=CM&CX17,5+6=)>.I?S
6=17) g 9:S
6C-$*i&(*)>CM6p17I?DE4*S:&3,j&=CMI/$]Qd H $
)7)>9
.
g TaI/6 DO)>1d,?$
9xO NE$*)7)<9*. g TaI?6 J5DO)>1?Qk|+X.YIL[]&3,?.GO.H F ,?$
9y H [)<,?13(x6)<`/S
CM6=)d16=CA&=C-1>,5+6=)>.I?S*631)
!g Jk9:S*6=CM$
i&(
)7C-6f17I?DE4*S:&3,j&C-I?$JQ F $
)7)>9
. g TaI?6 (Dd:)>1',?$
9l H $
)7)>9
. ;g JETaI?6 (dDO)<15QH|b.=.YS*DE)Z&(
,5&
)<,?13(E&=,/.YGeC-$
.0&3,5$
17)P&6=C-)>.&=I'i/)&K,?+M+LCA&3.U6=)>`NS*C-6)<9E6)<.YI/S*631)>. V )TaI/6).0&3,56&C-$*im&I'S
.Y)f,5$Oc'I?T\&(*)6)<.YI/S*631)>.>Q|b+-.I
[N,
&3,?.GdCM$
.Y&=,?$
1)f6=)&S
6$
.^,Z6)<.YI/S*631),/.^.YIOI?$,?.CA&17I?DE4*+-)&)<.^1I?DE4*S*&C-$*iES
.YC-$*ieCA&<QKR$
1)H,'&=,?.GdC-$
.0&3,5$
17)6=)&=S*6=$
.
,{6)<.YI/S*631)?[UCA&9:IO)>.e$*I?&E&6=cu&Is,?1>`/S
CM6=)CM&,5iN,5C-$]Qt#T  4*6=CMI/6CM&0cs1)7C-+-CM$*iu4*6=I5&=I:1I?+mCX.ES
.)>9TaI?6E6=)>.I?S*631)
,?6 V CM&63,j&=CMI/$][K9*)&)>6DEC-$*)WCATf&(
)W&=,?.Gt.)&CX.d.13(*)<9:S*+X, V +-)W8P(*)7$&(
)_1I?$N&=)qO&.Y8PCM&=13(*C-$*iuIjn?)>6(
)>,?9tI5T DO)>1CX.
17I?$
.C-9*)76=)>9x,?.=.S*DE)f$
IE.)7+MT.YS
.4z)7$
.CMI/$I?T&3,?.G:.=Q
KcO4*C-1>,5+-+Mc8P(
,j&C-.&(*)p$OS*D V )>6bI?T24
6C-I?6=CA&0c+M)>n?)>+-..S*4*4zI?6&)<9 V c,5$OcW1I/DeDE)>6=17C-,?+\6)<,5+M@h&=CMDE)mI?4z)763,j&=CM$
i.Yc:.Y&)7D
&=(
,j&c/I?SW,56=)H,o8^,56=)bI?T l}~(L,j&CX.^&(*)mDEC-$*C-D'S*D $OS*D V )76PI?T4*6=C-I?6=CA&0cd+-)7n/)7+X.^6)<`/S
CM6=)>9 V ckg20@ ^RHO# p}~(Nc9:I
I/4L)>6=,5&C-$*id.Yc:.Y&)7Dd.^6=)>.Y&6=C-1&^&(*)m$OS*D V )>6PI5T24*6C-I?6=CM&0cd+M)>n?)7+X.&(
)7c.S*4*4zI?6&


5WP
]C-S QU,?$
9 J,ocO+-,?$
9 Q } Q:13(*)>9*S*+MC-$*is,5+-i?I/6CM&(
DE.ZTaI/6dD'S*+M&C-4*6=I?i?63,5DEDEC-$*i{C-$w(
,5639t6=)>,?+A@B&C-DE)W)7$OnOCM6=I?$*DE)>$/&<Q
OX R: z5J " )'+l[ I?+BQEJ?
# [   
Q
J H6CX.Y(
$
, Q sQ
,?$
9WO(*C-$ EQ eQ b35 ZFE $@To %SFZ QF,5&=, _1f63,o8^@%C-+M+B[  C Q
 ])7(
IO177GOc I?(*$ FQF,?$
9 JS*CbO(
,
Qv^(
)l6=,5&)@DEI?$*I?&I/$*C-1.13(
)>9:S*+-C-$*is,5+-i?I?6=CM&(*DWFq*,?1 &13(
,?6=,/1 &=)76=CM<,j&C-I?$t,?$
9
,on?)763,5i/)b17,/.Y) V )7(
,onOC-I?6<Q <=33jOj' "b3j ZFd $@To FZ%$ T F 
o ZR+Fe[*4
,5i/)>. I: [()>17)7D V )>6  *  Q
# 'O(
, FQ,5$
9g,j0GOS*Dd,?6egmQ lI:9:)l13(
,5$*i/)k4*6=I5&=I:1I?+X.'TaI?6e4*6C-I?6=CM&0c/@%9:6=CMn/)7$s4*6=)7)>DE4:&C-n?)W.13(
)>9:S*+-C-$*i
Q =5 Z FE
$@To FZ3[ I/+hQ bI
:Q N J8#  2J (:[ b)<1)>D V )76   *  Q

8







#

Version 2 CSE, IIT Kharagpur



  !
 "$#&%'&&& (*),+- . /0132546 (+78491;:<
=?>5@ACBEDF@HG3@HIKJLJNMKOQPRO3ST>U@HACV5WXBXI5YZM[WEYK\[GNB]JN>5^O J3>UM_Ja`@bACBcONS(VUONOQ@dAeBXIeJ3>5@WcM[OQJ<f>UM_g5J3@hGa`@hGN@bM_WXWijM[O3@HAR\[IkJ3>5@g5GN@h^<BXO3@
JN>UMlJJN>5@bACBEDF@HG3@HImJJNM[O3PCO BEIkMO3nCOoJN@h^pM[G3@M[WEWqBXIUAC@Hgj@HIUAC@HIKJdrst\l`@Hu[@hGdv!JN>UMlJwBcOGTM_GN@hWXnxJ3>5@ySHM[O3@<BEIeGN@HM[W]z{WEBE|}@M_g5gUWEBcShM_J3BX\[IUOHr
=;M[O3PCO?\_|~J3@HIx>UMu[@ @hgUWEBcS(BEJ1AC@Hgj@HIUAC@hIjS(BX@HOtO3gF@HS(BEU@dAM[^<\[I5YaJ3>U@h^OQ@HWEuK@HOHvUBX^<g5WEBcS(BEJ1AC@Hgj@HIUAC@HIUS(BX@HO0M[G3@^<\KG3@S(\K^<^a\KIr=;M[O3PCO
^<BXY[>mJiF@HSh\[^<@aBEImJ3@HGQzAC@Hgj@HIUAC@hImJ|}\[GO3@hu[@HGNM[WGN@HMKOQ\KIUOhr S(\K^a^<\KIx|}\[GN^\_|A5@hgF@hIUAC@HIUS(nZM_GNBXO3@HOt`>5@hI'\[I5@JNMKOQPxI5@H@HA5O1JN>5@
GN@HO3V5WEJNO\_|M[I5\_JN>5@hGJTM[O3PJN\g5G3\CSh@h@HA`B]JN>ZBEJNOSh\[^<g5VCJTMlJ3BX\[IjOhrU\[G@(5M_^<g5WX@[vJN>5@<gj\mOQBEJ3BX\[IjM_W@hGNG3\KG1Sh\[^<g5VCJTMlJ3BX\[IJNMKOQPx\[|M
nmz{inKz{`BXG3@M[BEGTS(GTMl|~J1^<MnI5@H@HAJN>5@LGN@HO3V5WEJNO1\_|&MyJNM[O3PS(\[^<g5V5J3BXI5YyJN>5@aShV5GNG3@HIKJ1gj\mOQBEJ3BX\[I\[|J3>5@<M_BXGTS(GTMl|~J0|}GN\[^*J3>U@LONM_^<g5WX@HA
uK@hWX\ShB]JonM[IUA'M[ShSh@hWX@hGTMlJNBE\KIulM_WXV5@HOHr<=?>mVjOhvJ3>5@<gF\KO3B]JNBE\KIUM_W@HG3GN\[G S(\K^agUVCJNM_J3BX\[IZJNM[O3PSHM_I'^a@dM_I5BXI5Y[|}V5WEWXnGNV5I'\[I5WXnMl|~JN@hG JN>5@
S(V5GNG3@HImJgF\KO3B]JNBE\KIA5@(J3@HG3^<BXIUMlJNBE\KIULJNMKOQPbSh\[^<g5WX@(JN@HOHrUV5G3J3>5@HGHv5@Hu[@HIb`>5@HIIU\a@hCg5WEBcS(BEJtA5M_JNMa@(5ST>UM[I5Y[@dOM[G3@ BXImuK\[WXu[@dA!vmJNM[O3PCO
^<BXY[>mJtiF@wG3@dmV5BEGN@HAJN\G3V5IxBXIS(@HGQJTM_BXI\[GTAC@hGdrU\[G0@hCM[^<g5WE@Kv5JN>5@O3nOQJ3@H^BXI5BEJ3BcM_WXBEdMlJNBE\KIJTM[O3Pb^MnbIU@h@HAJN\yGNV5IUGTOoJdv5ij@h|}\[GN@
\[J3>5@HG?JNM[O3PCOShM[IGNV5Ir
1@hgF@hIUA5@hIUShn<M[^<\[I5YJTM[O3PCOO3@huK@hGN@hWXnGN@HOQJ3GNBXS(JNOJN>5@ M_g5g5WXBcShM_iUBEWXB]Jona\_|!JN>5@G3@dOQV5WEJNO&\[IJTM[O3PO3ST>5@dACV5WXBEIUYw`@AC@huK@hWX\[gF@HA<BXIyJN>5@
WcM[OQJaf>UM_g5J3@hGdr=?>5@yGN@HM[O3\[I'BcOJ3>jMlJL1M_IUAet6ONST>5@HACVUWE@HGNOBX^<gj\mOQ@bI5\S(\KIUOoJNGNM[BEImJTO \[IRJ3>U@y\[GTAC@hGBEIe`>5BcST>RulM_GNBE\KVUO
JTM[O3POq@(C@HShVCJ3@Kr5ST>5@HACVUWE@dOg5GN\A5VUS(@dA<imna&'\[G&0^<BEYK>KJumBX\[WcMlJN@?J3>5@1S(\[IjOoJNGNM[BEImJNOqBE^<gF\KO3@HAACV5@0J3\ JNMKOQP<AC@Hgj@HIUAC@hIjS(BX@HOHr
'@J3>5@HG3@h|}\[GN@&I5@H@HAJN\ @(J3@HIUAJN>5@?G3@dOQV5WEJNO;\[|5J3>5@WcM[OQJST>UM[gCJ3@HGBEIL\[GTAC@hGJ3\ij@M[i5WE@J3\ S(\Kgj@V5ga`B]JN>LBXImJ3@HGQzJNMKOQPAC@Hgj@HIUAC@hIjS(BX@HOHr
UV5GQJN>5@hGdvFJ3>5@yf&O3ST>U@HACV5WXBXI5YyJN@HST>5I5BcmV5@HO1JN>UMlJ`@<OoJNVUACBX@HABEIxJN>5@aWXMKOoJST>UM_g5J3@hGShM[I5I5\_J iF@aONMlJNBXOQ|M[S(J3\[GNBXWEnij@aVUO3@HAJN\
ONST>5@HA5V5WE@M[SHS(@HONO\[|MO3@(J\[|G3@dM_WEzJNBE^<@JTM[O3PCOJ3\aOQ>jM_GN@HAS(GNBEJ3BcShM_WjG3@dOQ\KV5GTS(@HOHr'@t>jM[AyMKO3O3V5^<@HA<BXIyJN>5@tWcM[OQJST>UM[gCJ3@HGqJN>UMlJJNM[O3PCO
SHM_IiF@aOQJNM[GQJN@HAZM_IUAxgUG3@H@h^<gCJ3@dAM_JM_InJ3BX^<@<`B]JN>5\[VCJ ^M_PBXI5YM[ImnxACBED@hGN@hIUSh@wJ3\J3>U@aSh\[GNG3@dS
J3IU@HONO0\_|JN>5@LUIUM_WSh\[^<g5VCJN@HA
GN@HO3V5WEJNOHrs0\l`@hu[@HGwMJNMKOQP'VUO3BEIUYMS(GNBEJ3BcShM_WG3@dOQ\KV5GTS(@ShM[IeI5\_Jaij@ygUG3@H@h^<gCJ3@dAkMlJaM_InJNBE^<@b|}G3\K^pGN@HO3\[V5GTS(@<VUONM_YK@y`BEJ3>5\KVCJ
GNBXO3PBEIUYJ3>5@<S(\KG3GN@HS(J3I5@dO3Ot\_|JN>5@aSh\[^<g5VCJN@HAxGN@HO3V5WEJNOHrt\[ICz{g5GN@h@H^ag5JNM_iUBEWXB]JonBcO1MbuBE\KWXM_J3BX\[Ix\_|\[I5@L\_|J3>U@LiUMKOQBcSwgUG3@H^aBcO3@`BEJ3>
`>5BcST>'`@a>UM[A'AC@Hu[@hWX\[gF@HAJ3>U@<ONST>5@dACV5WXBEI5YGN@HO3V5WEJNO\_|J3>5@<WcM[OQJf>jM_gCJN@hGdra\jv!J3>5@<GN@HO3V5WEJNO \_|J3>5@<WcM[OQJLf>UM_gCJN@hGM_GN@<S(WX@HM_GNWXn
BXIUM_gUg5WEBcShM[i5WX@&JN\ ONST>5@dACV5WXBEI5Y1J3>U@0M[ShSh@HONO\[|FO3@huK@hGTM_WmG3@dM_WEzJNBE^<@JNM[O3PCOJ3\OQ\K^<@ShG3BEJ3BcShM[WmGN@HO3\[VUGNSh@HO;M_IUALI5@h`^<@(J3>U\AUO;J3\ O3ST>5@dACV5WX@
ShG3BEJ3BcShM[W!G3@dOQ\KV5GNSh@HO?M_^<\KI5YJTM[O3PCOM_GN@1GN@HmV5BXG3@dA!r
IJ3>5BcOtf>UM[gCJ3@HG?UGNOQJ`@ACBcONS(VUONO?>5\l`ShG3BEJ3BcShM[W!G3@dOQ\KV5GNSh@HO^Mnyij@O3>UM_GN@HAZONST>5@HA5V5WE@dAU?M_^<\KI5YaM<O3@(J\_|;G3@dM_WEzJNBE^<@JNMKOQPCOHr
'@UGTOoJyBXIu[@HOQJ3BXYKM_J3@J3>5@xgUG3\Ki5WE@H^OaJ3>UM_Jb^MnM_GNBXO3@B]| J3>U@J3GTM[ACBEJ3BX\[IUM[WG3@dOQ\KV5GTS(@OQ>UM[G3BXI5Y'^<@HST>UM[I5BXO3^OM_GN@xAC@hg5WX\ln[@dABXI
GN@HM[W]zJ3BX^<@wM_g5g5WXBcShMlJNBE\KIUOHrCV5iUO3@HmV5@hImJNWEnKvU`@ACBcO3ShVUO3O1Ma|}@h`BX^<gj\KGQJTM_ImJtg5GN\_JN\Sh\[WcO|}\[G1@(D@HS
JNBEuK@O3>UM_GNBEIUY\_|qS(GNB]JNBXSHM_WGN@HO3\[VUGNSh@HO
M[^a\KI5YG3@dM_WEzJNBE^<@aJNMKOQPCOHrb;BEIjM_WXWEnKv`@yACBXONS(VjO3O>U\l`J3>U@bO3ST>U@HACV5WXBXI5Y^a@hJ3>5\CA5O\_|J3>5@WcM[OQJaf>UM[gCJ3@HGwShM_IRiF@bM_VUY[^<@hImJ3@dAJN\
^M_PK@J3>5@H^M_gUg5WEBcShM[i5WX@1JN\aJNM[O3PCO?`B]JN>xAC@hgF@hIUA5@hIUShBE@dOhr
0aqh"8-L-twNFh-y
I^M_InbM_gUg5WEBcShM_J3BX\[IUOHvG3@dM_WEzJNBE^<@1JNMKOQPCO?I5@H@HAbJ3\OQ>jM_GN@O3\[^<@G3@dOQ\KV5GNSh@HOM_^<\[IUYJN>5@h^O3@hWXu[@HOHrt|~J3@HIbJN>5@HO3@OQ>jM_GN@HAyGN@HO3\[VUGNSh@HO
I5@H@HAJ3\<iF@VUO3@HAinyJ3>U@BEIUA5BEuBcACVUM_WJTM[O3PCO?BEI@(5ShWEVUO3BXu[@ ^<\A5@[rq=?>5BcO^<@HM[IUOJ3>UM_JtMaJNMKOQPJN>UMlJ0BcO?VUO3BEIUYyMLGN@HO3\[VUGNSh@[vCShM[II5\[J
BX^<^a@dACBcMlJ3@HWEnb>UM_IUAb\lu[@HGqJ3>U@GN@HO3\[VUGNSh@0J3\<M_IU\_J3>U@hGJNMKOQPaJ3>jMlJG3@dmV5@HOQJNOJ3>U@1GN@HO3\[V5GTS(@MlJM_InyM_GNi5BEJ3GTM_GNnLgF\[BXImJBEIbJ3BX^a@K5i5VCJBEJ
SHM_IAC\wO3\\[I5WXnLM_|~J3@hGB]JS(\[^<g5WX@(JN@HOBEJNO&VUO3@\_|FJ3>5@0GN@HO3\[VUGNSh@[r{|MJTM[O3PBcOqg5GN@h@H^ag5J3@HAaiF@(|}\KG3@0BEJ&S(\K^<g5WE@hJ3@dOqVUO3BEIUY J3>5@0GN@HO3\[VUGNSh@[v
JN>5@hIJN>5@wGN@HO3\[V5GTS(@ShM[Ixij@dS(\K^a@wSh\[GNG3VUgCJ3@dA!rqCM[^<g5WE@dO\_|qO3VUST>G3@dOQ\KV5GTS(@HOM[G3@UWX@HOHvjA5@huBXSh@HOHvjM[IUAS(@hG3JNM[BEIAUMlJNMOQJ3GNVUS(J3V5GN@HOHr
=?>5@dOQ@1G3@dOQ\KV5GTS(@HOM_GN@1M[WXO3\ShM[WEWX@HAbI5\[IUg5G3@H@h^<gCJTM_i5WX@tGN@HO3\[V5GTS(@dOhvK\[G?S(GNB]JNBXSHM_WFG3@dOQ\KV5GTS(@HOHrt\l`MKA5MnCOI5\KI5g5GN@h@h^<gCJTM_i5WX@tGN@HO3\[VUGNSh@HO
M[G3@O3\[^<@(JNBE^<@HO?WX\\KO3@hWXnyGN@(|}@hGNGN@HAbJ3\yM[Owh
~N_hTh_5
vCJ3>U\[V5YK>JN>5@\[GNBXY[BXIUM_W\[gF@hGTMlJNBEIUY<O3nCOoJN@h^WEBEJ3@HGNM_J3V5GN@ VUOQ@dAJ3>5BcO?J3@HG3^
JN\aGN@(|}@HG?J3\yO3@HS(J3BX\[IUO?\[|;S(\CAC@`>U@hGN@ O3\[^<@ I5\KI5g5GN@h@h^<gCJTM_i5WX@ G3@dOQ\KV5GTS(@BXO?VUO3@HABXI@(5S(WXVUO3BEuK@1^<\CAC@[r

Version 2 CSE, IIT Kharagpur

>jM_GNBEI5Y<\[|;S(GNBEJ3BcShM_WG3@dOQ\KV5GNSh@HO?M_^<\KI5YaJNM[O3PCO?G3@dmV5BEGN@HO?MACBED@hGN@hImJtOQ@hJ0\_|G3VUWE@dOhvUSh\[^<gUM[G3@dAJ3\<JN>5@wGNV5WX@HO?VUO3@HA|}\[G0O3>UM[G3BXI5Y
NG @HO3\[V5GTS(@dO1O3VUST>'M[O MfM_^<\[I5YbJNMKOQPCOHr'@a>jMu[@BXIZJ3>5@<WcM[OQJf>jM_gCJN@hGACBcO3ShVUO3O3@HA>5\l`GN@HO3\[V5GTS(@dO1O3VUST>'M[Owf& ShM[IZiF@
O3>UM_GN@HAeM[^<\[I5YJTM[O3POHr'fnCS(WXBcSyO3ST>U@HACV5WXBXI5YUv&v;M[IUAk06iF@hBXI5YJN>5@bgF\[g5VUWXM[G^<@(JN>5\CAC\[WX\[YKBE@dOhrx'@^LVUOQJV5IUAC@HGNOQJNM[IUA
JN>UMlJLf& BcOM_IZ@(5M_^<g5WX@<\_|Mh(
_~ 3 h hEN
h CNNhr V5JHv`>jMlJ @(5M[S(J3WXnBXOMO3@hGNBXM[WEWXnxG3@HVUONM_i5WX@LGN@HO3\[VUGNSh@LM_IjA>5\l`
AC\@dO0BEJ1ACBEDF@HG0|}GN\[^,MyS(GNB]JNBXSHM_WGN@HO3\[VUGNSh@ ZJNMKOQP\[IUSh@wYKM[BEIjO0M[SHS(@HONO?JN\bMOQ@HG3BcM_WXWXnbGN@hVUONM_i5WX@GN@HO3\[V5GTS(@O3VUST>M[O1fwvjVUOQ@dO0BEJ
@hCShWEVjOQBXu[@HWEnKr&=?>UMlJ0BcOHv5Jo`\<A5B]D@hGN@hImJ0JTM[O3POSHM_II5\[J0G3V5I\KI\KI5@Lf&M_JJ3>5@LO3M[^a@ JNBE^<@Kr0IU\_J3>U@hG0BX^<gj\KGQJTM_ImJ|}@HM_J3V5GN@\_|M
O3@hGNBXM[WEWXn<G3@HVUONM_i5WX@tGN@HO3\[V5GTS(@tBXOJN>UMlJMwJTM[O3P<@(C@HShVCJ3BXI5Ya\[IMf&ShM[IbiF@1gUG3@H@h^<gCJ3@dAM[IUAyGN@HOQJNM[GQJN@HAyM_J?MWXM_J3@HGJNBE^<@ `BEJ3>5\KVCJ
M[ImnLg5GN\[i5WX@h^r O3@hGNBXM[WEWXnGN@hVUONM_iUWE@GN@HO3\[V5GTS(@BcOq\KI5@0`>5BcST>BcOqVUO3@HA<BXIy@(5ShWEVUO3BXu[@^<\CAC@[vmi5VCJ?MJNM[O3PaVUOQBXI5YwBEJ^MnaMlJM[ImnLJ3BX^<@
iF@LgUG3@H@h^<gCJ3@dAx|}GN\[^VUO3BXI5YBEJHvM[IUAxJN>5@hI'M_WXWE\l`@HAxJ3\VUOQ@aBEJ M_J O3\[^<@WcMlJN@hGJ3BX^<@L`BEJ3>U\[VCJwMlD@HS(J3BXI5YyJN>5@S(\KG3GN@HS(J3I5@dO3Ot\_|qJN>5@
Sh\[^<g5VCJN@HAGN@HO3V5W]JTOhr?I5\KICz{g5G3@H@h^<gCJTM_i5WX@G3@dOQ\KV5GTS(@ BXOtM_WcOQ\VUO3@HABXIJ3>U@w@(5S(WXVUO3BEuK@^<\A5@[r? JNMKOQPVUOQBXI5YbM<IU\[ICz{g5GN@h@h^<gCJTM_i5WX@
GN@HO3\[V5GTS(@<\KIRJ3>5@y\[J3>5@HGw>UM[IUAeShM[IeI5\_JiF@yg5GN@h@H^<gCJ3@dA'|}G3\K^8JN>5@yGN@HO3\[V5GTS(@<VUONM_YK@[v\[J3>5@HG3`BcO3@<J3>5@G3@dOQ\KV5GNSh@<`\KV5WXA'iF@HSh\[^<@
BXIUS(\KIUO3BXOQJ3@HIKJM[IUARShM[I'WX@HMKAZJ3\O3nCOoJN@h^ |M[BEWXV5GN@[r=?>5@hGN@(|}\KG3@Kv`>5@hIkMWX\l`@hGg5GNBE\KG3BEJonxJTM[O3P>UMKOM_WXG3@dM[ACnYmM_BXI5@HARMKShS(@dO3OJN\M
I5\KICz{g5G3@H@h^<gCJTM_i5WX@0GN@HO3\[V5GTS(@tM[IUABcO&VjOQBXI5YBEJHv@Hu[@hIMw>5BXY[>5@HGgUG3BX\[GNB]JonLJNMKOQPa`\[V5WcA>UMuK@J3\a`M[B]JV5ImJ3BXWUJN>5@WE\l`@hGg5G3BX\[GNBEJonJTM[O3P
VUO3BXI5YJ3>U@tGN@HO3\[V5GTS(@S(\K^<g5WE@hJ3@dOhr5\KGJ3>UBXOG3@dM[O3\[IvmM_WXY[\KG3BEJ3>5^OO3VUST>yM[O&RM_IUA0J3>jMlJM[G3@0gF\[gUV5WXM[G3WXnVjOQ@dA<|}\[G&O3>UM[G3BXI5Y
MZOQ@hJ\_|tO3@hGNBXM[WEWXn'G3@HVUO3M[i5WX@yG3@dOQ\KV5GTS(@HOb}@[r YUrXv&f&wShM[IkI5\[JaONMlJ3BcOQ|M[S
JN\[GNBEWXniF@VUOQ@dA'J3\'OQ>UM[G3@bI5\[ICz{g5GN@h@H^ag5JNM_iUWE@yGN@HO3\[VUGNSh@HO
M[^a\KI5YM<OQ@hJ?\[|;GN@HM[W]zJ3BX^<@JNM[O3PCOhr
'@?I5\l`ACBcONS(VUONO;J3>5@gUG3\Ki5WE@H^O;J3>UM_J`\[VUWXAaM_GNBXO3@`>5@hIaJ3GTM[A5B]JNBE\KIUM_WJN@HST>5I5BcmV5@HO\[|jGN@HO3\[V5GTS(@?O3>UM_GNBEIUYO3VUST><M[OO3@h^M_g5>U\[GN@HO
M[IUAbWX\CSTPCOM_GN@VjOQ@dAyJN\yOQ>UM[G3@ S(GNBEJ3BcShM_W!GN@HO3\[VUGNSh@HO?M_^<\[IUYaM<O3@(J0\_|GN@HM_WEzJ3BX^a@1JNMKOQPCOHr
q(Lq  a0(L
IJ3GTM[A5B]JNBE\KIUM_WO3nCOoJN@h^Ohv5J3>5@^<@HST>jM_I5BcOQ^O?gF\[g5VUWXM[G3WXny@h^<g5WX\ln[@dAyJN\yM[ST>5BX@huK@ ^VCJNVUM_WXWEnb@(5S(WXVUO3BEuK@VjOQ@\[|A5M_JNM<M_IjAGN@HO3\[VUGNSh@HO
M[^a\KI5YxMxOQ@hJw\_|?JNMKOQPCO BXIUS(WXVUAC@OQ@H^<M[g5>5\KG3@dOhvWX\CSTPCOhv;M_IUA'^<\[I5BEJ3\KGNOHrbst\l`@Hu[@hGdvJ3>U@HO3@J3GTM[ACBEJ3BX\[IjM_W\[gF@hGTMlJNBEIUYO3nCOoJN@h^8J3@HST>5z
I5BcmV5@HO<gUG3\luK@yJ3\'iF@BXIUMKAC@HmVUM_J3@|}\[GVUO3@BXI G3@dM_WEzJNBE^<@M_g5g5WXBcShMlJNBE\KIUOHr=?>5@G3@dM[O3\[IkBcOaJ3>jMlJB]|1J3>5@dOQ@JN@HST>5I5BcmV5@HO<M[G3@VUO3@HA
|}\KGtGN@HO3\[V5GTS(@O3>UM_GNBEIUYBEIMGN@HM[W]zJ3BX^<@M_gUg5WEBcShM_J3BX\[IvjI5\_J1\[I5WXnO3BX^agUWE@
l
~ ~ hT
lU?iUVCJM[WXO3\^<\[GN@wOQ@HG3BX\[VUO C T C [

l
~ ~ lhTT_50ShM[Ix\CShS(VUGHr0Iij\KV5IUAC@dAxg5GNBE\KG3BEJonyBXIu[@hGTO3BE\KIUOM_GN@wOQ@Hu[@HG3@ g5GN\[i5WX@h^O?JN>UMlJ1^<MnWE@dM[AJN\yMG3@dM_WEzJNBE^<@ JTM[O3P
JN\a^<BcO3O0B]JTO0AC@HMKACWXBEI5@M[IUAShM_VjOQ@ OQnCOQJ3@H^6|M_BXWXV5G3@Kr
=\@hCg5WXM[BEIZJ3>U@yS(\[IjS(@hg5J\[|MOQBX^<g5WX@agUG3BX\[GNB]JonxBXIu[@HGNO3BE\KIvS(\KIUO3BXAC@HGJ3>5@a|}\[WXWX\l`BEI5YjrL>U@hIRMWX\l`@hGg5G3BX\[GNBEJonJNM[O3PBcOM_WEz
GN@HMKACn>5\[WcACBXI5YMGN@HO3\[V5GTS(@KvM>5BXY[>5@HG g5G3BX\[GNBEJonJTM[O3PxI5@h@dACBXI5YbJN>5@O3M[^<@GN@HO3\[V5GTS(@L>UM[O1J3\`?M_BEJ M[IUASHM_IIU\_J^M_P[@Lg5GN\[Y[GN@HONO
`BEJ3>ZB]JTO1Sh\[^<g5VCJTMlJ3BX\[IjOhr=?>5@>5BXY[>U@hGg5G3BX\[GNBEJonbJTM[O3P`\[V5WcAxGN@h^M_BXIxi5WX\CSTP[@HAV5ImJ3BXWJN>5@LWX\l`@hG0g5GNBX\[GNB]JonJNMKOQPGN@hWX@HM[O3@HOJ3>5@aG3@hz
mV5BXG3@dAI5\KICzgUG3@H@h^<gCJNM[i5WX@qG3@dOQ\KV5GTS(@[r!IJ3>5BcO;OQBEJ3VUM_J3BX\[IvdJN>5@>UBEYK>5@hGg5G3BX\[GNBEJontJTM[O3P1BcOONM_BcA JN\tV5IUA5@hGNY[\tO3BE^<g5WX@&gUG3BX\[GNB]JonBXImuK@hGTOQBX\[I
\KI<MKShSh\[V5ImJ\_|jJ3>5@0WX\l`@hGg5GNBE\KG3BEJonJNMKOQPw|}\[GJ3>U@tACV5GTMlJNBE\KILBEJq`M[B]JTO`>5BXWE@?JN>5@0WX\l`@HG;gUG3BX\[GNB]JonwJNM[O3PwPK@h@hgjO>5\[WcACBXI5Y J3>5@GN@HO3\[VUGNSh@[r
{J OQ>5\KV5WcAij@L\[iuBE\KVUOJN>UMlJ OQBX^<g5WE@Lg5GNBE\KG3BEJonbBXIu[@hGTO3BE\KIUO0M_GN@w\[|~J3@hIV5IUMu[\KBXAUM_i5WX@`>5@hIJo`\y\KGt^<\[GN@JTM[O3PO1OQ>jM_GN@wMyI5\KICz
g5GN@h@H^<gCJNM[i5WE@<GN@HO3\[V5GTS(@KrLU\[G3J3V5IUM_J3@HWEnKvMO3BXI5Y[WX@OQBX^<g5WE@<g5GNBX\[GNB]JonxBXIu[@hGTO3BE\KIBXO IU\_JwGN@HM_WXWXnJ3>UM_JA5B yS(VUW]JJN\Sh\[gF@<`B]JN>r=?>5@
ACVUGNM_J3BX\[Ia|}\[Gq`>UBXST>MO3BE^<g5WX@0g5GNBE\KG3BEJonwBXIu[@hGTO3BE\KIaSHM_I<\CShS(VUGqBXOqij\KV5IUAC@dA<imnLJ3>U@WE\KI5Y[@dOoJ&ACVUGNM_J3BX\[Ia|}\[Gq`>UBXST>M WX\l`@HGg5G3BX\[GNBEJon
JTM[O3Py^<BEYK>KJI5@H@HAM<S(GNB]JNBXSHM_WGN@HO3\[V5GTS(@BEIxM[I@hCShWEVjOQBXu[@^<\A5@[r>5BXWE@@Hu[@HIM<O3BE^<g5WX@ g5G3BX\[GNBEJonBEIu[@HGNO3BX\[IA5\m@dOAC@hWcMnbMa>5BXY[>5@HG
g5GNBX\[GNB]JonaJNMKOQP<inyO3\[^<@0JNBE^<@[vJN>5@ ACV5GTMlJ3BX\[Ib|}\[G`>5BcST>MJTM[O3Pi5WX\STPCOACV5@1J3\<MLO3BX^agUWE@g5GNBE\KG3BEJonLBXIu[@HGNO3BE\KIbShM[IyiF@^MKAC@tuK@hGNn
O3^M_WXWBE|&M_WXWJTM[O3POtM_GN@w^M[AC@JN\bGN@HOQJ3GNBXS(J0J3>U@h^OQ@HWEuK@HO0J3\yuK@hGNni5GNBX@(|gj@HG3BX\CA5O0\[|&S(GNB]JNBXSHM_W;OQ@dS
J3BX\[IxVjO3M[Y[@[r0=?>U@hGN@(|}\[GN@[vFMyO3BE^<g5WX@
g5GNBX\[GNB]JonaBEIuK@hGTOQBX\[IySHM_I@HMKOQBXWXnaiF@1J3\[WX@hGTMlJN@HAaJN>5G3\KV5Y[>ySHM_GN@(|}V5WFg5GN\[YKGNM[^a^<BXI5YUr;s0\l`@huK@hGdvKMw^<\KG3@tO3@hGNBX\[VUO&g5G3\Ki5WX@h^ J3>UM_J?M[G3BcO3@HO
ACVUG3BXI5YOQ>jM_GNBEI5Ya\_|S(GNBEJ3BcShM_W!GN@HO3\[VUGNSh@M[^a\KI5YLJNM[O3PCO?BXO?VUImiF\[VUIUAC@HAg5GNBX\[GNB]JonyBXIu[@HGNO3BE\KIr
tImiF\[VUIUAC@HA'g5GNBX\[GNB]JonZBEIu[@HGNO3BX\[IBcOMJNG3\KV5i5WX@HO3\[^<@<g5GN\[i5WX@h^8J3>UM_Jg5GN\[Y[GTM_^<^<@hGTO1\_|G3@dM_WEzJNBE^<@M_IjAR@h^iF@HAUAC@HAeO3nCOoJN@h^O
\[|~J3@hIR>UMuK@<J3\x@HIUS(\KV5ImJ3@hGdrbtImiF\[VUIUAC@HA'g5GNBX\[GNB]JonBXIu[@HGNO3BE\KIUO ShM[I'VUgUOQ@hJLM_WXW&SHM_WcS(V5WcMlJNBE\KIUO \_|Mg5GN\[Y[GTM_^<^<@hG GN@hYmM_GTACBEIUYbJN>5@
`\[GTOoJShMKOQ@ GN@HO3gj\KIUO3@1JNBE^<@\[|;M<GN@HM_WEzJ3BX^a@1JNMKOQPM_IUAShM[VUO3@BEJJ3\<^<BcO3OBEJNOA5@HM[A5WEBXI5@[r










  







    



Version 2 CSE, IIT Kharagpur


     !"#%$'&( *)+&  ,&( -  ./)(102$)  3546)+7 ($8 -  9./)("0:3# 7 )(/
)  </=>1 ? +( " < <@)=( ;& BA' )=<$:&7 C<3 9A: < ! ) 3 D  9/)(10<+# " A & E7 ($8 F  /)(10
;
4G#AIH-JKL M)(, *  <) 3 7 !N!)(5)O <1=7 "@& 7 ($8 K  2/)(102")=P  Q1A=7 13 2 3:(R)(, F46& 2
 M ")=7
# "R=#" )=( &( P& ,& -  2/)(10F$)  3S
 1TU  3 7 24V 3F W # < # "R=#" :3 # 7 )(/ < YX

TH

T I1

R
T

T I2

T I3

; BXY[V5GN@ Z tImiF\[VUIUAC@HA&G3BX\[GNB]JonIuK@hGTOQBX\[I
[@(J&VUO&I5\l` @(5M_^<BXI5@0^<\[GN@0S(WX\KO3@hWXn`>UM_J&BcOq^<@HM[IKJimnaV5IiF\[V5IUA5@HA<g5GNBE\KG3BEJonBXIu[@HGNO3BE\KIaM[IUA<>5\l` B]J?M_GNBXO3@HO;JN>5GN\[V5YK>yMOQBX^az
g5WX@?@(5M_^<g5WX@[rf\[IUO3BcAC@hGMG3@dM_WEzJNBE^<@?M_g5gUWEBcShM_J3BX\[I>jMumBXI5Y Mt>UBEYK>Lg5GNBX\[GNB]JonJNMKOQP.\U]M[IUAMWX\l`kg5GNBE\KG3BEJonJNM[O3P\U^;r;1O3O3V5^<@J3>UM_J
\U] M_IUA_\U^<I5@h@dAwJN\O3>UM_GN@M1S(GNB]JNBXSHM_WGN@HO3\[V5GTS(@&wr @dOQBcAC@d`O \U] M_IU_
A \U^vKM[ONOQV5^<@&J3>UM_J;JN>5@hGN@?M_GN@O3@hu[@HGNM[W_JTM[O3PKO \Ua1b c/\UaedcR\UaMf cQggg
JN>UMlJ0>UMuK@1gUG3BX\[GNB]JNBE@dOBEImJ3@HG3^<@dACBXM_J3@ iF@(Jo`@h@hhI \U]M_IUiA \U^;v5M_IUAAC\<I5\_J0IU@h@HAbJ3>U@G3@dOQ\KV5GNSh@19BEIJN>5@hBXG0S(\K^agUVCJNM_J3BX\[IUOHr=?>5@HO3@
JTM[O3POw>UMu[@ONST>5@h^MlJNBXSHM_WXWEnij@H@hIkO3>5\l`IZBXIk;BEYjr rbtONOQVU^a@yJ3>UM_JwJ3>5@WX\l` g5G3BX\[GNBEJonxJNMKOQP  \ ^ OoJTM_G3JNO @h@dS(VCJNBEIUYMlJLO3\[^<@
BXIUOQJNM_ImJbM[IUAWX\CSTPCOaJ3>5@xI5\KICz{g5G3@H@h^<gCJTM_i5WX@G3@dOQ\KV5GNSh@MKOOQ>U\l`IBXIBXYUr r V5g5gF\KO3@OQ\\KI M_|~J3@hGN`?M_GTA!vqJN>5@x>5BXY[> g5G3BX\[GNBEJon
JTM[O3P'\ ] iF@HSh\[^<@HOtG3@dM[ACnKvUg5GN@h@H^<gCJN:O \ ^ M[IUAxOQJNM_G3JNOt@(C@HShVCJ3BXI5Yjr00WcOQ\M[ONOQV5^<@JN>UMlJ1B]JI5@h@dA5O0JN>5@LONM_^<@wIU\[ICz{g5GN@h@h^<gCJTM_i5WX@
GN@HO3\[V5GTS(@Kr{J?BXOS(WX@HM[GqJ3>jMl%J \ ] `\KV5WcAi5WX\STPL|}\[GJ3>U@tGN@HO3\[V5GTS(@0MKO&BEJBcOM[WEGN@HMKACniF@hBXI5YL>5@hWcAyin \ ^ M[IUjA \ ^ `\KV5WcAS(\[ImJNBEIV5@1B]JTO
@h@dS(VCJNBE\KIr VCJdv5JN>5@wWX\l`9g5GNBX\[GNB]JonJTM[O3+P \ ^ ^Mnij@wgUG3@H@h^<gCJ3@dAe~|}GN\[^f& VUONM_YK@dinb\[J3>5@HG0BEImJN@hGN^a@dACBcMlJ3@gUG3BX\[GNB]JonyJNM[O3PCO
 \ka1b
c/\Uaedc"ggg `>5BcST>biF@HSh\[^<@ G3@dM[ACnyM[IUAbAC\<I5\[JGN@HmV5BXGN@rCIJ3>UBXOSHM[O3@[vmJ3>5@ >5BXY[>g5GNBE\KG3BEJonaJNMKOQP \k] `\KV5WcAy>UMuK@tJN\L`?M_BEJ
I5\[J\[I5WXn|}\[G JN>5@<WE\l`gUG3BX\[GNB]JonJTM[O3Pk \U^!1J3\S(\K^agUWE@hJ3@<B]JTO VUO3@a\[|&JN>5@<G3@dOQ\KV5GNSh@[vi5VCJM[WXO3\M[WEWBXImJ3@HG3^<@HA5BXM_J3@ag5G3BX\[GNBEJonJNM[O3PCO
 \ka1b
c/\Uaedc"ggg qg5G3@H@h^<gCJNBEI5YJ3>5@1WE\l`gUG3BX\[GNB]JonJNMKOQPaJ3\aS(\K^agUWE@hJ3@0JN>5@hBXG?S(\[^<g5V5JNMlJNBE\KIUOHr;=?>5BcO^aBXY[>mJG3@dOQV5WEJBXIJN>5@t>5BXY[>bg5G3BX\[GNBEJon
JTM[O3P>UMuBXI5Y<J3\b`M[B]J0|}\KG0JN>5@GN@HmV5BXG3@dAG3@dOQ\KV5GNSh@ |}\[GMyS(\KIUOQBcAC@HGNM[i5WE@gF@hGNBX\A\[|J3BX^a@Kr0IJ3>U@`\[GTOoJtSHM[O3@[v5JN>5@>UBEYK>xg5G3BX\[GNBEJon
JTM[O3P^aBXY[>mJ?>UMu[@0J3\a`M[B]J?BEIjAC@(UIUB]JN@hWXn|}\[G?MWX\l`g5GNBE\KG3BEJonaJNMKOQP<JN\aSh\[^<g5WX@(J3@BEJNOVUO3@1\[|J3>5@GN@HO3\[V5GTS(@1BEIbJ3>5@|M[Sh@t\[|G3@Hgj@dMlJN@HA
g5GN@h@H^<gCJ3BX\[IUO&\_|!JN>5@1WX\l` g5GNBE\KG3BEJonwJTM[O3PO&inLJN>5@tBXImJ3@HG3^<@HA5BXM_J3@tgUG3BX\[GNB]JonJNMKOQPCOqIU\_JIU@h@HA5BEI5YJ3>5@1G3@dOQ\KV5GTS(@[r;IbO3VUST>yMONS(@HIUM_GNBX\Uv
JN>5@>5BXY[>g5G3BX\[GNBEJonJNMKOQPyBcOONM_BcAyJN\V5IUAC@HG3YK\ C N C K F
_
~ ~ hT
lk l
tImiF\[VUIUAC@HAg5GNBE\KG3BEJon<BEIuK@hGTOQBX\[IyBcOM_IBE^<gF\[G3JNM[IKJg5GN\[iUWE@H^J3>UM_J?GN@HM[W]zJ3BX^<@O3nCOoJN@h^ A5@hu[@HWE\Kgj@HGNO&|M[Sh@[r'@1JN>5@hGN@(|}\KG3@BXWEWXVUOQz
JNGNM_J3@<J3>UBXOg5G3\Ki5WX@h^ VUO3BXI5YM_I5\[J3>5@HGw@(5M[^agUWE@yM[IUAZJ3>5BcOJNBE^<@yO3>5\l`BEIUYJ3>5@yMKS
J3BX\[IjO\_|J3>5@ACB]D@hGN@hImJJTM[O3POw\[IeMJ3BX^<@yWEBXI5@Kr
f\KIUOQBcAC@HGJN>5@@(5M[^agUWE@O3>5\l`ILBXI<BXYUr r;ILJ3>5BcO@(5M[^agUWE@KvlJ3>5@HG3@M[G3@UuK@JTM[O3PCO Z \ b g<g"g3\Um[6r \UmBXO&M1WX\l`kg5GNBX\[GNB]Jon JTM[O3PM_IU*A \ b
BcOM>5BXY[>yg5GNBX\[GNB]JonLJNMKOQPr=MKOQPCO \ d c/\ f cR\Yn1>UMu[@tg5G3BX\[GNBEJ3BX@HOq>UBEYK>5@hGJ3>UM[OI \Um0i5V5JWX\l`@HGqJN>UM_OI \ b ShM[WEWX@HAbBEImJN@hGN^a@dACBcMlJ3@tg5G3BX\[GNBEJon
JTM[O3POT
rJJ3BX^aF@ oGp[vmJN>5@1WX\l` g5GNBE\KG3BEJonJTM[O3PP \kmtBXO@(C@dS(VCJNBEI5YaM_IUAyBXOVUO3BEI5YaMwI5\KICz{g5G3@H@h^<gCJTM_i5WX@0GN@HO3\[V5GTS(@w{ft
rC|~JN@hGMw`>UBEWX@
MlJ0JNBE^<@BXIUOQJNM[IKJtJ ?J3>5@L>5BEYK>5@hGtg5G3BX\[GNBEJonyJNMKOQhP \ b M_GNGNBEuK@HOHvCg5G3@H@h^<gCJTSO \UmwM_IjAxOoJTM_G3JNO?JN\y@(C@HShVCJ3@Kr0=MKOQiP \ b G3@dmV5@HOQJNO?JN\yVUO3@
JN>5@LGN@HO3\[VUGNSh@Lf Ml FJ o3dLM[IUAxi5WX\CSTPCOtO3BEIUSh@JN>5@GN@HO3\[VUGNSh@wBXO1iF@hBXI5Yb>5@HWXAihn \ m r BXIUSh*@ \`b iUWE\CSTPCOhYv \ m GN@HO3V5^<@HO1B]JTOt@hC@HS(V5J3BX\[I
M_%J o3dKrqs0\l`@huK@hGdv[JN>5@ JNMKOQ+P \ n `>UBXST>AC\@HO?I5\[J0G3@dmV5BEGN@J3>5@IU\[ICz{g5GN@h@h^<gCJTM_i5WX@G3@dOQ\KV5GNSh@fg5GN@h@H^<gCJN%O \ m |}GN\[^*f9VjO3M[Y[@
M[IUAbOQJNM[GQJTOqJN\L@h@dS(VCJN@M_J&JNBE^<2@ o3f_-r \ n BcOBEIbJ3V5GNIbBcOg5GN@h@h^<gCJN@HAbimjn \UfM_IUAOQ\L\[Ir1OMLGN@HO3V5W]Jdv \qb0OQV5DF@HGNO^VUW]JNBEg5WX@g5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIUO1M[IUA'^Mnx@hu[@HIZ>jMu[@LJ3\`M[B]JBXIUAC@hUI5BEJ3@hWXn|}\K.G \ m JN\Y[@(JwMST>UM[IUS(@aJ3\@h@dS(VCJN@M_IUA'S(\K^agUWE@hJ3@BEJNO VUONM_YK@L\[|JN>5@
ShG3BEJ3BcShM[WG3@dOQ\KV5GTS(@fM_IUAGN@hWX@HMKOQ@ BEJHr{J1OQ>U\[V5WcAij@LS(WX@HM_G?JN>UMlJ1`>5@hIM<>5BXY[>xgUG3BX\[GNB]JonyJNM[O3PbVUIUAC@hGNY[\@dO?V5Iij\KV5IUAC@dAg5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIvB]J0BcO?u[@HG3nyWXBXP[@hWXnJN\a^<BcO3O0B]JTO0AC@HMKACWXBEI5@Kr
'@`BcO3>eJ3\'@h^<g5>UMKOQBXh@M_YmM_BXIeJ3>UM_JLV5IiF\[V5IjAC@HAg5GNBE\KG3BEJonZBXIu[@HGNO3BE\KIUOM[G3BcO3@y`>5@hIJ3GTM[ACBEJ3BX\[IjM_WJ3@HST>UI5BXmV5@dOw|}\KGaO3>UM[G3BXI5Y
I5\KICz{g5G3@H@h^<gCJTM_i5WX@tGN@HO3\[V5GTS(@dO&O3VUST>MKO?OQ@H^<M[g5>5\KG3@dOq\[G^<\[I5BEJ3\KGNO?M[G3@AC@hg5WX\ln[@dABXIbGN@HM_WEzJ3BX^a@ M_gUg5WEBcShM_J3BX\[IUOHr\KONOQBXi5WXnLJN>5@ OQBX^az


 

 





Version 2 CSE, IIT Kharagpur

lock(CR)
T1 needs nonpreemptable resource CR being held by T5
T1
T1 undergoing unbounded priority inversion
T2

T1 gets nonpreemptable
resource CR held by T5

T5 preempted by T4

T3
T4

unlock(CR)
lock(CR)

T5
t1

t2

t3

t4

t5

time

tn

; BXY[V5GN@ !Z tImiF\[VUIUAC@HA&G3BX\[GNB]JonIuK@hGTOQBX\[I
g5WX@HOQJ0`?MnyJ3\yMuK\[BcAyg5GNBX\[GNB]JonyBXIu[@HGNO3BE\KIUO?BcO?J3\g5GN@huK@hImJ0g5GN@h@H^ag5J3BX\[Ie~|}GN\[^f& VUONM_YK@d\_|J3>U@WE\l`g5GNBE\KG3BEJonJNMKOQP>5\[WcACBXI5YM
ShG3BEJ3BcShM[W!G3@dOQ\KV5GNSh@tinyBXImJ3@hGN^<@HACBcMlJN@ g5G3BX\[GNBEJon<JNM[O3PCOhr=?>5BcOShM[IiF@M[ST>5BX@huK@HAbimnbGNM[BXO3BEIUYJN>5@g5GNBE\KG3BEJon<WE@Hu[@hW!\[|JN>5@WE\l`g5G3BX\[GNBEJon
JTM[O3PJN\iF@<@HmVUM[WJN\bJN>UMlJ \_|qJN>5@a`M[B]JNBEI5Y>5BXY[>Zg5G3BX\[GNBEJonbJTM[O3PFrIZ\_JN>5@hG`\KGNAUOhvFJ3>U@LWX\l`g5GNBE\KG3BEJonJNM[O3PBXO^M[A5@JN\BXI5>5@HG3BEJ
JN>5@1gUG3BX\[GNB]Jona\_|!JN>5@`M[B]JNBEI5YL>5BXY[>yg5GNBX\[GNB]JonLJNMKOQPr=?>5BXOiUMKOQBcS0^<@dST>UM_I5BcO3^\[|MwWX\l` g5G3BX\[GNBEJonJTM[O3PaBXI5>5@HG3BEJ3BXI5YJ3>5@g5GNBE\KG3BEJonL\[|M
>5BXY[>g5GNBE\KG3BEJon<JNMKOQP<|}\KG3^OJ3>5@ S(@HImJ3GTM_WBXA5@HMLij@H>5BEIjAbJN>5@ F
_
~   5h
~lFT 3ldN_  
r5=?>UBXOO3BE^<g5WX@g5G3\[J3\CS(\KW!OQ@HG3uK@HO
MKOJ3>U@1iUMKOQBcSGN@HM[W]zJ3BX^<@0G3@dOQ\KV5GTS(@tO3>UM_GNBXI5Y^<@HST>UM[I5BXO3^viUM[O3@HA<\KIy`>5BcST>y^<\[GN@tOQ\Kg5>5BcOoJNBXSHMlJN@HAg5GN\_JN\CS(\[WcO>UMuK@0iF@h@hIAC@HO3BEYKI5@HAr
IJN>5@|}\[WXWE\l`BXI5Y1O3@HS(J3BX\[IUO`@qUGTOoJACBcO3ShVUONOJN>5@ijM[O3BXS&g5G3BX\[GNBEJon1BXI5>5@HG3BEJNM[IUS(@g5GN\_J3\CSh\[Wjqo!BXILO3\[^<@AC@hJNM[BEWrCV5iUO3@HmV5@hImJNWEnKv
`@tACBcO3ShVUONO&>5BXY[>U@HOQJ&WE\CSTPK@hGqg5GN\_JN\CS(\[W;:s [&M_IUA<gUG3BX\[GNB]Jon<S(@HBEWXBXI5Ywg5GN\_JN\Sh\[W;f;J3>jMlJ>jMu[@iF@h@hIAC@huK@hWX\[gF@HA<ina@(J3@HIUACBXI5Y
JN>5@wOQBX^<g5WX@g5G3BX\[GNBEJonBEI5>U@hGNB]JTM_IUSh@BcAC@dM|}VUGQJN>5@hGdr

q(Lq x0q ;w yL 
=?>5@LiUM[O3BcSg5GNBE\KG3BEJonbBXI5>5@HG3BEJNM[IUS(@Lg5G3\[J3\CS(\KW&&o0BXO1MyOQBX^<g5WX@wJ3@dST>5I5BcmV5@wJN\O3>UM_GN@wS(GNB]JNBXSHM_WG3@dOQ\KV5GNSh@HO0M[^<\[I5YJTM[O3PCO0`BEJ3>5\KVCJ
BXIUS(VUG3GNBEIUYV5IiF\[V5IjAC@HA'g5GNBE\KG3BEJonxBXImuK@hGTOQBX\[IjOhratOBEJJ3V5GNIUO \KVCJHvGN@HM[W]zJ3BX^<@<\[gF@hGTMlJ3BXI5YOQnCOQJ3@H^8AC@HO3BXY[I5@HGNO AC\I5\[JUIUAZB]JwuK@hGNn
ACB yS(V5WEJ J3\xO3V5g5gF\[G3J1JN>5@<iUM[O3BXSLg5GNBE\KG3BEJonBEIU>5@hGNB]JTM_IUSh@<^a@dST>UM_IUBXO3^rwI|MKS
JdvM[O`@ACBcONS(VUONOBEIZJ3>5@yf>UM[gCJ3@HG Cv!^<\KOQJ\[|&JN>5@
GN@HM[W]zJ3BX^<@\Kgj@HGNM_J3BXI5Y<OQnCOQJ3@h^OJN>UMlJtM[G3@S(\K^<^a@HGNShBXM[WEWXnyMulM_BXWXM[i5WX@M_J0g5G3@dOQ@HImJA5\<O3V5g5gF\[G3JJ3>UBXOgUG3\[J3\CS(\KWr
=?>5@iUMKOQBcS?qoZ`MKOgUG3\Kgj\mOQ@dAinL>UM M_IjAL0M oPV5^M_G    r=?>5@?@HONOQ@HIUS(@\_|jJ3>5BcOg5GN\_JN\Sh\[WBcO;J3>UM_J`>U@hI5@Hu[@hGMtJNMKOQPO3VCD@hGTO
g5GNBX\[GNB]Jon<BXImuK@hGTOQBX\[Iv[JN>5@ g5G3BX\[GNBEJona\[|JN>5@1WX\l`@hGg5G3BX\[GNBEJonLJTM[O3P>5\[WcACBXI5YLJ3>5@ GN@HO3\[V5GTS(@1BXOGTM_BcOQ@dAJ3>UG3\KV5Y[>bMLg5GNBE\KG3BEJon<BEIU>5@hGNB]JTM_IUSh@
^<@HST>jM_I5BcOQ^r=?>5BcO&@HIUM_i5WX@HO&B]JJ3\LS(\[^<g5WX@(JN@tBEJNOVUONM_Y[@t\_|J3>5@S(GNB]JNBXSHM_WFG3@dOQ\KV5GTS(@M[O@HM[G3WXnLMKOqgF\KONOQBXi5WX@t`BEJ3>5\KVCJ>UMuBXI5YJN\OQV5DF@HG
g5GN@h@H^<gCJ3BX\[IUOw|}G3\K^8JN>5@yBXImJ3@hGN^<@HACBcMlJN@yg5GNBE\KG3BEJonJTM[O3PCOhr>5@HIk^M_InJTM[O3PCOwM_GN@y`?M_BEJ3BXI5Y|}\[GaMxG3@dOQ\KV5GTS(@[vJ3>5@bJNMKOQPZ>5\[WcACBXI5Y
JN>5@G3@dOQ\KV5GTS(@BEI5>U@hGNB]JTO?J3>5@>UBEYK>5@HOQJ0g5GNBE\KG3BEJon\_|M_WXW!JNMKOQPCO?`?M_BEJ3BXI5Ya|}\[G?JN>5@wGN@HO3\[V5GTS(@<}BE|JN>5BcOg5GNBE\KG3BEJonyBcOY[GN@HM_J3@hGJN>UM_IBEJNO\l`I
g5GNBX\[GNB]Jon5
ryBXIUSh@<J3>5@g5GNBX\[GNB]Jonx\[|JN>5@WE\l`g5GNBE\KG3BEJonJNMKOQP>U\[WcACBEIUYJ3>5@GN@HO3\[V5GTS(@LBXOwGNM[BXO3@HAJ3\@HmVUM[WJ3>5@>UBEYK>5@HOQJwg5GNBE\KG3BEJonx\_|
M[WEWJTM[O3PCO `M[B]JNBEI5Y|}\KG J3>5@GN@HO3\[V5GTS(@aiF@hBXI5Yx>5@hWcA'inBEJHv;BEImJ3@HG3^<@dACBXM_J3@<g5GNBE\KG3BEJonxJTM[O3POSHM_I'I5\_JwgUG3@H@h^<gCJwBEJM_IUA'V5IiF\[V5IUA5@HA
g5GNBX\[GNB]Jon'BEIuK@hGTOQBX\[IkBcOaMu[\[BcAC@dA!r'1O<OQ\\[IM[O<MxJTM[O3PZJN>UMlJ<>UMKAkBXI5>5@hGNBEJ3@HAkJ3>5@g5GNBE\KG3BEJonR\_|tMZ`M[B]JNBEIUY>5BXY[>5@HGLgUG3BX\[GNB]Jon'JTM[O3P
ij@dShM_VjOQ@w\[|>5\[WcACBXI5YbMGN@HO3\[V5GTS(@
v5GN@hWX@HMKOQ@dO?J3>U@GN@HO3\[V5GTS(@ BEJ1Y[@hJNOtiUM[STPB]JTO0\[GNBXY[BXIUM_WgUG3BX\[GNB]JonulM_WXV5@wBE|qB]JBXOt>5\[WcACBXI5YyI5\y\[J3>5@HG
ShG3BEJ3BcShM[W;GN@HO3\[VUGNSh@HOHrwI'SHM[O3@LBEJBXO >U\[WcACBEIUY\[J3>5@HGS(GNB]JNBXSHM_WG3@dOQ\KV5GTS(@HOHvB]J`\[V5WcAZBEI5>U@hGNB]J J3>U@agUG3BX\[GNB]Jonx\[|qJ3>U@>5BEYK>5@HOQJ g5G3BX\[GNBEJon
JTM[O3Py`M[B]JNBEIUYL|}\KG?J3>5@GN@HO3\[VUGNSh@HOij@HBEIUYa>U@hWcAinyBEJHr


 

Version 2 CSE, IIT Kharagpur

pri(Ti)=5

pri(Ti)=5

CR

CR

Ti

Ti

CR
Pri(Ti)=10

Ti

Ti

pri(Ti)=5

CR

Tj

Tj
Tj

pri(Tj)=10

pri(Tj)=10
pri(Tj)=10
scenario 4

;BXY[V5GN@ rZ IUM[gUOQ>U\_JNO0C>5\l`BEIUYa'\[GNPBEIUYa\[|;&G3BX\[GNB]JonIU>5@hGNB]JTM_IUSh@qGN\_J3\CSh\[W


scenario 1

scenario 2

scenario 3


      
   

     "!#   $
!%&   ' ( (% *)+
, -    

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

*) , (#      1
2

=?>5@1g5GNBE\KG3BEJonST>UM_I5YK@HOqJ3>UM_J?MJNMKOQP<>5\KWXACBXI5YaMGN@HO3\[V5GTS(@tV5IUAC@HG3YK\m@dO&>jM[Oij@H@hIbBXWXWEVUOQJ3GTMlJN@HAyJ3>5GN\[V5YK>bM_Ib@(5M_^<g5WX@MKOO3>5\l`I
XB IJN>5@BXYKOHr r M_IUA UrIZ;BXYUr r |}\[V5GSh\[IUO3@HShVCJ3BXu[@aO3Sh@hIUM[G3BX\KOtBEIZJ3>5@a@(C@dS(VCJNBE\KIZMOQnCOQJ3@h^ A5@hg5WX\lnBEI5Yqo9M_GN@LO3>5\l`IrI
@dM[ST>xO3Sh@hIUM[G3BX\UvJN>5@w@h@dS(VCJNBEIUY<JNM[O3PbBcOtO3>5\l`IOQ>jM[AC@dA!vjM[IUAJ3>5@wiUWE\CSTP[@dAJNM[O3PM[G3@O3>5\l`IV5IUO3>UM[A5@HA!r?=?>5@g5GNBE\KG3BEJonbST>UM[I5Y[@dO
JN>UMlJJo`\JNMKOQPCOQ\(3;M_IjAO\-41V5IUA5@hGNY[\wBXIyJN>5@S(\[VUGNO3@0\_|@(C@HShVCJ3BX\[IACV5@1J3\ag5G3BX\[GNBEJonLBXI5>5@HG3BEJNM[IUS(@BXOO3>5\l`IrV\3BcO?MwWX\l`g5G3BX\[GNBEJon
JTM[O3P`B]JN>gUG3BX\[GNB]Jon LM_IUiA \-4BcO?ML>UBEYK>5@hG?g5GNBE\KG3BEJonaJNMKOQPy`BEJ3>g5GNBE\KG3BEJon 6 5 r;IONS(@hIjM_GNBE\ !v \3;BXO?@h@dS(VCJNBEIUYaM[IUAb>jM[O?M[SHKVUBEGN@HA
MyShG3BEJ3BcShM[WGN@HO3\[VUGNSh@LfrjIZO3Sh@hIUM[G3BX\ Yv \-4>jM[O1ij@dShM_^<@wGN@HMKACnM_IUAxiF@hBXI5Y\_|q>5BXY[>5@HGtg5GNBX\[GNB]JonBXO1@(C@HShVCJ3BXI5Yjr0IONS(@hIjM_GNBE\ r v
\-4aBcOi5WX\CSTPBEI5YMl|~JN@hGwGN@HmV5@dOoJNBEIUYb|}\KG J3>5@GN@HO3\[V5GTS(@<M_IUE
A \3?BEIU>5@hGNB]JT2O \-47 O g5GNBX\[GNB]JonKraIeONS(@HIUM_GNBE\ U`v \(3?>jM[O V5I5WX\CSTP[@dAJN>5@
GN@HO3\[V5GTS(@ M_IjAb>UMKO?Y[\[J?ijM[STPyBEJNO\KG3BXY[BXIUM[WFgUG3BX\[GNB]JonyM[IUiA \4BcO?@(C@HShVCJ3BXI5Y<`B]JN>J3>5@GN@HO3\[VUGNSh@[r
I;BXYUr <J3>5@Lg5GNBE\KG3BEJonbST>UM[I5Y[@dO\_|JNMKOQPCO0M[G3@wSHM_gCJNV5GN@HA\[IxM<JNBE^<@wWXBXI5@[r0=?>5@wJNM[O3+P \UfBXI5BEJ3BcM_WXWEnWX\STPCO?JN>5@GN@HO3\[VUGNSh@wfwr
0|~J3@hG<O3\[^<@<J3BX^<@bBEJLBcOwg5GN@h@H^ag5J3@HARiBn \Ud_rx=?>5@yJTM[O3DP \UdGN@HmV5@dOoJwJN>5@bGN@HO3\[VUGNSh@yf/M_JwJ rBXIUS(@KKv \UfyM[WEGN@HMKACn>U\[WcA5OJN>5@
GN@HO3\[V5GTS(@K
v \Ud?i5WE\CSTPCOM_Ij_A \Uf?BXI5>5@hGNBEJNOJN>5@g5GNBE\KG3BEJon\_k| \Ud_r=?>5BXOq>UM[OiF@h@HI<O3>5\l`I<inACGTM`BEIU:Y \UdM_Ij*A \Uf?MlJJN>5@0ONM_^<@?g5G3BX\[GNBEJon
WX@huK@hWcOhr @h|}\[GN_@ \Uf<S(\[VUWXAZS(\[^<g5WX@(JN@LVjOQ@<\_|G3@dOQ\KV5GNSh@<fvBEJBXO g5GN@h@H^<gCJ3@dAinM>5BEYK>5@hGg5GNBE\KG3BEJonJNMKOQCP \`b*r \`bGN@HmV5@dOoJTOt|}\KG
f M_JJNBE^<@<J r M[IUEA \qbi5WX\CSTPCOM[Owf BXOOQJ3BXWXWqij@HBEIUY>U@hWcAZiCn \Uf_ry\jvMlJ JN>5BXOwgj\KBEImJ J3>5@HG3@M[G3@aJo`\bJTM[O3PO \UdaM[IUEA \qbh
`?M_BEJ3BXI5Y|}\KG0J3>U@GN@HO3\[V5GTS(@K5r \UfBEI5>U@hGNB]JTOJ3>U@g5GNBE\KG3BEJonb\[|J3>5@L>5BXY[>5@dOoJtgUG3BX\[GNB]Jon`?M_BEJ3BXI5YJNMKOQPR~JN>UMlJBXOHYv \qbh
Sr \UfLS(\[^<g5WX@(JN@HOtB]JTO
VUONM_YK@\_|J3>U@0G3@dOQ\KV5GTS(@MlJqJ M_IjAM[OqO3\\[IM[O&B]J&GN@hWX@HMKOQ@dO;J3>5@1G3@dOQ\KV5GTS(@[v[B]J&YK@(JTOqiUMKSTPBEJNOq\KG3BXY[BXIUM[WCg5G3BX\[GNBEJon[r;{JOQ>U\[V5WcA<ij@tI5\_JN@HA
JN>UMlJLMWX\l`@hGg5GNBE\KG3BEJonxJTM[O3PGN@(JNM[BEIjOJ3>5@yBXI5>5@HG3BEJ3@dARg5GNBE\KG3BEJon[vVUIKJNBEWB]JL>5\[WcA5O JN>5@yGN@HO3\[V5GTS(@<GN@HmV5BXG3@dAinJN>5@y`?M_BEJ3BXI5Yx>5BXY[>5@HG
g5GNBX\[GNB]JonbJNM[O3Pr>U@hI5@Hu[@hGt^a\KG3@ JN>UM_Ix\KI5@>5BXY[>5@HGtg5GNBX\[GNB]JonJTM[O3PM[G3@`?M_BEJ3BXI5Y<|}\[GtJ3>5@LO3M[^a@GN@HO3\[VUGNSh@[vCJN>5@JNMKOQP>5\[WcACBXI5YJN>5@
GN@HO3\[V5GTS(@BXI5>5@hGNBEJNOJ3>U@^<M_CBE^LV5^ \[|J3>U@g5G3BX\[GNBEJ3BX@HO?\_|M_WXW`?M_BEJ3BXI5YL>UBEYK>gUG3BX\[GNB]Jon<JTM[O3PCOhr
{J?BXOS(WX@HM[G&JN>UMlJqoShM[IbWX@(J?G3@dM_WEzJNBE^<@0JTM[O3PCOO3>UM_GN@1ShG3BEJ3BcShM[WjGN@HO3\[VUGNSh@HOq`BEJ3>U\[VCJ?WE@hJQJNBEI5YLJ3>U@h^6BXIUS(VUGV5IiF\[V5IjAC@HAbg5G3BX\[GNBEJon


Version 2 CSE, IIT Kharagpur

T1

T1

T3

T3 releases CR

T2

T3
T1 requests CR

T2 requests CR

T3 acquires CR

Task
priority

T3 gets back
its original
priority
T2

T3

T3
t1

t2

t3

time

t4

; BEYKV5G3@  Z qGNBE\KG3BEJonf>UM_IUY[@HO?tIUAC@hG1qGNBE\KG3BEJon<I5>5@hGNBEJNM_IjS(@qGN\_JN\Sh\[W
BXIu[@hGTO3BE\KIUOhrs0\l`@huK@hGdvB]JtO3VCD@hGTO|}G3\K^/Jo`\<BX^<gj\KGQJTM_ImJg5G3\Ki5WX@h^O Z
J J   1(R1 <M=7 :3P&() j=7 !
0((,P)=( +   <:(& (,_3h# 1(  %  <)
7 !
0" X

'@@hWcM_iF\[GTMlJN@tJN>5@HO3@Jo`\<BcO3O3V5@HO?BXIJ3>5@ |}\KWEWX\l`BXI5YUr

 =?>U@wiUM[O3BcSg5GNBE\KG3BEJonbBXI5>5@HG3BEJNM[IUS(@Lg5G3\[J3\CS(\KW&&o?WX@HMuK@HO\Kgj@HIxJ3>U@wgj\mO3O3BXi5BEWXBEJon\[|qAC@HMKACWE\CSTPCOHrIJ3>5@|}\[WXWE\l`BXI5Y
`@wBXWEWXVUOQJ3GTMlJ3@>5\l`AC@HMKACWE\CSTPCO0SHM_I\CShShV5G0BXIqo VUOQBXI5YbM[Ix@(5M_^<g5WX@[r1f\KIUO3BXAC@HG0JN>5@w|}\KWEWX\l`BEIUYyOQ@dKVU@hIUSh@w\_|&MKS
J3BX\[IjO0inbJo`\
JTM[O3P%O \`b1M_IjiA \Ud`>5BcST>I5@h@dAMKShS(@dO3OJN\aJo`\O3>UM_GN@HAS(GNB]JNBXSHM_W!GN@HO3\[V5GTS(@dO?f M[IUAf r


\`b
\U#d 

*)
*
) $

*)! $*)"! -$)


*
) #! $*
) ##! -$
) 

1O3O3V5^<@ J3>UM_'J \`b>UMKO>5BXY[>5@HG0g5GNBE\KG3BEJonJ3>jM_CI \Ud_5r \UdwOoJTM_G3JNOGNV5I5IUBEI5Y<jGNOQJ1M_IjAWX\CSTPCO0S(GNB]JNBXSHM_WGN@HO3\[VUGNSh@wf  \`b1`?M[OI5\[J


GN@HMKACnMlJ?J3>UM_J?J3BX^a@
rq0|~J3@hG0O3\[^<@1J3BX^<@[v!\`b0M[G3GNBXu[@HOHvmg5G3@H@h^<gCJTOQ\Ud[v5M_IUAOoJTM_G3JNO@(C@HShVCJ3BXI5Yjr0|~J3@HG0OQ\K^a@1J3BX^<@[v!\`btWE\CSTPCOf
M[IUAJ3>5@HIxJ3GNBX@HO?JN\yWE\CSTPf `>5BcST>xBcO0iF@hBXI5Yy>5@HWXAxiin \ d r0tO1MyS(\KIUOQ@dmV5@hIUSh.@ \ b i5WX\STPCO0M[IUA \ d BXI5>5@hGNBEJNSO \ b 7 Otg5G3BX\[GNBEJonM[S(z
Sh\[GTACBEIUYJ3\LJ3>5@1g5GNBE\KG3BEJon<BEI5>U@hGNB]JTM_IUSh@tg5GN\_JN\Sh\[W6r \ d G3@dOQV5^<@dO&BEJNO@(C@HShVCJ3BX\[IM_IUAMl|~J3@HGO3\[^<@tJ3BX^a@I5@H@HA5O&J3\LWE\CSTPaJ3>5@GN@HO3\[V5GTS(@
f iF@hBXI5Y>5@HWXAiOn \ b rqt\l`!v \ b M[IUhA \ d M[G3@ iF\_J3>xAC@dM[ACWX\CSTP[@dA!r
%'& (*),+'  (*)-. JNM[O3PBXOONM_BcAJ3\V5IUAC@HG3YK\bST>UM_BXIi5WX\CSTPBEI5YjvjBE|&@dM[ST>xJNBE^<@BEJ I5@h@dA5O1MbG3@dOQ\KV5GTS(@[vjB]J V5IUA5@hGNY[\@HOtg5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIr=?>VUOBE|MJNMKOQP<I5@H@HA50O /xGN@HO3\[V5GTS(@dO|}\[GBEJNO?S(\K^agUVCJNM_J3BX\[IUOHvKBEJ?^aBXY[>mJ>UMu[@JN\V5IjAC@hGNY[\Lg5G3BX\[GNBEJonLBXIu[@hGTO3BE\KIUOIyJNBE^<@dO
JN\MKShmV5BXG3@aM_WXWB]JTOG3@dOQ\KV5GNSh@HOH_r [@hJVjO I5\l`@(Cg5WcM_BXI>U\l` ST>UM_BXI'i5WE\CSTPBXI5YSHM_IZ\SHS(V5G VUO3BXI5YbJN>5@<@(5M_^<g5WX@OQ>U\l`IBEIR;BEYjr 5r
1O3O3V5^<@<J3>UM_JLMJNMKOQEP \`bLI5@h@dA5OO3@huK@hGTM_WG3@dOQ\KV5GTS(@HOHryI'J3>U@UGTOoJLO3IUM[gUOQ>U\_JyO3>5\l`IRBEIk;BXYUr [
vMWX\l`g5GNBX\[GNB]JonxJTM[O3DP \Ud<BcO
>5\KWXA5BEI5YJo`\G3@dOQ\KV5GTS(@HOwf M[IUAkf v;M_IUARM>5BXY[>Rg5GNBX\[GNB]JonxJTM[O3DP \`baM_GNGNBEuK@HO M_IUA'GN@HmV5@dOoJTOJ3\xWX\STPRf r{JwV5IUAC@HG3YK\m@dO
g5GNBX\[GNB]JonLBEIu[@HGNO3BX\[IM_IUASHM_VUO3@H8O \kdJ3\wBXI5>5@HG3BEJBEJNO&g5G3BX\[GNBEJon[r;I<J3>5@OQ@dS(\[IjAOQIUM[gUO3>5\_JdvKM[OOQ\\KI<MK8O \UdGN@hWX@HMKOQ@dOf BEJNO&g5G3BX\[GNBEJon
GN@HACVjS(@HOJ3\yBEJNOt\[GNBEYKBEIUM[W!g5GNBE\KG3BEJonM[IUA \`bBXOtM_i5WX@J3\bWE\CSTPf rIxJ3>5@wJ3>5BXGNAxO3IUM[gUOQ>U\_JHvFMl|~JN@hG0@h@dS(VCJNBEIUY|}\[GtO3\[^<@ JNBE^<@[Yv \`b
GN@HmV5@dOoJTOJ3\WX\CSTP'f r=?>5BcO J3BX^<@yB]JM[YKM[BEI'V5IUAC@HG3YK\@HOg5GNBX\[GNB]JonBXIu[@HGNO3BE\KIZO3BEIjS(@j\Ud<BXOw>5\[WcACBXI5YZf ri\`bL`M[B]JTOV5ImJ3BXW8\Ud
GN@hWX@HMKOQ@dOf rbUG3\K^J3>5BcO@hCM[^<g5WE@Kv`@yShM[I'O3@h@<JN>UMlJST>UM[BEI'i5WX\CSTPmBXI5Y\CShShV5GNO `>U@hIeMJNMKOQPVUIUAC@hGNY[\@dO ^V5WEJ3BXg5WX@g5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIUOJ3\<WE\CSTPyBEJNO0G3@dKVUBEGN@HAG3@dOQ\KV5GTS(@HOHr


Version 2 CSE, IIT Kharagpur

CR1
T2

T2

T2

CR2

CR2

CR2

Waiting for CR1

Waiting for CR2

T1

T1
CR1

T2 Executing

T1 Executing

T1 Blocked

T2 Blocked

Snapshot 1

Snapshot 2

T1
CR1
T2 Executing
T1 Blocked
Snapshot 3

;BEYKV5GN@  Z f>UM_BXI WX\CSTPBEI5YaBXI&G3BX\[GNBEJonI5>5@hGNBEJNM_IjS(@qGN\_JN\Sh\[W


 (Lt kyqL0 ;ya   
s:[ BcOM_IR@hmJN@hIUO3BX\[Ie\_|qoM[IUARBEJ\lu[@HGNSh\[^<@HO O3\[^<@\_|?J3>U@bOQ>U\[G3JNS(\K^<BEI5YmO \_|0qor!Iks:[@Hu[@HG3nShG3BEJ3BcShM[WqGN@HO3\[V5GTS(@<BcO
MKO3O3BEYKI5@HAbMT(~]~ F
l
~ ulM_WXV5@[r=?>5@ S(@HBEWXBXI5YLgUG3BX\[GNB]Jon<\[|MShG3BEJ3BcShM[WjGN@HO3\[V5GTS(@ BXOBXIC|}\[GN^M_WXWEnAC@hUI5@HAM[O&J3>U@1^MlCBX^V5^
\[|&J3>U@agUG3BX\[GNB]JNBE@dO\_|M[WEWJN>5\KO3@aJNMKOQPCO`>5BcST>Z^MnxGN@HmV5@HOQJJ3\VUO3@LJN>5BcO G3@dOQ\KV5GNSh@[ra0IUAC@HGw's [vMKOOQ\\KIZM[O MJNMKOQPMKShmV5BXG3@dO
MGN@HO3\[VUGNSh@[v5BEJNO1g5GNBE\KG3BEJonbBcOtO3@(Jt@dmVUM_WJ3\yJN>5@Sh@hBXWEBXI5Yyg5GNBX\[GNB]Jon\_|J3>U@GN@HO3\[V5GTS(@Kr{|&M<JTM[O3P>U\[WcA5O0^LV5W]JNBEgUWE@LG3@dOQ\KV5GNSh@HOHvCJ3>U@hIBEJ
BXI5>5@HG3BEJNO JN>5@y>5BXY[>U@HOQJS(@hBXWXBEI5Yg5GNBX\[GNB]Jon\[|?M[WEW&B]JTOwWX\STPK@HAZG3@dOQ\KV5GTS(@HOHr0IkMKO3O3V5^<gCJ3BX\[I'JN>UMlJwBcOBX^agUWEBcS(BEJ3WXnZ^MKAC@`>5BXWE@VUO3BXI5Y
s [ BXOJ3>UM_JJ3>5@GN@HO3\[V5GTS(@1G3@dmV5BEGN@h^<@HIKJTO?\_|;@hu[@HG3nyJNM[O3PyBcO?PI5\l`IiF@(|}\KG3@Sh\[^<g5BXWE@ JNBE^<@[r
:
=?>5\KV5Y[>`@BEI5|}\[GN^<M[WEWXneAC@(jI5@HAkJ3>5@xS(@HBEWXBXI5Yg5GNBX\[GNB]JonR\_|MGN@HO3\[V5GTS(@M[OJ3>5@^MlCBX^V5^\_|tJ3>5@g5GNBE\KG3BEJ3BX@HOL\_|M_WXW&JN>5\KO3@
JTM[O3POt`>5BcST>x^<MnGN@HmV5@HOQJ0JN\yVUO3@J3>5BcO1G3@dOQ\KV5GNSh@[vCJN>5@GNV5WX@|}\[GS(\K^agUVCJ3BXI5YyJN>5@LSh@hBXWEBXI5YygUG3BX\[GNB]JonBXO1OQWXBXY[>mJ3WXnA5B]D@hGN@hImJt|}\KG0JN>5@
ONST>5@HA5V5WE@HGNOJ3>UM_J&|}\[WXWX\l` fx~UGTOQJS(\K^<@UGTOoJO3@hGNu[@dAUgF\[WXBXShnaM[^<\[I5Y@dKVjM_WFg5G3BX\[GNBEJonGN@HM[A5nwJNMKOQPCOM_IUAaJN>5@1ONST>5@HA5V5WE@HGNOqJ3>UM_J
|}\KWEWX\l` MxJ3BX^a@OQWXBXSh@HARGN\[V5IjAZGN\[iUBEIkONST>5@HA5V5WEBXI5YM[^a\KI5Yx@HmVUM[W&g5GNBX\[GNB]JonGN@HMKACnJTM[O3PrIeJN>5@bf'gF\[WXBcS(n[vMJTM[O3PZGNV5IUO JN\
Sh\[^<g5WX@(J3BX\[IZ`>5BXWE@M[ImnxGN@HMKACn50@dmVUM_W;g5GNBE\KG3BEJonJNM[O3PCO`M[B]JdrL1IJ3>U@a\[J3>5@HG1>jM_IUA!v!BXIZJ3BX^a@hz{O3WXBXSh@HAGN\[VUIUAGN\[i5BXIZONST>5@dACV5WXBEI5Yjv
JN>5@@HmVUM[W!g5G3BX\[GNBEJon<JNM[O3PCO?@(C@HShVCJ3@ |}\KG\[I5@JNBE^<@wO3WEBcS(@MlJtMLJNBE^<@BXIMaGN\[V5IjAbGN\[i5BXI|M[O3>5BE\KIr
[@(JVUO?UGTOQJSh\[IUO3BcAC@hG0M<ONST>5@HACVUWE@HG?J3>UM_J|}\[WXWE\l`0O?;fONST>5@HACVUWEBXI5Y<gj\KWEBcS(nM_^<\[IUYL@dKVjM_W!g5GNBE\KG3BEJonJTM[O3POH-r [@hJJN>5@wS(@HBEWXBXI5Y
g5GNBX\[GNB]Jony\[|;M<GN@HO3\[V5GTS(@
3 ij@wA5@hI5\[J3@HAinf@HBEW{
3 0M_IUAbJ3>5@g5G3BX\[GNBEJon\_|MJTM[O3+P \ 3 iF@wAC@hI5\[J3@dAMKO?g5GNB \ 3
r=?>5@hIvf@hBXW
3
BcOAC@(jI5@HAM[O|}\KWEWX\l`0O Z

3    \ 3 "(! \ 3 /
3(' g"g<gh r g


#$&%
=?>UM_JwBXOHv!JN>5@yS(@HBEWXBEIUYxg5G3BX\[GNBEJonx\_|MShG3BEJ3BcShM[WG3@dOQ\KV5GTS(@)
3?BcO J3>U@^<M_CBE^LV5^ \_|J3>U@g5G3BX\[GNBEJonx\_|M_WXWJNM[O3PCOJ3>UM_Jw^MnVUO3@)
33r
=?>5BcO@(Cg5GN@HONOQBX\[I>5\KWXAUO&\KI5WEn<`>5@HIb>5BXY[>U@hGg5G3BX\[GNBEJonLulM_WXV5@dO&BXIUACBcShM_J3@t>UBEYK>5@hGg5GNBE\KG3BEJonM[OBEIBEIjAC\l`0O&\Kgj@HGNM_J3BXI5YO3nCOoJN@h^y
r{|
>5BXY[>U@hGg5GNBE\KG3BEJonulM_WXV5@HOBXIUACBcShM_J3@WX\l`@HGg5GNBX\[GNB]JNBE@dOM[OBXIx0I5BEU
vCJN>5@hIJ3>U@ Sh@hBXWEBXI5Y<g5GNBE\KG3BEJon`\[V5WcAbiF@ J3>U@^<BXI5BX^V5^g5G3BX\[GNBEJon
\[|M[WEWJTM[O3PO?IU@h@HA5BEI5YaJN>5@G3@dOQ\KV5GT S(@[r=?>UM_J0BXOHv
*
3+,  /q-.   \3/
! \3$/ #$&%
3 ' g<g"gd r g
U\[G\Kgj@HGNM_J3BXI5YtO3nOQJ3@H^OOQVUg5gj\KGQJNBEIUYJ3BX^<@(zOQWXBXSh@HAGN\[VUIUAG3\Ki5BEIwONST>5@dACV5WXBEI5Y1M_^<\[I5Y@dmVUM_WKg5G3BX\[GNBEJon0JNMKOQPCOM_IUA WcM_GNY[@HG!g5G3BX\[GNBEJon
ulM_WXV5@ BXIUACBcShMlJN@HO>UBEYK>5@hGg5GNBX\[GN B]JonKvKJN>5@GNV5WE@|}\KGtS(\K^agUVCJ3BXI5YaJ3>5@wSh@hBXWEBXI5Y<g5GNBE\KG3BEJonyBcO Z
*
3 +0;21    \ 3 "(! \ 3 / #$&%
3(' 3 g<g"gh r g r
U\[G1J3>5@<ShMKOQ@L`>5@hGN@WcM_GNY[@HG0g5GNBE\KG3BEJonuM[WEVU@BXIUACBcShMlJN@HOWX\l`@HGtg5GNBE\KG3BEJonRM_IjAxJ3BX^<@(zOQWXBcS(@HAG3\KV5IUAz{GN\[i5BXIO3ST>U@HACV5WXBXI5YM[^a\KI5Y
@dKVjM_W!g5GNBE\KG3BEJon<JNMKOQPCOT
vC`@>UM u[@1J3\<JTM_PK@tJN>5@^<BEI5BX^VU^\[|J3>U@ JNM[O3Pyg5GNBX\[GNB]JNBE@dOhr=?>UM_J0BXO Z

3 +,  /q41    \ 3 /
! \ 3 / #$&%
3-' 3 g"g<gH r g m
5


Version 2 CSE, IIT Kharagpur

IbJ3>5@G3@dOoJ?\_|J3>5BcOtf>UM_g5J3@hG`@O3>UM_WXW!M[ONOQVU^a@;fO3ST>5@dACV5WXBEIUYLM_^<\KI5Y@dKVjM_Wg5GNBE\KG3BEJonaJNM[O3PCOM[IUAbM[WXO3\wJN>UMlJBXIUS(GN@HMKOQBXI5Y
g5GNBX\[GNB]JonZuM[WEVU@HOBXIUACBcShM_J3@yBXIUS(GN@HMKOQBXI5Yg5GNBE\KG3BEJon\[|?JNM[O3PCOhr=\xBEWXWEVjOoJNGNM_J3@y>5\l` g5GNBE\KG3BEJonZSh@hBXWEBXI5YmO\_|GN@HO3\[V5GTS(@dOM_GN@yS(\[^<g5V5J3@HAv
Sh\[IUO3BXA5@hGJ3>5@|}\KWEWX\l`BEIUYL@hCM[^<g5WE@O3nCOoJN@h^/`BEJ3>x;fO3ST>5@dACV5WXBEIUYaM[^a\KI5Ya@HmVUM_W!gUG3BX\[GNB]JonaJTM[O3POHrIbJN>5BcOOQnCOQJ3@h^v5MaGN@HO3\[V5GTS(@
f BcO0O3>UM_GN@HAinJ3>5@wJNM[O3PC%O \ b v \Um_v M_IUhA \M_IjAf BcOO3>UM_GN@HAi+n \Umlv M_IUhA \_r8[@(J0VUO0MKO3O3V5^<@J3>UM_JJ3>5@g5G3BX\[GNBEJon\_|V\ b 
| \ d  Cvg5GNBE\KG3BEJon\_| \  rw=?>5@HIvJ3>5@ag5GNBE\KG3BEJon\_|?f `BXWEWiF@JN>5@<^MlCBE^LV5^,\_|qJN>5@<g5GNBE\KG3BEJ3BX@HO1\_8| \ b Uv \Um[v
# 5 vFJ3>UM_J\[
M[IU+A \[rq=?>5@hIv5J3>5@wSh@hWXWEBXI5Yg5GNBE\KG3BEJon\_|qf BcOtf@hBXW{f ^<M_ # 5 v Cv ' / 6 5 r=?>5@HG3@h|}\[GN@[v5M[OO3\\[IM[O?@HB]JN>5@hG\[K| \ b v \Um[v
\KG \1MKShmV5BXG3@dOf vKBEJNOg5GNBX\[GNB]Jona`BEWXWFij@GNM[BXO3@HAaJN\ # 5 r=?>5@tGNV5WX@t\[|BEI5>U@hGNB]JTM_IUSh@t\_|g5G3BX\[GNBEJonLBcOqJN>UMlJ?M_InaJNMKOQPaJ3>jMlJMKShmV5BXG3@dO
JN>5@wGN@HO3\[V5GTS(@BEIU>5@hGNB]JTOJN>5@S(\KG3GN@HO3gF\[IUACBXI5Y<S(@HBEWXBEIUYg5G3BX\[GNBEJon[r&{|M<JTM[O3PyBXOt>5\[WcACBXI5Y^<\[GN@ J3>UM[I\[I5@GN@HO3\[V5GTS(@KvCB]JTO0g5GNBX\[GNB]Jony`BXWXW
iF@HSh\[^<@t^MlCBX^V5^\[|!J3>5@S(@hWXWXBEI5YLg5GNBE\KG3BEJ3BX@HO\[|M_WXWUJN>5@tGN@HO3\[VUGNSh@HOBEJBcO>5\[WcACBXI5YUr5\KG@hCM[^<g5WE@KvCf@HBEW{f / 1^M_! 5v '  Cr
JTM[O3Py>5\[WcACBXI5Y<ij\[J3>f M_IjAxf `\[VUWXABEIU>5@hGNB]JTO?J3>U@WXM[G3YK@hG\_|;J3>5@ Jo`\S(@hBXWXBEI5Y<g5GNBX\[GNB]JNBE@dOhvCBr @Kr 6 5 r


(  !J@)./)(102/_) 4>3 6)


<W (,j)O# "R=#" 2 >) 3 " ) 5& ." (7 (,i   9 X

WEBEJQJNWE@tJ3>5BXI5PBEIUYLShM[IbO3>5\l` J3>UM_J&J3>UBXO>5@hWXgUO@hWXBE^<BXIUMlJN@0JN>5@tg5GN\[iUWE@H^<O\_|!V5IiF\[V5IjAC@HAbg5G3BX\[GNBEJonBXImuK@hGTOQBX\[IjOhvmAC@HMKACWE\CSTPvKM[IUA
ST>UM[BEIi5WX\CSTPmBXI5Yjrst\l`@Hu[@HGHvBEJtS(GN@HMlJN@HOI5@H`9g5GN\[iUWE@H^<OHrZ@ |}\KG3^M[WEWXnbM_IjM_WXnmH@tJN>5BcOgj\KBEImJtMaWXB]J3J3WX@WXM_J3@hGBXIJ3>5BcO0O3@HS(J3BX\[Ir
s:[O3\[WXu[@HOJN>5@yg5GN\[iUWE@H^<Ow\_|?V5Iij\KV5IUAC@dARg5G3BX\[GNBEJonBEIuK@hGTOQBX\[IvST>UM_BXIRi5WE\CSTPBXI5YUv;M_IUAeAC@dM[ACWX\CSTPrb@HSh\[WXWE@dS
JJN>UMlJwJN>5@yiUMKOQBcS
&oe`MKO&O3VUONS(@hg5J3BXi5WE@tJ3\JN>5@HO3@tgUG3\Ki5WE@H^Ohr=?>5@0|}\KWEWX\l`BXI5YJ3>U@h\[GN@h^M_IjAB]JTOSh\[GN\[WXWXM[G3BX@HOO3V5iUOQJNM[ImJ3BcMlJ3@0J3>5@dOQ@t|}@HMlJNV5GN@HOq\[|s'[r
  c h (l3
h C3T1 Ul
~& &lTa{l  mhL3(h C3T3  C~3 ~ ~c1l (XH [ y_
 &   
  5h
 C
5h" l
   5[@(J0VUOSh\[IUO3BXA5@hG?Jo`\LJTM[O3PCQ
O \`bM[IU+A \Ud1J3>jMlJ0I5@H@HAJ3\O3>UM_ GN@Jo` \<S(GNB]JNBXSHM_W!GN@HO3\[V5GTS(@dO0f M_IUAxf 8r [@(JVUO0MKO3O3V5^<@
JN>UMlJLMxJNM[O3DP \`b<MKShmV5BXG3@dOLf r=?>5@HIVv \`b7 Owg5GNBE\KG3BEJoniF@HSh\[^<@HO  
inR's [r;tONOQVU^a@yJ3>UM_JLOQVUiUOQ@dmV5@hImJ3WXn'B]JLM[WXO3\
GN@HmV5BXG3@dOtM GN@HO3\[VU GNSh@af r V5g5gF\KO3_@ \UdBXOM_WXG3@dM[ACn >5\[WcAC BXI5Yf rt{8| \UdBXO1>5\[WcACBXI5Yf Yv \kd7 O1g5GNBE\KG3BEJon OQ>5\KV5Wc Ax>UMu[@ij@H@hI
GTM_BcOQ@dAJ3\ 
in's [GNV5WX@[r1imuBX\[VUO3WXn 
^LVUOQJ iF@aY[GN@HMlJN@hG1J3>UM[I.   \ b
vij@dShM_VjOQ@ *
0BXO\KI5@
^<\[GN@aJ3>UM[I'J3>5@^MlCBX^V5^p\_|J3>5@gUG3BX\[GNB]Jon\_|M_WXWJNMKOQPCO VUO3BEIUYJN>5@yGN@HO3\[V5GTS(@~JN>UMlJwBXIUShWEVUA5@H.O \ b (rb=?>5@HG3@h|}\[GN@[qv \ d iF@hBXI5Yx\_|
>5BXY[>U@hG?g5GNBE\KG3BEJonyOQ>U\[V5WcAb>jMu[@ij@H@hI@(C@HShVCJ3BXI5YUv5M[IUiA \ b O3>5\[VUWXAI5\_J>UMuK@1YK\_JM<ST>UM_IUSh@tJN\<@(C@HShVCJ3@Krq=?>5BXO?BcOMaS(\[ImJNGNMKACBXS(J3BX\[I
JN\J3>5@aM[ONOQVU^ag5J3BX\[IJ3>jMl'J \ b BcO0@hC@HS(V5J3BXI5Yy`>5BXWE_@ \ d BXO1>5\[WcACBXI5YJN>5@wGN@HO3\[V5GTS(@Lf r0=?>5@hGN@(|}\KG3@Kv \ d S(\KV5WcAI5\_Jij@L>5\[WcACBXI5YyM
GN@HO3\[V5GTS(@GN@HmV5@dOoJN@HAxin \ b `>5@H?I \ b BcOt@hC@HS(V5J3BXI5YUrtO3BEI5YMbO3BE^<BXWXM[GtGN@HMKOQ\KI5BEIUYUvU`@LSHM_IO3>5\l`J3>jMlJ1`>U@hDI \ b M[ShmV5BXGN@HO\KI5@
GN@HO3\[V5GTS(@KvmM[WEW!GN@HO3\[VUGNSh@HOG3@dKVUBEGN@HAbimnbB]J0^LVUOoJiF@|}G3@H@[rq5GN\[^JN>5BcO`@ ShM[ISh\[IUShWEVjAC@J3>UM_JMLJTM[O3Pi5WE\CSTPCOMlJiF@HOQJ\[IUSh@1|}\KGM_WXW
BEJNOGN@HO3\[VUGNSh@1GN@HmV5BXG3@H^<@hImJNO|}\[G0M[InbOQ@hJ\_|;JNM[O3PCOM_IUAGN@HO3\[V5GTS(@G3@dmV5BEGN@h^<@HIKJTOhr










 



{J |}\[WXWX\l`0O|}G3\K^8=?>5@h\KG3@H^ J3>UM_JwV5IUAC@HGw's [9JTM[O3PO M[G3@<i5WX\CSTP[@HAZMlJ^<\KOQJw\[IUSh@|}\KGwM_WXWJ3>5@HBEGG3@dOQ\KV5GNSh@GN@HmV5BXG3@H^<@hImJNOHr


?= >UM_JwBXOwJNMKOQPCOM_GN@
~[E (Edl~&_rxs0\l`@huK@hG`@yOQ>U\[V5WcA'G3@H^a@H^iF@hGJN>UMlJw\KIUS(@yMJTM[O3PZM_|~J3@hGY[@(J3J3BXI5YMGN@HO3\[V5GTS(@<^MniF@
g5GN@h@H^<gCJ3@dAe~|}GN\[^ f&VUONM_YK@dinM<>5BEYK>5@hG1g5GNBE\KG3BEJonJNMKOQP`>5BcST>AC\@HOIU\_J1O3>UM_GN@wM_InG3@dOQ\KV5GTS(@HO?`BEJ3>JN>5@JTM[O3PFr VCJdvUJN>5@
OQBXI5Y[WX@ i5WX\STPBXI5YKL`@ A5BXONS(VUONO3@HA!vCBcOi5WX\CSTPmBXI5Y<\[IM[SHS(\KV5ImJ?\[|GN@HO3\[V5GTS(@ O3>UM_GNBEIUYUr
tI5\_JN>5@hGgF\[BXImJ0`>5BXST>`@^VUOQJ0GN@h^<@h^Lij@HGBXO?JN>UMlJJN>5@wAC@dM[ACWX\CSTPbM_IUAST>UM[BEIi5WX\CSTPmBXI5Y<GN@HO3V5W]JTO\_|'s [ M[O0`@HWEWMKOJ3>UM_J
\[|fkA5BXONS(VUONO3@HABXIyJN>5@1IU@(J?O3@HS(J3BX\[Ij&M_GN@tulM_WXBcA\[I5WXnV5IUA5@hGJ3>5@ M[ONOQVU^ag5J3BX\[IJN>UMlJMJTM[O3PaGN@hWX@HMKOQ@dO&MG3@dOQ\KV5GNSh@0BEJ?AC\@dO&I5\[J
MKShmV5BXG3@wM[Imn|}V5G3J3>5@HG1GN@HO3\[VUGNSh@HOHr=?>UM_J1BcOhvjJ3>U@GN@HmV5@HOQJtM_IjAxG3@HWE@dM[O3@\_|GN@HO3\[V5GTS(@dOinM<JTM[O3PSHM_IxiF@LACBXuBXA5@HAxBXImJ3\Jo`\bS(WX@HM[G
g5>jM[O3@HO Z BEJUGTOoJ0MKShmV5BXG3@dOM_WXW!G3@dOQ\KV5GNSh@HOBEJ0I5@h@dA5OM_IUAbJ3>U@hIxGN@hWX@HM[O3@HOJN>5@G3@dOQ\KV5GTS(@HOHr
=?>5@|}\KWEWX\l`BEIUY<M[G3@1Jo`\aBX^<gj\KGQJTM_ImJ0S(\KG3\KWEWcM_GNBE@dO&`>UBXST>@HMKOQBXWXn|}\[WXWE\l`|}G3\K^ =?>5@H\[GN@h^ r
%   * "$#% & [h'
(  T (_3<) T_[  C~Nwl3(h C3T* _~! U 3(( C3T
 Ul, +a   TN-  C~3 ~, +

T T3T< l
%   * "$#/.0 21 {l) bTlZF_ C K( K Ul~ (Ed l~&b~3
  l






 



  

Version 2 CSE, IIT Kharagpur

tIBXIKJN@hGN@HOQJ3BXI5Yb\KiUO3@hGNuM_J3BX\[IxGN@hYmM_GTACBEIUYb's [ BcOtJN>5@L|}\[WXWE\l`BXI5YUr I'qo`>5@HI5@huK@hG OQ@Hu[@HGNM[WJNMKOQPCO1G3@dmV5@HOQJMS(GNB]JNBXSHM_W;G3@hz


3O \[V5GTS(@J3>jMlJqBcOqM_WXG3@dM[ACnBXI<VUO3@[v_JN>5@hnaM_GN@?^<M[BEImJTM_BXI5@HALBEIM mV5@hVU@BEIaJ3>U@\[GTAC@hGBXIa`>UBXST>aJ3>U@hnGN@HmV5@dOoJN@HAJ3>5@GN@HO3\[VUGNSh@[r>U@hI
MGN@HO3\[VUGNSh@iF@HSh\[^<@HO0|}G3@H@[vjJ3>5@WE\KI5Y[@dOoJt`?M_BEJ3BXI5Y<JTM[O3PBXIxJ3>U@mV5@hV5@BXO1Y[GTM_ImJ3@dAJ3>5@wGN@HO3\[VUGNSh@[r?=?>mVjO0@huK@hGNnShG3BEJ3BcShM[WGN@HO3\[V5GTS(@
BcO?M[ONOQ\CS(BcMlJN@HAb`B]JN>MamV5@hV5@\_|`M[B]JNBEI5YLJNMKOQPCOHrs0\l`@hu[@HGHvmBXIs'[ I5\aO3VUST>KVU@hV5@BXO?IU@h@HA5@HA!rq=?>5@GN@HM[O3\[IbBXOJ3>jMlJ`>5@hIU@hu[@HG
MJTM[O3P'MKShmV5BXG3@dOwMxGN@HO3\[V5GTS(@KvBEJL@h@dS(VCJN@HOLMlJwJN>5@bS(@HBEWXBXI5Yg5GNBE\KG3BEJon\[|J3>5@bG3@dOQ\KV5GNSh@[vM_IUAR\[J3>5@HGwJTM[O3POJ3>UM_JL^MnI5@H@HARJN>5BcO
GN@HO3\[V5GTS(@ AC\<I5\[J0@hu[@HIMaYK@(J0ST>UM_IjS(@J3\@h@dS(VCJN@M_IUAGN@HmV5@HOQJ?|}\[G?JN>5@G3@dOQ\KV5GTS(@[r
s [ g5GN@huK@hImJNO0A5@HM[A5WE\CSTPCO|}G3\K^ \CShShV5GNG3BXI5YyO3BEIUSh@`>5@hIMaJTM[O3PbYK@(JNO1MOQBXI5YKWE@GN@HO3\[V5GTS(@Kv5M_WXW\[J3>5@HG0G3@dOQ\KV5GTS(@HO?GN@HmV5BXGN@HAimn
:
BEJ0^VUOQJ0iF@ |}G3@H@<inf\[GN\[WXWcM_GNn
r
.&   ( )
-   q=?>U\[V5YK>R:
s [O3\[WXu[@dOJ3>5@ygUG3\Ki5WE@H^O \_|V5Iij\KV5IUAC@dA'g5G3BX\[GNBEJonBEIuK@hGTOQBX\[Iv;AC@HMKACWX\STPvM[IUAeST>UM[BEI
i5WX\CSTPBEI5YjvCB]J\Kgj@HIUO?V5gJ3>5@ gF\KONOQBXi5BXWEBEJon|}\KG~ 5h
~lFT
3hEl ~ lhTT_y`>5BcST>A5BXAI5\_J0@hCBXOQJBEIqorCI5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HA
BXIu[@hGTO3BE\KI\SHS(V5GTO;`>5@hIJ3>5@g5GNBE\KG3BEJon ulM_WXV5@\[|jM1WE\l`eg5GNBX\[GNB]JonJNMKOQP>U\[WcACBEIUY1M1G3@dOQ\KV5GNSh@qBcOGTM_BcO3@HA JN\M1>5BXY[>ulM[WEV5@in J3>5@?S(@HBEWXBXI5Y
GNV5WX@[vjJ3>5@LBEImJ3@HG3^<@dACBXM_J3@Lg5G3BX\[GNBEJonyJNMKOQPCOtI5\_JI5@h@dACBEIUYyJ3>U@GN@HO3\[V5GTS(@wSHM_IxI5\[J1@(C@dS(VCJN@LM_IjAxM_GN@O3M[BXAJN\bV5IjAC@hGNY[\yBXI5>5@HG3BEJNM[IUS(@hz
GN@hWcMlJN@HAg5G3BX\[GNBEJonBEIu[@HGNO3BX\[Ir
'@I5\l` BXWEWXVUOQJ3GTMlJN@BXI5>5@hGNBEJNM_IjS(@(z{GN@hWcMlJ3@dABEIuK@hGTOQBX\[IJ3>UG3\KV5Y[>M[I@(5M_^<g5WX@[rf\[IUO3BcAC@hGMyOQnCOQJ3@H^,Sh\[IUO3BcOoJNBEI5Yb\_|UuK@wJNMKOQPCO Z
\ b cR\ d c/\ f cR\kn c  / $ \Um[vM_IUAJ3>5@HBEG g5GNBX\[GNB]JonulM_WXV5@HO iF@ v v r v UvM[IUA yGN@HO3gj@dS
JNBEuK@hWXn[rtWXO3\UvMKO3O3V5^<@JN>UMlJ JN>5@<>5BEYK>5@hGJN>5@
g5GNBX\[GNB]JonyulM[WEV5@KvCJ3>U@w>5BXY[>5@HG0BXOJ3>5@wgUG3BX\[GNB]Jonb\_|;J3>5@JTM[O3Pr&=?>UMlJ0BcOHv aBcO?J3>5@>5BEYK>5@HOQJtM_IjA BcO?JN>5 @wWX\l` @dOoJg5GNBE\KG3BEJonyulM_WXV5@KQr [@hJ
\ b cR\  d c  /  $ \ f I5@h@dAJ3>U@GN@HO3\[VUGNSh@f M_IU+
A \ b c/\kn  / \Um1I5@h@dAJ3>U@GN@HO3\[VUGNSh@f r=?>5@HIv
BcO^M_! v v r " r v
M[IUA 
BXO^Ml v jv K/ 5r>5@H+I \ b MKShmV5BXG3@dO$J3>U@1GN@HO3\[V5GTS(@1f BEJNOg5G3BX\[GNBEJonL`\[V5WcAiF@HSh\[ ^<@ 5r0|~J3@HQG \ b MKShmV5BXG3@dO
f vU\UdLM[IUA?\Ufw`\[VUWXAI5\_J ij@M[i5WE@J3\@(C@HShVCJ3@a@huK@hIJ3>5\KV5Y[>J3>5@Hnx^<MnxiF@aG3@dM[ACnKvO3BXIUS(@LJ3>5@HBEG g5GNBX\[GNB]JonBcO1WX@HONOtJ3>UM[IJN>5@
BXI5>5@HG3BEJ3@dAgUG3BX\[GNB]Jon\[K| \`bdrIJN>5BXOtOQBEJ3VUM_J3BX\[I!v \UdM[IU+A \UfM[G3@ O3M[BXAbJ3\iF@V5IUA5@hGNY[\[BXI5YaBEIU>5@hGNB]JTM_IUSh@ G3@HWXM_J3@HABXImuK@hGTOQBX\[Ir
s [kBcOGNM[G3@HWEnaVUO3@HAyBXIbGN@HM[W]z{WXB]|}@tM[g5g5WXBXSHMlJNBE\KIUOMKOqJN>5@g5G3\Ki5WX@h^\_|BXI5>5@HG3BEJNM[IUS(@G3@HWXM_J3@dA<BEIu[@HGNO3BX\[I\_|~JN@hIij@dS(\[^<@ OQ\aOQ@Hu[@HG3@
:
MKOtJN\^M[P[@wJN>5@<g5GN\_J3\CSh\[W;V5IVUO3M[i5WX@[rw=?>5BcOM_GNBXO3@HO1iF@HShM[VUO3@wJ3>U@agUG3BX\[GNB]Jon\[|&@huK@hIuK@hGNnWE\l`gUG3BX\[GNB]JonJTM[O3PO1^<BEYK>mJiF@<GNM[BXO3@HA
JN\bu[@HG3n>5BXY[>uM[WEVU@HO1`>5@hIBEJM[ShmV5BXGN@HOtM[InGN@HO3\[VUGNSh@[rt1OMbG3@dOQVUW]JdvO3@huK@hGTM_WBEImJ3@HG3^<@dACBXM_J3@Lg5G3BX\[GNBEJonbJTM[O3POtI5\_J I5@H@HACBXI5YM[In
GN@HO3\[V5GTS(@^<BEYK>mJyV5IUAC@HG3YK\'BXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HABEIuK@hGTOQBX\[I M_IUA ^<BXONO<JN>5@hBXGyGN@HO3gj@dS
J3BXu[@xAC@dM[ACWXBXI5@HOHr I O3g5B]JN@x\_|J3>5BcO^M o\KG
>UM[IUACBcShM[g\_|'s [v[`@1OQJ3VUA5nJN>5BXOg5GN\_JN\Sh\[WjBEIJN>5BcOqJN@(JMKOJ3>U@0|}\[VUIUA5MlJNBE\KI<|}\[GV5IUAC@HGNOQJNM[IUACBXI5YJ3>U@ F
_
~ Th~ ~ 3ldN_
JN>UMlJBcOwuK@hGNngF\[g5VUWXM[GM_IUARBcOiF@hBXI5YVUO3@HAR@hJ3@hIjOQBXu[@HWEnZBEIeGN@HM[W]zJ3BX^<@yM_g5g5WXBcShMlJNBE\KIkAC@huK@hWX\[g5^<@HIKJdr&G3BX\[GNBEJonS(@HBEWXBEIUYxg5G3\[J3\CS(\KW
fBcO0ACBcO3ShVUONOQ@dAbBXIJ3>5@I5@hJO3@HS(J3BX\[Ir

q(Lq thHh yL  
&G3BX\[GNB]Jonef@hBXWEBXI5Y'qGN\_J3\CSh\[Wtfw@(J3@HIUA5OJ3>5@BcAC@HMKO\[|tqoM[IUAk's [JN\ZO3\[WXu[@JN>5@bg5GN\[iUWE@H^<OL\_|0VUImiF\[VUIUAC@HAkg5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIvFST>jM_BXIi5WX\STPBXI5YUv!M[IUAAC@dM[ACWX\CSTPOHv`>5BXWE@<MlJ1J3>5@<O3M[^<@JNBE^<@a^aBXI5BX^<BEHBEI5YBXI5>5@hGNBEJNM_IjS(@(z{GN@hWcMlJ3@dABEIuK@hGTOQBX\[IUOHr |}V5I5z
A5M[^<@hImJNM[WA5B]D@hGN@hIUSh@1iF@(Jo`@h@HI&oM_IjAbfBXOJN>UMlJ?J3>U@t|}\KG3^<@hGBcOMLY[GN@h@dACnM_g5gUG3\mM[ST>`>5@HG3@dM[O&J3>5@ WcMlJQJN@hGBXOI5\[JHrIqo
`>5@HI5@huK@hGMwGN@HmV5@HOQJ&|}\KGMwG3@dOQ\KV5GNSh@0BcO&^M[A5@[vmJ3>5@1G3@dOQ\KV5GTS(@0`BXWEWFiF@M[WEWX\CShMlJN@HA<JN\wJN>5@tGN@HmV5@dOoJNBEI5YJNMKOQPaB]|B]J?BXO&|}GN@h@[rst\l`@Hu[@hGdv
BXIxf M<G3@dOQ\KV5GNSh@t^MnyI5\[J0ij@YKGNM[ImJ3@HAyJ3\yMaGN@HmV5@HOQJ3BXI5YaJNMKOQPb@hu[@HIBE|;J3>5@GN@HO3\[V5GTS(@BcO|}G3@H@[r
 

KVUOQJMKO'
s [eAC\@HOHv[fRM[ONO3\ShBXM_J3@dO;M Sh@hBXWEBXI5YulM_WXV5@ *
3;`BEJ3>@Hu[@hGNnGN@HO3\[V5GTS(@
33v_JN>UMlJqBcO;J3>U@^<M_CBE^LV5^ \[|jJN>5@
g5GNBX\[GNB]JonulM_WXV5@HOt\_|&M_WXWJTM[O3PCOJ3>jMlJ ^aBXY[>mJtVjOQ@
33r1tI\[gF@hGTMlJNBEI5YOQnCOQJ3@h^*ulM_GNBXM[i5WX@ShM[WEWX@HAZf?jffV5GNG3@HImJnCOoJN@h^8f@hBXWXBEI5Y
BcO?VUO3@HAJ3\<P[@H@hgJ3GTM[STPy\[|JN>5@ ^MlCBE^L V5^Sh @hBXWEBXI5Y<ulM_WXV5@ \_|M_WXWJ3>5@GN@HO3\[VUGNSh@HO&J3>UM_JtM_GN@BXIVUOQ@wM_J0M_InyBXIUOoJTM_ImJ\_|;J3BX^<@[rq=?>VUOHv
M_JM_InJNBE^<@f?Uf  0
3 /!
3 # /Uo / ' (ryJLO3nOQJ3@H^pOQJNM[GQJdvf?Uf BcOBEIUB]JNBXM[WEBXh@dAJN\ 5 }WX\l`@HG
g5GNBX\[GNB]Jon<JN>UM_IJ3>U@WE@dM[OQJ?gUG3BX\[GNB]Jon<JT M[O3PyBXIJN>5@wO3nOQ% J3@H^y
r      %
@dOQ\KV5GTS(@O3>UM_GNBXI5YM[^a\KI5YyJTM[O3PCOtV5IjAC@hGfBXOGN@hYKV5WXM_J3@dAxVUO3BEI5YbJo`\G3VUWE@dOt|}\KG1>jM_IUACWXBXI5YGN@HO3\[VUGNSh@wG3@dmV5@HOQJNO Z GN@HO3\[V5GTS(@
YKGNM[IKJM_IjAGN@HO3\[VUGNSh@1GN@hWX@HMKOQ@Kr'@@hWcM_iF\[GTMlJN@tJN>5@HO3@ Jo`\<GNV5WX@HO?BXIJN>5@ |}\[WXWX\l`BEI5Y Z






 
  

 

  - ) 





Version 2 CSE, IIT Kharagpur

@dOQ\KV5GTS(@Y[GTM_ImJG3V5WX@S(\KIUOQBcOQJNO?\_|Jo`\ShWXM[VUOQ@dOhr=?>5@dOQ@Jo`\S(WcM_VUO3@HOM[G3@ M_g5gUWEBX@HA`>5@HIMLJTM[O3PyG3@dmV5@HOQJNOJN\aWX\CSTPbMaG3@dOQ\KV5GTS(@[r
r !    3   3 
   *   
Mm{|&MaJNM[O3+P \ BcO>5\KWXA5BEI5YM<G3@dOQ\KV5GNSh@ `>5\KO3@wS(@HBEWXBEIUYg5G3BX\[GNBEJonb@HmVUM[WXOtf?jf1v5J3>U@hIJ3>U@wJNMKOQPBXO0Y[GTM_ImJ3@dAMKShSh@HONOJ3\JN>5@
G3@dOQ\KV5GTS(@[r

 
}ijtJN>5@hGN`BXO3@[Uv \ 3 `BXWEWI5\[Jij@<Y[GTM_ImJN@HA
4 vV5IUWE@dO3OBEJNO g5GNBE\KG3BEJonx BcO1YKG3@dMlJN@hG1J3 >UM[Ie f?Uf6 }Br @KrLgUG3B{ \ 3   
raI
ij\[J3 >'MK M_IjA}iFM[ij\luK@[vmB]K| \ 3 BcOY[GTM_ImJ3@dAyM[SHS(@HONO&J3\LJ3>5@G3@dOQ\KV5GTS(@
4 vCM_IUAbB]|   
4
vJN>5@hIf?Uf BcO?OQ@hJ
J3\ 
4d
r  ) &   ()
 *   >5@HIMaJNMKOQPBXOtg5G3@Hu[@HIKJN@HAb|}G3\K^WX\CSTPBEI5YM<GN@HO3\[V5GTS(@ iny|M[BEWXBXI5Y<J3\y^<@H@(J0JN>5@wGN@HO3\[V5GTS(@Y[GTM_ImJ
S(WcM_VUO3@[vmBEJi5WX\CSTPCO&M_IjAJ3>U@0JNMKOQP<>5\KWXA5BEI5YJ3>5@GN@HO3\[V5GTS(@0BXI5>5@HG3BEJNO&J3>U@1g5GNBX\[GNB]Jona\_|!JN>5@1iUWE\CSTP[@dA<JNMKOQPaBE|J3>5@g5GNBE\KG3BEJona\_|JN>5@
JNMKOQPy>U\[WcACBEIUYLJN>5@GN@HO3\[V5GTS(@BXO?WX@HONOJ3>jM_IJ3>UM_J0\_|J3>5@i5WX\CSTP[@dAyJTM[O3PFr
    3  * 3

{|qMaJNMKOQPG3@HWE@dM[O3@HOMShG3BEJ3BcShM[W!G3@dOQ\KV5GNSh@ B]Jt`?M[O?>U\[WcACBEIUYbM_IUABE|J3>5@Sh@hBXWEBXI5Yg5GNBX\[GNB]Jony\[|JN>5BcO0GN@HO3\[V5GTS(@ @HmVUM[WXOtf?jf1v5J3>U@hIZf?Uf
BcO0^M[A5@w@HmVUM[WJ3\yJ3>5@L^<M_CBE^LV5^\[|J3>5@aS(@hBXWXBEI5YbuM[WEVU@w\_|qM_WXW\[J3>5@HGtGN@HO3\[V5GTS(@dO?BEIVUOQ@Kj@HWXO3@af?UfGN@h^M_BXIUOtV5IUST>UM[I5Y[@dA!r=?>5@
JTM[O3PG3@HWE@dM[O3BEIUYbJN>5@G3@dOQ\KV5GTS(@a@hBEJ3>5@HGY[@(JTOiUMKSTPxB]JTO\[GNBEYKBEIjM_Wg5GNBE\KG3BEJon\[GJN>5@>5BXY[>5@dOoJwg5GNBX\[GNB]Jonx\[|?M[WEWJTM[O3PO `?M_BEJ3BXI5Y|}\[GwM[In
GN@HO3\[V5GTS(@dO`>5BXST>BEJ0^aBXY[>mJtOQJ3BXWEWij@>5\KWXA5BEI5YjvC`>5BcST>5@huK@hG?BXO0>5BEYK>5@hGdr
?f BcO1uK@hGNnxOQBX^<BEWcM_GJ3\'s [@h5S(@hg5J1JN>UMlJBXIZfMbJNM[O3P`>5@hI'Y[GTM_ImJN@HAMG3@dOQ\KV5GTS(@AC\@dO1IU\_JBE^<^<@HA5BXM_J3@hWXnM[SHmV5BEGN@
JN>5@Sh@hBXWEBXI5YZg5G3BX\[GNBEJon\_|tJ3>5@G3@dOQ\KV5GNSh@[rI|M[S(JHvV5IUA5@hG<fJN>5@bgUG3BX\[GNB]Jon'\_|tMJNMKOQPeAC\@HOLI5\[JaST>UM[I5Y[@yVUgj\KIM[SHmV5BEGNBXI5YM
GN@HO3\[V5GTS(@^<@hGN@hWXnRJ3>5@xulM_WXV5@\_| M'O3nCOoJN@h^ ulM_GNBcM_i5WX@xf?jf/ST>UM[I5Y[@dOhr=?>U@gUG3BX\[GNB]Jone\[|MJNMKOQPkST>UM[I5Y[@dOaimnRJN>5@BEIU>5@hGNB]JTM_IUSh@
ShWXM[VUOQ@\_|1?f\[IUWEnR`>5@HI\[IU@b\[Ga^<\[GN@yJTM[O3POL`?M_BEJ|}\[G<MGN@HO3\[VUGNSh@yB]J<BcOL>U\[WcACBEIUYUrR=MKOQPCOLG3@dKVU@HOQJ3BXI5YZMG3@dOQ\KV5GNSh@yi5WX\CSTP
M[WE^<\KOQJtV5IjAC@hG1BXAC@HImJ3BcShM_WO3B]JNVUMlJNBE\KIUO0V5IjAC@hGf M[IUAx's [rj=?>5@L\[I5WXnA5B]D@hGN@hIUSh@w`BEJ3>Z?f BXO0J3>UM_JM<JTM[O3iP \ 3 ShM_IM[WXO3\yiF@
i5WX\CSTP[@dA<|}G3\K^@hImJ3@HG3BXI5YLMaS(GNBEJ3BcShM_WO3@HS
JNBE\KIvB]|J3>5@HG3@1@(CBXOQJNO?M[Imn<GN@HO3\[V5GTS(@1S(V5GNG3@HImJ3WXnL>5@HWXAbinyOQ\K^a@1\_JN>5@hGJNMKOQP<`>5\mOQ@1g5G3BX\[GNBEJon
Sh@hBXWEBXI5YBcOY[GN@HM_J3@hG\[G@HmVUM[WUJN\JN>UMlJ?\_q| \ 3 r9WXB]J3J3WX@1JN>5\[VUY[>mJ`\[V5WcAyO3>5\l` J3>jMlJJ3>5BcO?M_GNGNM[I5Y[@H^a@HImJ&g5GN@hu[@HImJNOJN>5@ V5I5I5@dS(@dO3ONM_GNn
BXI5>5@HG3BEJNM[IUS(@?i5WX\CSTPmBXI5YmO;SHM_VUO3@HAaACV5@JN\1JN>5@g5GNBE\KG3BEJon\_|M1JNM[O3PMKShmV5BXG3BXI5Y M1GN@HO3\[VUGNSh@&iF@hBXI5YGNM[BXO3@HAwJ3\ u[@HG3n>UBEYK>LulM_WXV5@dOS(@HBEWXBXI5Y
g5GNBX\[GNB]Jon5MlJJN>5@BEIjOoJTM_ImJ0B]JtMKShmV5BXG3@dOMaG3@dOQ\KV5GNSh@[rIxfvCBXIOoJN@HMKAb\[|MKS
J3VjM_WXWEnyGTM_BcO3BEI5YaJN>5@g5GNBE\KG3BEJony\_|;J3>U@ JNM[O3PbMKShmV5BXG3BXI5Y
MGN@HO3\[V5GTS(@Kv!^a@HG3@HWEnJ3>5@ulM[WEV5@<\[|?MO3nOQJ3@H^8ulM_GNBcM_i5WX@{f?Uf? BcO GNM[BXO3@HAJ3\JN>5@yS(@HBEWXBEIUYxuM[WEVU@[r nS(\K^<gUM_GNBEIUYbJN>5@yulM_WXV5@<\_|
f?UfM_YmM_BXIUOoJ1J3>5@<g5GNBX\[GNB]Jonx\[|MJNM[O3PxGN@HmV5@HOQJ3BXI5YMGN@HO3\[VUGNSh@[vFJ3>5@<gF\KONOQBXi5BXWEBEJonx\_|?AC@HMKACWX\STPCO1BXOMuK\[BcAC@HAr{|I5\xS(\K^<gUM_GNBXO3\[I
`BEJ3>ef?Uf9`\KV5WcAx>UMu[@ij@H@hI^MKAC@M[O1BEI&o(vFMb>5BEYK>5@hGg5GNBE\KG3BEJonJNM[O3P^<MnWcMlJN@hGWE\CSTPOQ\K^a@LG3@dOQ\KV5GTS(@GN@HmV5BXG3@dAxinJN>5BcO
JTM[O3PWE@dM[ACBXI5Y1J3\Mgj\[J3@hImJNBXM[WA5@HM[A5WE\CSTPwO3B]JNVUMlJNBE\KIL`>5@HG3@@HMKST>wJTM[O3Pw>5\[WcA5OM1gUM_G3J\_|UJN>5@?G3@dOQ\KV5GTS(@HOGN@HmV5BXG3@dAwin J3>5@?\[J3>5@HGJNM[O3Pr
'@I5\l`@hCg5WXM[BEIJ3>U@`\KG3PBXI5YL\[|?fkJN>5GN\[V5YK>M[I@hCM[^<g5WE@Kr




$ *  

f\KIUOQBcAC@HGM O3nOQJ3@H^ Sh \[IUO3BcOoJNBEI5Y\_|?|}\[V5 GLG3@dM_WEzJNBE^<@JTM[O3PC.O \`bvV\Ud_vV\Uf_vV\ n r=?>5@dOQ@|}\KV5GwJTM[O3PCOwOQ>jM_GN@<Jo`\IU\[ICz{g5GN@h@h^<gCJTM_i5WX@


NG @HO3\[V5GTS(@dO
.byM[IUA
Fd[rRtONOQVU^a@
2byBcOVUO3@HAkimn \`bv-\UdM_IUA \Uf[vqM_IUA
FdBXOLVUO3@HAkin \`bM[IUA \ n r'tONOQV5^<@J3>UM_J
JN>5@wg5GNBE\KG3BEJonbulM[WEV5@dO\_|-\`bv \Ud_v\Uf[vjM_IjA\ n M_GN@ 65 v v CvFM_IUA 5 G3@dOQgF@HS(J3BXu[@HWEnKrtONO3V5^<@;fONST>5@HACVUWEBXI5YbM[^a\KI5Y@HmVUM[W
g5GNBX\[GNB]Jon<JTM[O3POHv5M_IjAbJN>UMlJ>5BXY[>U@hGg5GNBE\KG3BEJonyulM_WXV5@dO?BEIUA5BXSHMlJ3@ >5BXY[>U@hGg5GNBE\KG3BEJ3BX@HOHr
U G3\K^/ J3>5@YKBEuK@hIA5MlJTM5vJN>5@wS(@HBEWXBEIUYagUG3BX\[GNB]Jonb\_|JN>5@ Jo`\aGN@HO3\[VUGNSh@HO?ShM[IiF@@HMKOQBXWEnS(\[^<g5V5J3@HAr
   2

dbh  ;; ..   \q\ bHb  c c"1     \U\kdHnd1 Qc .   \k5 fdr Q  5r




[@(JVUOS(\KIUO3BXAC@HGM_IbBXIUOQJNM[IKJBXIbJN>5@@(C@dS(VC JNBE\KIb\_ |J3>5@O3nCOoJN@h^6BXI`>UBXSTh
> \ b BcO@(C@HShVCJ3BXI5YMl|~JN@hGM[SHmV5BEGNBXI5YJN>5@ G3@dOQ\KV5GTS(@
b r
>5@HI \ b MKShmV5BXG3@dO0f vjf?Uf BcOOQ@hJJ3\ *
b  Cr
t\l`9S(\KIUO3BXAC@HG?J3>5@ |}\KWEWX\l`BXI5YJo`\M_WEJ3@HG3IUM_J3@O3B]JNVUMlJNBE\KIUOJ3>UM_J0^<BEYK>KJ0M[G3BcOQ@ BXIJ3>5@wSh\[V5GTOQ@\_|;@(C@HShVCJ3BX\[I\[|J3>U@ JNM[O3PCOhr

(
   (* ) 

1 O3O3V5^<@tJN>UMlJ \ n iF@HSh\[^< @HOGN@HMKACn[r @hBXI5Y\[|>5BXY[>5@HG?g5G3BX\[GNBEJon\ n vCgUG3@H@h^<gCJNO5\`btM_IUAOoJTM_G3JNO&J3\a@(C@HShVCJ3@Kr0|~J3@HG0OQ\K^a@tJ3BX^<@[v!\ n


GN@HmV5@dOoJTOJ3>U@GN@HO3\[V5GTS(@ 
Fd[r BXIUS(@J3>5@Lg5G3BX\[GNBEJonbulM_WXV5@\[|8\ n }YKBEuK@hIJN\biF@ 5 ?BcOtYKG3@dMlJ3@HGJ3>jM_I'f?Uf `>5BcST>BXO K
Y\ n BcO
YKGNM[IKJN@HAbJ3>5@LG3@dOQ\KV5GTS(@
:d}inyJN>5@GN@HO3\[V5GTS(@GN@HmV5@HOQJtS(WcM_VjOQ@M_IUAf?UfBcOtO3@(JJN\ 5 r&>5@HI?\ n S(\[^<g5WX@(JN@HOBEJNOt@(C@HShVCJ3BX\[Iv
65


Version 2 CSE, IIT Kharagpur

t`BEWXWYK@(JtM<ST>UM_IjS(@J3\<@(C@dS(VCJN@[r

\`b

(
   (* )%.#

1 O3O3V5^<@J3>UM_J5\ f ij@dS(\K^a@dO G3@dM[ACnKr @hBXI5Ya\_|;>5BEYK>5@hG?g5GNBX\[GNB]JonKv\ f g5GN@h@h^<gCJTO5\ b M_IjAOQJNM[GQJTOqJN\a@hC@HS(V5J3@[r0|~J3@hG0O3\[^<@1J3BX^<@[v!\ f


GN@HmV5@dOoJTO|}\[GJN>5@w GN@HO3\[V5GTS(@
b r1O?J3>U@g5G3BX\[GNBEJony\_|-\ f }YKBEuK@hIJ3\iF@ KBXOIU\_J0Y[GN@HM_J3@HGJN>UM_IZf?jf`>5BXST>xBcO [
\ f `BXWXW
I5\[JtiF@Y[GTM_ImJN@HA
b r \ f `\KV5WcAiUWE\CSTPvjM[IUA\ b `\KV5WcABEI5>U@hGNB]J0JN>5@gUG3BX\[GNB]Jon\_|-\ f }inJ3>5@Lf BXI5>5@hGNBEJNM_IjS(@ShWXM[VUOQ@
r0\jv
\ b 7 O?g5GNBE\KG3BEJony`\[V5WcAST>UM_I5YK@t|}GN\[^ 6 5 J3\ Cr


'01 Zt qhq  L0(a  x0 


=;M[O3PCOO3>UM_GNBXI5Y1M O3@(J\_|UGN@HO3\[V5GTS(@dOVjOQBXI5Y f^MnV5IjAC@hGNY[\tJ3>5GN@h@?BX^agF\[G3JNM[ImJJongF@HO;\_|UgUG3BX\[GNB]JonBXIu[@HGNO3BE\KIUO Z A5BEGN@HS(JBXIu[@HGNO3BE\KIv
BXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HABXIu[@HGNO3BE\KIvM[IUAZMuK\[BcA5M_IjS(@aBEIu[@HGNO3BX\[Ir<I'J3>5@<|}\KWEWX\l`BXI5YUv`@ACBcO3ShVUO3OJN>5@HO3@<J3>UG3@H@<JonmgF@HO \[|BXIu[@HGNO3BE\KIUO
JN>UMlJJTM[O3PO?^MnyVUIUAC@hGNY[\aBXI?fr
'(     )  (* ) 0tBXG3@dS
JtBXIu[@HGNO3BE\KI\CSHS(V5GTO?`>5@hIM<>UBEYK>5@hG0gUG3BX\[GNB]JonyJNM[O3Pb`?M_BEJNO|}\KGtM<WX\l`@HGg5G3BX\[GNBEJonJNMKOQPbJ3\GN@hWX@HM[O3@
MaGN@HO3\[V5GTS(@1J3>UM_J0B]J0IU@h@HAUOhr








 

TL
TH

CR

BXY[VUG3@ 1Z 1BXG3@dS


JtqGNBX\[GNB]Jon<Iu[@HGNO3BE\KI

f\KIUOQBcAC@HG?J3>5@@hCM[^<g5WE@wO3>5\l`IBXI;BXYUr 1 rVUg5gj\mOQ@LMLWX\l`g5G3BX\[GNBEJonJNMKOQPO\ ^ BXO0>5\[WcACBXI5YyMS(GNB]JNBXSHM_W!GN@HO3\[V5 GTS(@ IUM[^<@HA
ar
t\l`BE|M>5BXY[>5@HGqg5GNBE\KG3BEJonJNMKOQP*\ ] I5@h@dA5OJN>5BcOqGN@HO3\[V5GTS(@KvlJ3>5@HIB]J`\KV5WXAa>UMuK@?J3\`?M_BEJJ3BXWEYW \ ^ jI5BXO3>5@dOVUO3BEI5Y
M_IjA<G3@HWE@dM[O3@HO
BEJHr1Z@aShM_IO3@h@wJ3>UM_J1BXIxJ3>5BcOtJonmgF@\[|qBEIuK@hGTOQBX\[IvjMWE\l`@hGtg5G3BX\[GNBEJonbJTM[O3PACBXGN@HS
JNWEnShM[VUO3@HOtMy>5BEYK>5@hG1g5GNBE\KG3BEJonbJTM[O3PbJN\yV5IUA5@hGNY[\
BXIu[@hGTO3BE\KIbiny>5\KWXACBXI5YaJ3>U@G3@dOQ\KV5GNSh@1BEJ0I5@H@HA5OHr
.0  ) &   (  )
 ! *    )   ( )  f\[IUO3BXA5@hG MbO3B]JNVUMlJNBE\KI`>5@hGN@LMbWE\l`@hG1g5GNBE\KG3BEJonJNM[O3PBXO1>5\KWXACBXI5YMyGN@HO3\[V5GTS(@M[IUA
M>UBEYK>5@hGg5GNBE\KG3BEJonyJTM[O3PBcO0`?M_BEJ3BXI5Yb|}\[GtBEJHr=?>5@hIvjJN>5@gUG3BX\[GNB]Jon\_|JN>5@WX\l`@hG0g5GNBX\[GNB]JonJNMKOQPBXO1GTM_BcOQ@dAJ3\JN>UMlJ \_|JN>5@`?M_BEJ3BXI5Y
>5BXY[>U@hG g5GNBE\KG3BEJonJNM[O3PxinxJ3>U@aBXI5>5@HG3BEJNM[IUS(@<S(WcM_VjOQ@a\_|?fr!tO MG3@dOQVUW]JdvJ3>5@<BXIKJN@hGN^<@HACBcMlJN@Lg5GNBX\[GNB]JonJTM[O3POI5\[JIU@h@HA5BEI5YJN>5@
GN@HO3\[V5GTS(@V5IUA5@hGNY[\aBEI5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HAbBEIuK@hGTOQBX\[Ir
I5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HABXIu[@HGNO3BE\KI>UMKO1iF@h@HIZBXWXWEVUOQJ3GTMlJN@HABEIZJ3>5@<@hCM[^<g5WE@<O3>5\l`IBXI';BXYUr 5Cr \U] BXOM>5BXY[>5@HG1g5GNBX\[GNB]JonJTM[O3P
JN>UM_I \k^;vqM[IU;A \Ua>UM[OLg5GNBE\KG3BEJonZBXImJ3@HG3^<@HA5BXM_J3@biF@(Jo`@h@HI \U^ M_IUA \U]wr \U]M[IUA \U^ ij\[J3>I5@h@dARJ3>5@S(GNBEJ3BcShM_WGN@HO3\[V5GTS(@fwv
`>5@HG3@dM[VO \Ua >UMKOI5\GN@HO3\[V5GTS(@GN@HmV5BXG3@H^a@HImJNOHrJO3\[^<@?gj\KBEImJ&\[|jJNBE^<@0BXIaJ3>5@t@(C@HShVCJ3BX\[IvmM WE\l`g5GNBE\KG3BEJonJNMKOQ*P \U^y>UMKOqM[SHKVUBEGN@HA
MG3@dOQ\KV5GNSh@
ar=?>5@hGN@(|}\KG3@Kvf?Uf  ulM[WEV5@1BXO?O3@(JJ3\<f@HBEW{f1qinaJ3>5@GN@HO3\[V5GTS(@0GN@HmV5@dOoJ?S(WcM_VUO3@[r9WEBEJQJNWE@WXM_J3@HGHvMw>5BXY[>bg5G3BX\[GNBEJon
JTM[O3*P \ ] G3@dKVU@HOQJNOJN>5@1GN@HO3\[VUGNSh@
LKr \ ] `\[VUWXA<i5WX\CSTPL\KIfinLJ3>5@1G3@dOQ\KV5GNSh@G3@dmV5@HOQJS(WcM_VjOQ@Kr nLJ3>5@1BEIU>5@hGNB]JTM_IUSh@1ShWXM[VUOQ@Kv
\ ^ `\[V5WcAyBXI5>5@HG3BEJ?J3>5@ g5GNBX\[GNB]Jon<\_K| \ ] r0\l`v5Sh\[IUO3BcAC@hGJ3>5@ BXImJ3@hGN^<@HACBcMlJN@ g5G3BX\[GNBEJonLJTM[O3j
P \ a r=?>5\KV5Y[h> \ a IU@h@HAUOIU\aGN@HO3\[VUGNSh@[v
BEJ SHM_IIU\_J @(C@HShVCJ3@<ACV5@LJ3\bJ3>5@aGNM[BXO3@HAg5G3BX\[GNBEJon\[| \ ^ r IJ3>5BcO ShM[O3@[vFJN>5@JTM[O3P \ a BcO1ONM_BcAJN\V5IjAC@hGNY[\BEI5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HA
BXIu[@hGTO3BE\KIr
 ( 
 )
 ! *    )  (* ) 1I?fv5`>5@HIM<JNMKOQPGN@HmV5@HOQJNO1MGN@HO3\[V5GTS(@BEJNO1g5GNBE\KG3BEJonbBcO1ST>U@HSTP[@dAM_YKM[BEIjOoJ f?jf1r
=?>5@ GN@HmV5@dOoJNBEI5YaJTM[O3PBXO?YKGNM[IKJN@HAbVUOQ@ \[|J3>U@G3@dOQ\KV5GNSh@t\KI5WEnb`>5@hIBEJNO?g5GNBE\KG3BEJonBcO?Y[GN@HMlJN@hGJ3>UM[If?Uf1r5=?>5@hGN@(|}\KG3@Kv@hu[@HI`>U@hI
MG3@dOQ\KV5GNSh@?J3>UM_J?MwJNMKOQP<BcO&GN@HmV5@dOoJNBEI5YBXOBXA5WE@KvKJN>5@G3@dKVU@HOQJ3BXI5YJNMKOQP<^Mn<ij@AC@hIUBE@dAbM[SHS(@dO3OqJ3\wJN>5@G3@dOQ\KV5GNSh@0BE|!J3>5@G3@dmV5@HOQJ3BXI5Y
JTM[O3P 7 Og5GNBE\KG3BEJon<BXOWX@HONO&JN>UM_Ixf?Uf1rC9JNM[O3P`>5\mOQ@1g5G3BX\[GNBEJonaBcO?Y[GN@HM_J3@HGqJ3>jM_IyJN>5@S(V5GNGN@hImJ3WXn<@(C@HShVCJ3BXI5YLJNM[O3PvCi5VCJ?Y[GN@HM_J3@hGJ3>jM_I






Version 2 CSE, IIT Kharagpur

TL
TI

CR

TH

; BEYKV5G3@25 Z I5>5@hGNBEJNM_IjS(@(z@HWXM_J3@HAbIu[@hGTO3BE\KI
f?UfM_IjAbI5@H@HA5OtMLGN@HO3\[VUGNSh@tJN>UMlJBcO0S(V5GNGN@hImJ3WXnyI5\[J?BXIVUO3@[v5BcOO3M[BXAbJ3\VUIUAC@hGNY[\<Mu[\KBXAUM_IUSh@(z{G3@HWXM_J3@HAyBEIu[@HGNO3BX\[Ir
tu[\[BcA5M[IUS(@hzGN@hWcMlJN@HAyBXIu[@HGNO3BE\KIBXO1M_WcOQ\O3\[^<@(JNBE^<@HOtG3@h|}@hGNG3@dAJ3\bMKOg5GNBE\KG3BEJonSh@hBXWEBXI5Y_z{GN@hWcMlJ3@dAbBXIu[@HGNO3BE\KIvUO3BEIjS(@M<>5BXY[>U@hGtgUG3BEz
\KG3BEJonJNM[O3PBXOI5\[J M[WEWX\l`@HAJ3\@(C@dS(VCJN@[v!I5\[J1iF@HShM[VUO3@LBEJGN@HmV5@dOoJTO1MGN@HO3\[V5GTS(@JN>UMlJ BcO1M[WEGN@HMKACnWE\CSTP[@dAxinxM_I5\[J3>5@HGtJTM[O3PFvi5V5J
iF@HSHM_VUO3@<B]JTOg5GNBE\KG3BEJonxBXOwWE@dO3OJN>UM_I'J3>U@uM[WEVU@a\[|0f?jf1rI'MuK\[BcA5M_IjS(@(z{GN@hWcMlJ3@dAxBXImuK@hGTOQBX\[IvM>UBEYK>5@hGg5GNBX\[GNB]JonxJTM[O3Pi5WX\CSTPO|}\KG
MGN@HO3\[V5GTS(@aJN>UMlJwBcOwI5\[Jwij@HBEIUYVUO3@HA'inZM_InZ\_|J3>5@JTM[O3PCOhr=?>5\[V5YK>'J3>5BcOwGN@HOQJ3GNBXS(J3BX\[I'^<BEYK>KJM[g5gF@HM_GwJ3\xiF@J3\\xGN@HOQJ3GNBXS(J3BXu[@
M[IUA`?M[OQJ3@h|}V5WvMWEBEJQJNWE@<JN>5\[VUY[>mJ`\KV5WXA'O3>5\l`JN>UMlJJN>5BXOwG3@dOoJNG3BcS
JNBE\KIBcO I5@HSh@HONO3M[G3nJN\xg5G3@Hu[@HIKJAC@dM[ACWX\CSTPOHr=?>5BcOJonmgF@\_|BEI5z
uK@hGTOQBX\[IBcO1J3>5@HG3@h|}\[GN@gF\[g5VUWXM[G3WXnShM[WEWX@HAZM[OAC@HMKACWE\CSTPxMu[\KBXAUM_IUSh@BXImuK@hGTOQBX\[Ivj\KGO3BE^<g5WXnMuK\[BcA5M_IUSh@wBXImuK@hGTOQBX\[IjJN>5@<G3@dM[O3\[Ix|}\KG
JN>5BXOJ3@hGN^BcOJ3>jMlJJ3>5@iUWE\CSTPBEIUY SHM_VUO3@HAaACV5@JN\ J3>5@g5GNBX\[GNB]JonwSh@hBXWEBXI5Y G3VUWE@?BcO;J3>5@0Sh\KOQJ;|}\KGqMu[\KBXA5M[IUS(@\_|AC@HMKACWX\STPwM[^<\[I5YJNMKOQPCOHr
TL
CR1

CR2
TH

Ceil(R1)=10
CSC=10

pri(TH )=8

; BXY[V5GN@ 4Z 0uK\[BcA5M_IUSh@@hWcMlJN@HAImuK@hGTOQBX\[I


'@1IU\l` BEWXWXVUOoJNGNM_J3@ AC@HMKACWX\STPyMuK\[BcA5M_IjS(@0BXIu[@hGTO3BE\KIyVUO3BEI5Y<M_I@(5M_^<g5WX@[r&f\KIUOQBcAC@HG&JN>5@ @(5M_^<g5WX@O3>5\l`IBEI;BEYjr 4 rIbJN>5@
@hCM[^<g5WE@ O3>5\l`IyBXI;BXYUr 4 v5MWE\l` gUG3BX\[GNB]JonaJTM[O3P \ ^ M[IUAbML>5BXY[>g5G3BX\[GNBEJonLJTM[O3P \ ] qiF\_JN>I5@H@HAyJo`\aG3@dOQ\KV5GTS(@HO M_IUA
ACVUG3BXI5YJ3>5@HBEGwSh\[^<g5VCJTMlJ3BX\[IjOhr<tONOQVU^a@aJN>UMlJ J3>U@aWX\l`g5GNBX\[GNB]JonJTM[O3CP \ ^ BXO g5GN@HO3@hImJNWEnxVUO3BXI5YxMShG3 BEJ3BcShM[WG3@dOQ\KV5GNSh@
b r<=?>5BcO
^<@HM[IUO JN>UMlJ`>U@hIRJ3>U@yG3@dOQ\KV5GTS(@<`MKO Y[GTM_ImJ3@dA!v f?jf^LVUOQJ>UMu[@<iF@h@HIkOQ@hJ@HmVUM[WJ3\JN>5@f@hBXW{
b (rt\l`v`>5@HIkM>5BXY[>
g5GNBX\[GNB]JonJNM[O3P\ ] G3@dmV5@HOQJNOqJ3\wVUO3@0JN>5@tGN@HO3\[VUGNSh@
d vKBEJi5WX\CSTPCOqiF@HShM[VUO3@0B]JTO&gUG3BX\[GNB]JonLBXOWX@HONOJ3>jM_If?Uf1rtOM_WXG3@dM[ACnLgj\KBEImJN@HA
\KVCJHvKJ3>5BcOg5G3\luBcOQBX\[I<>UMKOqiF@h@HIyBEIjS(\[GNgF\[GTMlJ3@dAaBEIb?feBXIy\[GTAC@hGqJ3\LMuK\[BcA<AC@HMKACWE\CSTPCOHr0\[JM[WEWX\l`BEIUY J3>5@tJNM[O3PP \U]J3\LM[ShSh@HONO F
d
g5GN@HShWEVjAC@HOqJ3>5@1gj\mO3O3BEiUBEWXB]JonaJN>UMl5J \k]^MnaWcMlJN@hGG3@dKVU@HOQJ 2
b0M_IUOA \k^^MnaG3@dKVU@HOQJ :
dtWE@dM[ACBXI5YJ3\MLAC@HMKACWE\CSTPr0WcOQ\wIU\_J3@tJ3>UM_J
BE|\U] 7 O1g5G3BX\[GNBEJonBcO1>5BEYK>5@hG1J3>jM_IRf?jf1vjJN>5@hIZB]JwAC\@dOt^<@HM[IJN>UMl2J \U] `BXWEWI5@Hu[@HG1I5@H@HA .
bM_IUDA \k]BXIJ3>jMlJShM[O3@LSHM_I'O3M_|}@hWXn
iF@M_WXWE\l`@HA<JN\M[ShSh@HONO-:
d[r=?>U@@h5M_^<g5WX@ O3>5\l`0O&J3>UM_J0Mu[\[BcA5M[IUS(@1G3@HWXM_J3@HAbBEIuK@hGTOQBX\[IyBcOJ3>U@gUG3BcS(@1J3\<gUMnaJ3\MuK\[BcAyAC@HMKACWX\STPCOHr
st\l`@Hu[@hGdvUM<JTM[O3Pb^Mnij@A5@hI5BX@HAMKShSh@HONO?J3\bMyG3@dOQ\KV5GNSh@ @hu[@HIx`>5@hIMyY[GTM_ImJ0\_|J3>U@GN@HO3\[V5GTS(@S(\KV5WcABEIIU\y`Mnb`\KV5WXA>jMu[@
SHM_VUO3@HAMyAC@dM[ACWX\CSTPr=?>UM_JtBcOhvFB]J1BXOtgj\mO3O3BEiUWE@JN>UMlJ1V5IUAC@HG1fMJNM[O3PbVUIUAC@hGNY[\@dO0Mu[\KBXA5M[IUS(@ BXIu[@hGTO3BE\KIvCJ3>U\[V5YK>BEJNO1GN@HmV5@HOQJ
|}\KGqM1GN@HO3\[VUGNSh@&BXIaIU\`?MnwS(\KV5WcA>UMuK@SHM_VUO3@HALM_InAC@dM[ACWX\CSTPCOhrZ@BXWEWXVUOQJ3GTMlJN@&JN>5BXO&M[O3gj@dS
JBEIaJN>5@|}\[WXWE\l`BXI5Y VUO3BEI5Y M_Ia@(5M[^agUWE@Kr
f\KIUOQBcAC@HGMaGN@HM_WEzJ3BX^a@ O3nOQJ3@H^/BEI`>5BcST>yJN>5@hGN@M_GN@t|}\KV5GJNMKOQPC5O \ b !v \ d !v \ f v5M[IUiA \YnKrtONOQV5^<@J3>jMlJ?J3>5@gUG3BX\[GNB]JNBE@dO&\[|JN>5@HO3@
JN>5G3@H@aJNM[O3PCOM_GN@ v Uv CvM_IjA # 5 G3@dOQgF@HS(J3BXu[@hWXn[rUV5GQJN>5@hGwMKO3O3V5^<@aJ3>UM_JJ3>5@<JTM[O3PC2O \ b M[IUBA \YnO3>UM_GN@<MxS(GNB]JNBXSHM_WGN@HO3\[V5GTS(@f
M[IUAJN>UMlJ?J3>U@1JTM[O3PCQO \ d M_IUiA \ f O3>UM[G3@ MLShG3BEJ3BcShM[WG3@dOQ\KV5GNSh@ f r=?>5@Sh@hBXWEBXI5Y<g5GNBE\KG3BEJ3BX@HO\_|J3>5@ GN@HO3\[V5GTS(@dOf M_IjAf M_GN@
P \ b UGTOQJtM[ShmV5BXGN@HO?JN>5@wGN@HO3\[V5GTS(@f r=?>5@HIvjJ3>5@af?jf `\[VUWXAiF@OQ@hJ0J3\ 6 5
# 5 M_IUA aGN@HO3gj@dS
JNBEuK@hWXn[r?tONOQV5^<@JN>UMlJtJ3>5@JTM[O3+
S(@hBXWXBEI5Y<g5GNBX\[GNB]Jon\[|f inJN>5@ G3@dOQ\KV5GNSh@1YKGNM[ImJS(WcM_VjOQ@Kr;{|;JNMKOQjP \ d GN@HmV5@HOQJNO0f I5@hJHvJ3>U@hIB]J0`\[V5WcAyiF@GN@(|}VUO3@HAM[ShSh@HONO
iF@HSHM_VUO3S@ \Ud7 Oqg5GNBX\[GNB]JonLBXOWE@dO3OqJ3>UM[If?Uf1rKIJ3>5BcOShM[O3@[v \Ud`\KV5WcAyOQV5DF@HGMu[\KBXAUM_IUSh@BXIu[@HGNO3BE\KIaJ3>5\KV5Y[><JN>5@hGN@tBcOqI5\gj\mO3O3BEiUBEWXB]Jon
\[|M<AC@dM[ACWX\CSTP@hu[@HIBE-| \Ud1`?M[O?gF@hGN^<B]J3J3@dAMKShSh@HONO&JN\f r

Version 2 CSE, IIT Kharagpur

t\l`/WE@hJ<VjOJNG3nRJN\'mVUM[ImJ3BEJNMlJNBEuK@hWXneAC@(JN@hGN^aBXI5@J3>5@xACVUGNM_J3BX\[Ie|}\KGa`>UBXST> MJTM[O3Pe^<MnRV5IjAC@hGNY[\J3>5@xACBEDF@HG3@HImJLJongF@HOa\_|
BXIu[@hGTO3BE\KIUOq`>5@HIyGN@HO3\[V5GTS(@dO&M_GN@tO3>UM_GN@HA<VUIUAC@hG?frK=\BXWEWXVUOQJ3GTMlJ3@>5\l` J3>UBXO?ShM[IyiF@AC\KI5@[v`@1Sh\[^<g5VCJN@0J3>U@tJTM[O3PaBXIu[@HGNO3BE\KIUO
ACVU@yJ3\ZG3@dOQ\KV5GTS(@yO3>UM_GNBEIUYxJ3>5GN\[VUY[>RJ3>U@y|}\[WXWX\l`BEI5YJo`\@h5M_^<g5WX@HOHrIeJ3>U@M_IjM_WXnO3BcOwGN@hYKM[GNA5BEI5YxgUG3BX\[GNB]JonZBEIuK@hGTOQBX\[IUOACV5@yJN\
GN@HO3\[V5GTS(@OQ>jM_GNBEI5Yjv`@>UMu[@ M[ONO3V5^<@HAJN>UMlJ0\KIUS(@ MJNM[O3PyBEJG3@HWE@dM[O3@HOMLGN@HO3\[VUGNSh@[vmB]J0AC\@HO?IU\_J0M[SHKVUBEGN@M[In\_J3>U@hG?G3@dOQ\KV5GTS(@[r;I
\[J3>5@HG`\KGNA5OHvmJNMKOQPCO@(C@HShVCJ3@ BXIJo`\<g5>UMKOQ@dOhvGN@HO3\[V5GTS(@ M[SHmV5BEGN@g5>UM[O3@|}\[WXWE\l`@HAbinyG3@dOQ\KV5GTS(@G3@HWE@dM[O3@tg5>UMKOQ@KrIbJN>5@GN@HO3\[V5GTS(@
MKShmV5BXG3@Lg5>UM[O3@[vJTM[O3PCO1PK@h@Hg\[I'M[ShmV5BXGNBEI5YJ3>U@LGN@HO3\[V5GTS(@dO0JN>5@hnxIU@h@HA }IU\GN@hWX@HMKOQ@0M_IjABXIJN>5@<G3@dOQ\KV5GNSh@wGN@hWX@HM[O3@gU>UM[O3@JN>5@hn
\KI5WEnG3@HWE@dM[O3@bGN@HO3\[V5GTS(@dOI5\eM[ShmV5BXGNBEI5Y
r 0I5WX@HONOaJ3>5@JTM[O3PCOaM[G3@@hI5|}\[GTS(@HAJ3\Z|}\[WXWX\l`6J3>UBXOACBcONS(BXg5WEBXI5@KvAC@hJ3@HG3^<BXIUMlJNBE\KI\_| M
mVUM[IKJNB]JTMlJNBEuK@iF\[VUIUA\[IJ3>5@BXIu[@hGTO3BE\KIyJ3BX^<@`\KV5WcAbiF@HSh\[^<@wACB ShV5WEJHr




$ * .

O3nCOoJN@h^ >UM[Oq|}\[V5G&JNMKOQPCO Z \`bv \Udlv \Uf[r=?>U@HO3@JNMKOQPCOI5@H@HAaJo`\S(GNBEJ3BcShM_WUG3@dOQ\KV5GNSh@HO&f M_IUAbf r;1O3O3V5^<@JN>UMlJJ3>5@0gUG3BX\[GNB]JNBE@dO


\[|&J3>U@L|}\KV5GJNMKOQPCO M_GN@LMKOt|}\KWEWX\l`0O Z    \`bh  65 c .  \kdH  5c    \UfH  c .  \ n  ra=?>5@a|}\[V5GJTM[O3PO Z \`blv \Ud_v \UfLM[IUA
\ n >UMuK@ij@H@hIM[G3GTM_I5YK@HABEIA5@HS(GN@HMKOQBXI5Y\KGNAC@HG\_|J3>U@hBXG1g5GNBX\[GNB]JNBE@dOhr?=?>UMlJ1BXOHv .  \qbh .  \UdH  g gg     \ n (r?=?>U@@(5MKS
J
GN@HO3\[V5GTS(@GN@HmV5BXGN@h^<@hImJNOt\_|JN>5@HO3@wJTM[O3PO1M_IUAxJ3>5@aACV5GTMlJ3BX\[I|}\KG1`>UBXST>xJN>5@wJTM[O3PCO0I5@H@HAJN>5@Jo`\yGN@HO3\[V5GTS(@dO>UMuK@ij@H@hIZO3>5\l`I
BXIxBXYUr  r&f\[^<g5VCJN@ J3>5@wACBED@hGN@hImJJongj@dO?\_|BEIu[@HGNO3BX\[IUO&J3>UM_J0@HMKST>bJTM[O3Py^<BEYK>KJ0>jMu[@1J3\<V5IUAC@HG3YK\<BEIJ3>U@`\KGNOQJ?SHM[O3@[r


Task Priorities

Pri(T1)= 10

T1

40ms
CR1

Pri(T2)= 7

T
2

60ms

10ms
Pri(T3)= 5

T
3

CR2
20ms

Pri(T4)= 2

T
4

BXY[VUG3@ Z =;M[O3PGTM_g5>\_|5M_^<g5WX@ r r




\KWEV5J3BX\[I Z tO OQ>U\l`IBXIZ;BEYj r  vFJN>5@aJNM[O3PC\`b`\[VUWXAxGN@HmV5BXGN@wJ3>U@aGN@HO3\[VUGN Sh@
2bw|}\KG 5 ^OM_IUA
:dL|}\[G #5 ^Ohr=?>5@aJTM[O3P
\Uf `\[V5WcAG3@dKVUBEGN@ G3@dOQ\KV5GNSh@
.bt|}\[G 15 ^OM[IUAJNM[O3+
P \ n `\[V5WcAG3@dKVUBEGN@ :
d |}\KG ^<OHr [@(J0VUO0MKO3O3V5^<@;fONST>5@HACVUWEBXI5Y
M[^a\KI5Y<@HmVUM[W!g5G3BX\[GNBEJon<JNM[O3PCOhrt\l`  J3>U@wS(@hBXWXBEI5Y<\[|M[ImnbG3@dOQ\KV5GNSh@ f ShM[IiF@wShM[WXShV5 WcMl5 J3@dAbVjOQBXI5YyCg5Gdr r r MKO Z

"   < \ 3' \  3 0  / ##$
'

1OQBXI5YLJ3>5BcOhvC`@Y[@(Jtf@hBXW{
b -^Ml v  '  M[IUAf@HBEW{
d - ^<M_ v ' / `r [@hJVjO?I5\l` AC@(JN@hGN^<BEI5@JN>5@
ACBED@hGN@hImJ1JongF@HO \[|&BEIuK@hGTOQBX\[IUO0J3>UM_J@HM[ST>JNM[O3Px6 5 ^<BEYK>mJ O36VC5 D@hGdvM_IUAJ3>5@ACV5GTMlJNBE\KI\_|J3# >55 @aBXImuK@hGT6 OQ5 BX\[IjOhrf\[IjOQBcAC@hGNBXI5YyJN>5@aJNM[O3PCO
\KI5@ imn\[I5@ Z
 =MKOQPi\`bShM_IO3VCD@hGtA5BEGN@HS(JtBEIuK@hGTOQBX\[IRACVU@wJ3\yJ3>5@wGN@HO3\[VUGNSh@wf ?inyJTM[O3iP \Uf \KGACVU@wJ3\<JN>5@GN@HO3\[VUGNSh@wf ?i+n \ n r
5GN\[^,M_IBXIUO3gj@dS
JNBE\KI\_|&;BXYUr  BEJ SHM_IiF@@dM[O3BEWXnxOQ@H@hIxJN>UMlFJ \`bwSHM_IO3VCDF@HGACBEGN@HS(J1BXIu[@hGTO3BE\KIA5V5@JN+\ \Uf|}\KG 15 ^OtM[IUA
<r


Version 2 CSE, IIT Kharagpur

ACV5@aJ3\C\ n |}\[G 5 ^OHr*\`bL`BXWEWI5\[JOQV5DF@HGwM_InBXI5>5@hGNBEJNM_IjS(@(z{GN@hWcMlJ3@dABXIu[@hGTO3BE\KIvOQBXIUSh@aBEJwBcOJ3>5@>5BXY[>U@HOQJ gUG3BX\[GNB]JonJNM[O3Pr


5GN\[^ M<O3BE^<BXWXM[GG3@dM[O3\[I5BXI5YjvKBEJ0BXO0@HM[O3nJN\<O3@h@JN>UMlJS\`bShM[IIU\_JV5IUAC@HG3YK\AC@HMKACWE\CSTPbMuK\[BcA5M_IjS(@tBXIu[@HGNO3BE\KIr
=MKOQiP \Ud `BEWXWI5\[J1O3VCDF@HG1M[ImnACBXG3@dS
J0BXImuK@hGTOQBX\[IvUOQBXIUSh@B]J AC\@HOI5\[JtI5@H@HAx M_InG3@dOQ\KV5GNSh@|}\[G0BEJNO1S( \[^<g5V5JNMlJNBE\KIUOHr VCJdv\Ud
ShM[IaO3VCD@hGBXI5>5@hGNBEJNM_IjS(@?G3@HWXM_J3@dABXIu[@hGTO3BE\KILACV5@?JN.\ \Uf`>U@hPI \UfM[ShmV5BXGN@HO 2
bM[IUA \`bq`?M_BEJNO;|}\KG 2
b_r;{JqBXOIU\_JqACB ShV5WEJ
J3\OQ@H@w|}GN\[^ ;BXYUr  J3>UM_2J \UdL`BEWXWOQV5DF@HGBXI5>5@HG3BEJNM[IUS(@aGN@hWcMlJ3@dAxBXImuK@hGTOQBX\[I\[IZMKShSh\[V5ImJ1\[| \Ufw|}\KG 15 ^OHrwBE^<BXWXM[G3WXn[vA5V5@
J3P\ \ n B]J0ShM[IVUIUAC@hGNY[\aBXI5>5@hGNBEJNM_IjS(@(z{GN@hWcMlJ3@dAyBXIu[@hGTO3BE\KIy|}\[G 5 ^OhrqBXIUShF@ \Ud AC\@HO?IU\_J0GN@HmV5BXG3@ M_InGN@HO3\[V5GTS(@KvmBEJ0ShM[II5\[J
OQV5DF@HG0M_InbAC@dM[ACWX\CSTPyMu[\[BcA5M[IUS(@hzGN@hWcMlJN@HABXIu[@hGTO3BE\KIr
\Uft`BXWEWI5\[J?O3VCD@hGM_InACBXG3@dS
J?BEIuK@hGTOQBX\[IbO3BXIUS(@B]J0AC\@dO&I5\[J0OQ>UM[G3@M_In<G3@dOQ\KV5GTS(@0`BEJ3>MWX\l`@hG&gUG3BX\[GNB]JonaJTM[O3PFrst\l`@Hu[@hGdv
\UfShM[IO3VCDF@HG1BXI5>5@HG3BEJNM[IUS(@LG3@HWXM_J3@dAxBEIuK@hGTOQBX\[IM[IUAAC@dM[ACWX\CSTPMuK\[BcA5M_IjS(@GN@hWcMlJ3@dAxBXImuK@hGTOQBX\[IA5V5@JN+
\ \ n |}\KGM_J^<\mOoJ 5
^Ohr
\ n `BXWXWI5\_J0O3VCD@hGtM[Imnbg5G3BX\[GNBEJonBEIu[@HGNO3BX\[IvCM[O?BEJ0BcOJ3>5@WX\l`@dOoJg5GNBX\[GNB]Jon<JTM[O3PFr
Z@ I5\l`9G3@Hg5GN@HO3@hImJJN>5@^MlCBX^V5^ A5V5GNM_J3BX\[I|}\[G`>5BcST>@HM[ST>JNMKOQPOQVCD@hGTO|}GN\[^6@dM[ST>yJongF@\_|;BEIu[@HGNO3BX\[IbBXIx=M[i5WX@ r r r
=;M[O3P 1BEGN@HS(J I5>U@hGNB]JTM_IUSh@ 0u[\KBXAUM_IUSh@
\Ud \Uf \ n \Ud \Uf \ n \kd \kf \ n
\ b
15  5
\ d
15 5
\Uf
5 5
=;M_i5WX@ r r qGNBE\KG3BEJon<Iu[@hGTO3BE\KIUO|}\[G05M[^agUWE@ r r
!








T1

20ms
CR 1

T
2

10ms

10ms

30ms
T
3

T
6

CR 2
40ms

T
4

10ms

50ms
CR 3

T
5

;BXY[V5GN@ 65Z 0@HO3\[V5GTS(@w>UM[G3BXI5Y<0^<\[IUYy=MKOQPCO\_|5M_^<g5WX@ r r r




$ * .


[@(JVUOS(\KIUO3BXAC@HGM<O3nCOoJN@h^/`BEJ3>xMLO3@(J\[|gj@HG3BX\CACBcS1GN@HM[W]zJ3BX^<@tJTM[O3PCOQ\`b
g gg \[r=?>U@GN@HO3\[VUGNSh@1M_IjASh\[^<g5VCJNBEI5YaGN@HmV5BXG3@H^a@HImJNO\_|
JN>5@HO3@aJNM[O3PCOt>jMu[@aij@H@hIROQ>5\l`IZBEIR;BEYjr 65 rtONO3V5^<@LJN>UMlJ JN>5@aJNM[O3PCOF\qb
g gg \L>UMuK@LiF@h@HI'M[G3GTM_I5YK@HABXI'A5@HS(GN@HMKOQBXI5Y\[GTAC@hG\_|

Version 2 CSE, IIT Kharagpur

JN>5@hBXG0g5GNBE\KG3BEJ3BX@HOHrqf\[^<g5VCJN@ J3>5@wACBED@hGN@hImJJongj@dO?\_|BEIu[@HGNO3BX\[IUOJ3>jMlJ0MaJNMKOQPy^<BXY[>mJ>UMu[@JN\aVUIUAC@hGNY[\jr
  (* ) 

U \[G&@dM[ST><\_|!JN>5@tYKBEuK@hIaJNMKOQPCO&`@0>jMu[@0S(\K^<g5VCJ3@dA<J3>U@t^MlCBX^V5^ACV5GTMlJNBE\KI<|}\[G&`>UBXST>BEJ^<BXY[>mJ&>UMuK@?J3\LO3VCD@hG&|}G3\K^ ACBED@hGN@hImJ
JongF@HO\[|BXImuK@hGTOQBX\[IjOM[IUA>UMu[@ GN@hg5GN@HO3@hImJ3@dAJN>5\KO3@ BEIx=;M_i5WX@ r r r
=;M[O3P
1BXG3@dS
J
IU>5@hGNB]JTM_IUSh@
0uK\[BcA5M_IjS(@
\Ud \Uf \ n \ m \ \kd \kf \ n \ m \ \Ud \Uf \ n \ m \
\`b
6 5 6 5
\Ud
 5 # 5 # 5 6 5 6 5
\Uf
6 5  5 # 5  5 6 5
\kn
# 5 6 5
\Um
# 5
=;M_i5WX@ r r tBEDF@HG3@HImJt=&ngF@HO?\_|Iu[@HGNO3BE\KIUO|}\[G0qCM[^<g5WE@ r r r
!
[@(JVUOI5\l`9@(5M_^<BXI5@J3>5@gUG3\Kgj@HGQJNBE@dOJ3>UM_J?>U\[WcAb|}\KG0OQVjST>M[IBXIu[@HGNO3BE\KIyJTM_i5WX@[r
 &MKST>bBXImuK@hGTOQBX\[IyJNM_iUWE@ BcOM_IV5g5gF@hG?J3GNBcM_I5YKV5WXM[G?^<M_J3GNB]!r=?>5@ WX\l`@HGJNG3BcM_IUY[V5WcM_GB]JN@h^O\[|@HMKST>yJTM_i5WX@M_GN@ M[WEWH@hGN\Ur=?>5BcO
OoJNG3VjS
J3VUG3@w\[|J3>5@aBXImuK@hGTOQBX\[IJTM_i5WX@HOtBXO@hgF@HS(J3@dAOQBXIUSh@LMyWX\l`@hGtgUG3BX\[GNB]JonJNMKOQPShM[II5\[JO3VCDF@HGM[InBXIu[@HGNO3BE\KIUO0ACVU@wJ3\M
>5BXY[>5@HGgUG3BX\[GNB]JonyJNM[O3Pr
 =?>5@LMuK\[BcA5M_IjS(@ JNM[i5WX@BcO1O3BE^<BXWXM[G0JN\bBXI5>5@hGNBEJNM_IjS(@wJTM_i5WX@@h5S(@hg5Jt|}\[G1J3>U@LShMKOQ@\_|JNMKOQPJN>UMlJ AC\bI5\[J1I5@H@HAM[InGN@HO3\[VUGNSh@[r
=?>5@<G3@dM[O3\[Ix|}\KGJ3>5BcO BXOM[YKM[BEIZI5\_Ju[@HG3n|M[GJ3\xOQ@H@hPrL=?>U@LJTM[O3PCO1IU\_JI5@h@dACBXI5YxM_InxG3@dOQ\KV5GTS(@[vI5@Hu[@HGGN@HmV5@dOoJ|}\[GwM[In
G3@dOQ\KV5GTS(@1MKOM<S(\[IjOQ@dKVU@hIUSh@1JN>5@hnShM[II5\[JtOQV5DF@HG0Mu[\[BcA5M[IUS(@BEIuK@hGTOQBX\[IUOHr
UG3\K^*f\[GN\[WXWXM[G3n \_|=?>5@H\[GN@h^ r r `@M[WEGN@HMKACn>UM[AJN>5@ |}\[WXWE\l`BXI5YaG3@dOQVUW]J Z


/)(10.")=_"k K) ' "/%)= _ 24V # <1"@ =&  /)=
1 =@!)  ! )=
1 _   (<X

UG3\K^/J3>5BcO0GN@HO3V5WEJ0B]Jt|}\[WXWE\l`0OJN>UMlJ0JN>5@JN\_JNM[WACV5GTMlJNBE\KI|}\[G0`>5BcST>xM_InJTM[O3P+\ 3 ^MnbiF@i5WX\STPK@HAinbWX\l`@HGg5GNBE\KG3BEJonJNMKOQPCOHv
Sh\[IUO3BXA5@hGNBEI5Y<M_WXW!JongF@HO?\_|BXImuK@hGTOQBX\[IjO&BcO0M[O|}\KWEWX\l`0O Z
o 3  0 43 b m 3 4 cd 3 3 4 cd 3 4 '
g<g"gh r g [
`>5@HG3@ 3 4BcO0i5WX\CSTPmBXI5Yy\[|JNMKOQhP \3qinMbWE\l`@hGtg5G3BX\[GNBEJonyJNMKOQhP \-4LACV5@J3\bACBXGN@HS
JBEIuK@hGTOQBX\[Iv 3 3 4BcOtiUWE\CSTPBEIUY\_8| \3qin \-4wA5V5@
JN\aBXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HABEIuK@hGTOQBX\[Iv 3 4 BXOiUWE\CSTPBEIUYa\[6| \3iOn \-4A5V5@J3\yMu[\KBXAUM_IUSh@(z{G3@HWXM_J3@HA<BXIu[@HGNO3BE\KIr
=?>VUOHv[JN>5@ ^MlCBE^LV5^/ACV5GTMlJNBE\KI|}\[G?`>5BcST>bMJNM[O3PShM[Iyij@i5WX\CSTP[@HAyimnBEJNOWX\l`@HG&g5GNBX\[GNB]JonaJNMKOQPCO\[IbMKShSh\[V5ImJ\[|O3>UM_GNBEIUYw\_|
BcO0JN>5@WcM_GNY[@dOoJ0@HImJ3GNnBXIxJ3>U@LS(\KG3GN@HO3gF\[IUACBXI5Y<GN\l`9|}\KG0JN>5@wJTM[O3PBXIxJ3>U@BXImuK@hGTOQBX\[IJTM_i5WX@[r0'@LSHM_IxI5\l` ^<\CACBE|}nqCg5GHr r  1 \_|
f>UM[gCJ3@HG J3\yAC@hJ3@hGN^<BEIU@1JN>5@GN@HO3gj\KIUOQ@JNBE^<@\_|MLJNMKOQOP \ 3 MKO|}\[WXWE\l`0O Z
3 b
3
3 %#% 3 3 o 3 3 4 b  4 3  4 g"g<gH r g 1
`>5@HG3@ %#% 3 BcOJ3>5@wAC@HWXMnACV5@ J3\O3@hWE|~z{O3VUO3gj@HIUO3BE\KIUOhv5M[IUA o 3 BXOJ3>5@ JN\_JNM[W!BEIuK@hGTOQBX\[IACV5@ J3\GN@HO3\[VUGNSh@1O3>UM_GNBEIUYUr
 ' w 0 0, 
IJ3>5BcOO3@HS
JNBE\KIvC`@ A5BXONS(VUONO?OQ\K^<@1BX^<gj\KGQJTM_ImJ?|}@HMlJNV5GN@HO\_|frZ@ jGNOQJgUG3\luK@tJN>UMlJ?JNMKOQPCO?M_GN@ OQBXI5Y[WX@i5WE\CSTPBXI5YL\KIMKShSh\[V5ImJ
\[|;GN@HO3\[V5GTS(@1VUONM_Y[@Kr



 

 

 

 







Version 2 CSE, IIT Kharagpur

j ll3
~[E (Edl~& C [h    l
   0f\KIUO3BXAC@HG?J3>UM_J1MLJNMKOQPi\ 3 IU@h@HAUO0M<OQ@hJ0\_|G3@dOQ\KV5GNSh@HOC 2#
3' r1iuBX\[VUO3WEnKvJ3>5@LS(@hBXWXBEI5Y<\[|;@dM[ST>G3@dOQ\KV5GNSh@
3 BXIC
^LVUOoJiF@ Y[GN@HMlJN@hGJ3>UM[I\KG?@HmVUM_WFJN\agUG3B{\ 3 (rq0\l`MKO3O3V5 ^<@1J3>UM_J?`>U@hIh\ 3 MKShmV5BXG3@dOO3\[^<@G3@dOQ\KV5GTS(@
3 v5M_I5\[J3>5@HGJTM[O3Pj\ 4 `MKO
M[WEGN@HMKACn>U\[WcACBEIUYbMyGN@HO3\[V5GTS(@4
4 v!M_IUAxJ3>UM_J
3 c"
4
ar VUST>ZMbOQBEJ3VUM_J3BX\[I`\[VUWXAxWX@HMKAJ3i\ \ 3 J3\i5WX\STPxM_|~J3@hG M[SHmV5BEGNBXI5YyM
GN@HO3\[V5GTS(@Kr VCJdv5`>5@HiI \ 4 WX\CSTP[@dA
4 f?Uf OQ>U\[V5WcAb>jMu[@ij@H@hIxOQ@hJ?J3\MlJWX@HM[OQJg5GNB \ 3 inJ3>5@GN@HO3\[VUGNSh@tY[GTM_ImJS(WcM_VUO3@ \_|f
M[IUA \ 3 S(\KV5WcAI5\_J>UMu[@iF@h@HIY[GTM_ImJ3@dA
3 r0=?>5BcO0BcO1MySh\[ImJ3GTM[A5BXS(J3BX\[I`B]JN>xJ3>U@g5GN@h^<BcOQ@Kr?=?>U@hGN@(|}\[GN@[vj`>5@hDI \ 3 M[ShmV5BXGN@HO\KI5@
GN@HO3\[V5GTS(@ M_WXW!GN@HO3\[V5GTS(@dOGN@HmV5BXGN@HAyinB]J0^LVUOoJiF@ |}G3@H@[r
'@SHM_IBEIMO3BE^<BXWXM[G?`MnO3>5\l` J3>UM_J\[IUSh@MwJNM[O3jP \3M[ShmV5BXGN@HO&MLGN@HO3\[V5GTS(@KvKBEJ0ShM_II5\_J?V5IUA5@hGNY[\LM[InBEI5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HA
BXIu[@hGTO3BE\KIr;1O3O3V5^<@1J3>UM_JMLWX\l`@HGg5GNBX\[GNB]Jon<JTM[O3jP \wBXO>5\KWXA5BEI5Y<O3\[^<@1GN@HO3\[VUGNSh@ 
M_IUAM>5BXY[>U@hG?g5GNBE\KG3BEJonaJNM[O3jP \ LBXO?`?M_BEJ3BXI5Y
|}\KG&JN>5@1GN@HO3\[VUGNSh@[r VCJdvmJ3>5BcOBXOI5\_J?gF\KONOQBXi5WX@1M[OS(@HBEW{ ^LVUOQJiF@M_JWX@HMKOoJ?M[O^VUST>bMKO&gUG3B{ \ [(rq=?>5@ f?jf OQ>U\[V5WcA<J3>U@hGN@(|}\[GN@
>UMuK@iF@h@HI'O3@(J J3\MuM[WEVU@JN>UMlJBcOM_JWE@dM[OQJ MKO1^LVUST>ZMKOg5G3B{ \  1M[IU?A \ 3 `\[V5WcA>UMuK@iF@h@HIZg5GN@huK@hImJ3@dAx|}GN\[^ MKShS(@dO3O3BXI5YyJN>5@
GN@HO3\[V5GTS(@
3 BXIJ3>5@ jGNOQJg5WXMKS(@Kr=?>UBXO?BcOM<S(\[ImJNGNMKACBXS(J3BX\[I`B]JN>JN>5@g5GN@h^<BcOQ@`@OQJNM[GQJN@HA`B]JN>rq=?>5@hGN@(|}\KG3@KvB]J0BcO?I5\_JgF\KONOQBXi5WX@
JN>UMlJtMLJNMKOQPbV5IUAC@HG3YK\m@dO?BEIU>5@hGNB]JTM_IUSh@(z{G3@HWXM_J3@dAyBXImuK@hGTOQBX\[IMl|~JN@hGBEJtM[ShmV5BXGN@HO?MaG3@dOQ\KV5GNSh@[r
1OQBXI5YtMO3BE^<BXWXM[GGN@HMKOQ\KI5BEIUYUvh`@&SHM_IwO3>5\l`JN>UMlJ;M?JNMKOQP ShM[II5\_JO3VCD@hG;M_In1MuK\[BcA5M_IUSh@BEIuK@hGTOQBX\[I Ml|~JN@hGMKShmV5BXG3BXI5Y0MGN@HO3\[VUGNSh@[r
=?>VUOHvK\KIUS(@ MJTM[O3PM[ShmV5BXGN@HOMwGN@HO3\[V5GTS(@0BEJShM_II5\_JV5IUAC@HG3YK\LM[Imn<BXIu[@hGTO3BE\KIr{J?BcO&JN>5@hGN@(|}\KG3@1S(WX@HM_GJ3>jMlJJNM[O3P<V5IUAC@HGf
M[G3@O3BEI5YKWE@ i5WX\CSTPBEI5Yjr
!
=?>5@|}\KWEWX\l`BEIUY<Sh\[GN\[WXWXM[G3n<@dM[O3BEWXn|}\[WXWX\l`0O&|}GN\[^=?>5@h\KG3@H^ r r
%   * "$# & K(   ) bT_ C K( Kl
+<lT?lw~ hT
l C
~b~w
T Clk l
&G3BX\[GNB]Jonf@hBXWEBXI5Y&G3\[J3\CS(\KW!BXOt|}GN@h@|}GN\[^AC@dM[ACWX\CSTPOHvUVUImiF\[VUIUAC@HAg5G3BX\[GNBEJonbBXImuK@hGTOQBX\[IjOhvUM[IUAST>UM[BEIxiUWE\CSTPBEIUYKOHrIJ3>5@|}\[WEz
WX\l`BEIUYUvC`@ A5BXONS(VUONOJ3>U@HO3@ |}@HMlJNV5GN@HO?\_|fr
 (  
 * .   (* (*)  % a1@HM[A5WE\CSTPCO\CShShV5Gq\[IUWEna`>5@hIyA5B]D@hGN@hImJ1^a\KG3@?JN>UM_Ib\[I5@;JNMKOQPCO>5\KWXA<gjM_G3JNO\[|@dM[ST>
\[J3>5@H6G 7 OGN@HmV5BXG3@dAG3@dOQ\KV5GNSh@HOM_J0J3>5@aO3M[^<@ J3BX^a@Kv!M_IUAJN>5@hIxJN>5@hnGN@HmV5@HOQJ0|}\KGJ3>5@LG3@dOQ\KV5GTS(@HO?iF@hBXI5Y>5@hWcAin@dM[ST>x\_JN>5@hGdr VCJ
V5IjAC@hGfv5`>5@HI\[IU@JNMKOQPBXOt@(C@HShVCJ3BXI5Yy`BEJ3>O3\[^<@wGN@HO3\[VUGNSh@HOHv5M_In\[J3>5@HGJNMKOQPShM[IxI5\_J1>5\[WcAxMGN@HO3\[V5GTS(@J3>jMlJ1^Mn@hu[@HG
iF@1IU@h@HA5@HAimnaJN>5BXOJTM[O3P<imny=?>U@h\[GN@h^ r r r=?>jMlJ?BXOHv`>5@hIMwJTM[O3PaBcOY[GTM_ImJ3@dA\[IU@tGN@HO3\[V5GTS(@KvmM[WEWBEJNOG3@dmV5BEGN@HAyG3@dOQ\KV5GNSh@HO&^VUOQJ
iF@ |}G3@H@[rq=?>5BcO?g5GN@huK@hImJNOJN>5@gj\mO3O3BXi5BEWXBEJony\_|M_InbAC@dM[ACWX\CSTPFr
 &   
.0  )

 



 





( 
 ) )


 *(  (# ( )   ( )   (*

/ >UBEYK>5@hGwgUG3BX\[GNB]JonJNM[O3PZO3VCD@hGTOV5IiF\[V5IUA5@HARg5GNBE\KG3BEJonBXIu[@HGNO3BE\KIv`>5@HIeB]JLBXO`?M_BEJ3BXI5Y|}\KGMxWX\l`@HGg5G3BX\[GNBEJonxJNMKOQPJ3\xGN@hWX@HM[O3@
O3\[^<@y\[|JN>5@bGN@HO3\[VUGNSh@HO GN@HmV5BXG3@dARimn'BEJHvqM_IjARBEIeJN>5@b^<@dM_Ie`>5BXWE@bBEImJ3@HG3^<@dACBXM_J3@g5G3BX\[GNBEJonJNMKOQPCOgUG3@H@h^<gCJJN>5@bWX\l` g5G3BX\[GNBEJon
JTM[O3P|}GN\[^pf VjO3M[Y[@[r VCJOQVjST>ZMOQBEJ3VUM_J3BX\[ISHM_IZI5@huK@hG>UM_g5gF@hIZBEIRf9OQBXIUSh@L`>5@HI5@huK@hG My>5BXY[>U@hG g5GNBE\KG3BEJonbJTM[O3Px`M[B]JTO
|}\KGO3\[^<@xG3@dOQ\KV5GTS(@HO<`>UBXST> BcObShV5GNG3@HIKJNWEnij@HBEIUYkVUO3@HA in MkWE\l`,g5GNBE\KG3BEJoneJTM[O3PFv?JN>5@hI J3>5@@hC@HS(V5J3BXI5YkWX\l`@HGyg5GNBE\KG3BEJonkJTM[O3P
BcO ^M[AC@LJ3\BXI5>5@hGNBEJ1JN>5@<g5G3BX\[GNBEJonx\_|qJN>5@<>5BEYK>ZgUG3BX\[GNB]JonJTM[O3Pk}in=?>5@H\[GN@h^ r r (rL\jv!J3>5@<BXImJ3@hGN^<@HACBcMlJN@LgUG3BX\[GNB]JonJTM[O3PCO1SHM_I
I5\[Jg5G3@H@h^<gCJWE\l`@hG;g5GNBE\KG3BEJon JNMKOQP |}GN\[^fVjO3M[Y[@[r;=?>5@hGN@(|}\KG3@KvlV5Iij\KV5IUAC@dAgUG3BX\[GNB]Jon BXIu[@hGTO3BE\KIUOSHM_ILI5\_J\CShS(VUG;VUIUAC@hGq?fr


(  & ( )  (*)-   (*

nb=?>5@H\[GN@h^ r r GN@HO3\[V5GTS(@ O3>UM_GNBEIUYaM[^a\KI5YLJNM[O3PCO?V5IUAC@HGtfBcO0OQBXI5YKWE@ i5WX\CSTPmBXI5Yjr


=?>5\KV5Y[>?fMuK\[BcA5O0AC@dM[ACWX\CSTPOHvFV5Iij\KV5IUAC@dAg5GNBE\KG3BEJonBEIu[@HGNO3BX\[IUOHvjM[IUAST>UM[BEIiUWE\CSTPBEIUYUFJNMKOQPCO1V5IUAC@HG?fOQJ3BXWEWOQV5DF@HG
|}GN\[^*M|}@H`JongF@HO\[|;BXIu[@HGNO3BE\KIUOHr;IJN>5@ |}\[WXWX\l`BEI5YjvC`@wA5BXONS(VUONOJ3>U@ACBEDF@HG3@HIKJJongF@HO\[|BXIu[@hGTO3BE\KIUOJ3>UM_JJNMKOQPCO?^MnyV5IUA5@hGNY[\
`>5@HIG3@dOQ\KV5GNSh@O3>UM[G3BXI5Y<M_^<\[I5YLJ3>U@h^*BXO?^M_IjM_Y[@dAbVjOQBXI5Yfr


Version 2 CSE, IIT Kharagpur

b L7 !0,h ;H" ta qh ;ya


IJ3>5BcOOQ@dS
JNBE\KI`@<ACBcO3ShVUONO1O3\[^<@aBXONOQVU@HOtJ3>UM_J ^MnxM_GNBcOQ@L`>5BEWX@aVUOQBXI5YG3@dOQ\KV5GTS(@O3>UM_GNBXI5Ybg5GN\_JN\CS(\[WcOJN\A5@hu[@HWE\KgMG3@dM_WEzJNBE^<@
M[g5g5WXBXSHMlJ3BX\[IjOG3@dmV5BEGNBXI5Y JNMKOQPCOJN\OQ>jM_GN@I5\[ICz{g5GN@h@H^ag5JNM_iUWE@GN@HO3\[V5GTS(@dOhr=?>5@UGTOoJBXONOQVU@J3>UM_J&`@0ACBXONS(VjO3O&BXO&>5\l`JN\wVUO3@tfRBXI
ACnIUM[^<BXSgUG3BX\[GNB]JonOQnCOQJ3@H^<OHrtV5ijOQ@dKVU@hImJ3WXn[vF`@LACBXONS(VjO3O0J3>5@aOQBEJ3VUM_J3BX\[IUOtBEI`>5BXST>JN>5@LA5B]D@hGN@hImJ1GN@HO3\[VUGNSh@ O3>UM[G3BXI5Yyg5GN\_JN\CS(\[WcO
`@ >UM[AACBcO3ShVUONOQ@dAb`\[V5WcAij@VUO3@(|}VUWr





     !" #$" &%')(* +%
,-

10

#*32/" 4#5 )#$6879,-+#*: ";,<(=>?  @#A%B#C;#5D

\|M_G BXIZM[WEW\[VUGACBcONS(VUONOQBX\[IjOtGN@hYmM_GTACBEIUYyVUONM_Y[@L\_|?fvF`@a>UM[ABE^<g5WXBcS(BEJ3WXnM[ONOQVU^a@dAJ3>jMlJ J3>5@LJNMKOQPxgUG3BX\[GNB]JNBE@dO1M[G3@aOoJTMlJNBXS[r


?= >UM_JBXOHv5MLJNM[O3P(7 Og5GNBX\[GNB]JonyAC\@dOIU\_J0ST>UM_IUY[@1|}\[GBEJNO?@hImJNBEGN@1WXBE|}@ J3BX^a@/.7|}GN\[^/JN>5@J3BX^<@B]J0M_GNGNBEuK@HO&J3\aJ3>5@JNBE^<@BEJSh\[^<g5WX@(JN@HOHr
IACnIUM[^<BXSgUG3BX\[GNB]JonOQnCOQJ3@H^<OHv5JN>5@gUG3BX\[GNB]Jon\_|qM<JTM[O3Pb^<BEYK>mJST>UM[I5Y[@`BEJ3>JNBE^<@[r01O1MbS(\[IjOQ@dKVU@hIUSh@[vCJN>5@g5GNBX\[GNB]JonS(@hBXWXBEI5YmO
\[|q@hu[@HG3nGN@HO3\[V5GTS(@wIU@h@HAUO0JN\biF@aM[g5g5GN\[g5GNBXM_J3@HWEnG3@dS(\[^<g5V5J3@HA@HM[ST>J3BX^a@aMJTM[O3P7 O1g5G3BX\[GNBEJonST>UM[I5Y[@dOhrtIZM[AUACB]JNBE\KIvFJ3>5@LulM_WXV5@
\[|J3>U@wf?jfM_IjAyJN>5@ BEI5>U@hGNB]JN@HAg5G3BX\[GNBEJonaulM[WEV5@dO?\_|JN>5@ JNMKOQPCO>5\KWXACBXI5YaG3@dOQ\KV5GTS(@HOM_WcO3\I5@H@HAbJ3\<ij@ST>UM[I5Y[@dA!r=?>5BcO?G3@Hg5G3@dOQ@HImJNO
ML>5BXY[>G3V5I5zJNBE^<@\lu[@hGN>5@dM[A!r=?>5@ >5BXY[>bGNV5IJ3BX^<@\luK@hGN>5@HMKA<^M_P[@dOVUOQ@ \[|fBEIACnIUM[^aBcS1g5G3BX\[GNBEJonyOQnCOQJ3@h^OV5IUM_JQJNGNMKS
J3BXu[@Kr
'@0>UMuK@0OQ\|M[G&ACBcO3ShVUONOQ@dAaJ3>5GN@h@0BX^<gj\KGQJTM_ImJ&GN@HO3\[V5GTS(@O3>UM_GNBXI5Yg5GN\_J3\CSh\[WcO|}\[GqGN@HM[W]zJ3BX^<@?JNMKOQPCO Z g5GNBX\[GNB]JonLBEI5>U@hGNB]JTM_IUSh@g5G3\[J3\CS(\KW
qo(v[>5BXY[>U@HOQJ&WE\CSTPK@hGqg5GN\_JN\CS(\[W;:s [qM_IUAgUG3BX\[GNB]JonaS(@HBEWXBEIUYwg5GN\_J3\CSh\[Wf(rK=?>5@OQ>U\[G3JNS(\K^<BEI5YmOqM_IjAM[ACulM_ImJTM_Y[@dO\_|JN>5@HO3@
g5GN\_JN\CS(\[WcO?M_GN@ACBXONS(VjO3O3@HAij@HWE\l`r
 qGNBE\KG3BEJonI5>5@HG3BEJNM[IUS(@&G3\[J3\CS(\KWqo Z =?>5BcOBcOqMO3BE^<g5WX@g5GN\_J3\CSh\[W5M_IjAL@hDF@dS
JNBEuK@hWXn\lu[@HGNSh\[^<@HOJN>5@V5Iij\KV5IUAC@dAag5G3BX\[GNBEJon
BEIuK@hGTOQBX\[IygUG3\Ki5WE@H^/\_|J3GTM[ACBEJ3BX\[IUM[WG3@dOQ\KV5GNSh@O3>UM[G3BXI5YwJN@HST>5IUBXmV5@dOhrq=?>5BcO?g5GN\_JN\Sh\[WFG3@dmV5BEGN@HOJN>5@ ^aBXI5BX^M_WO3V5g5gF\[G3J|}GN\[^
J3>5@a\[gF@hGTMlJNBEIUYO3nOQJ3@H^ M_^<\[IUYM_WXW;J3>5@aGN@HO3\[V5GTS(@aOQ>UM[G3BXI5Yg5G3\[J3\CS(\KWXOt`@<ACBcO3ShVUONOQ@dA!rws0\l`@huK@hGdvjV5IjAC@hGqo JNMKOQPCO^Mn
OQV5DF@HG?|}G3\K^ ST>UM_BXIi5WE\CSTPBXI5YM_IUAqo M_WcO3\<A5\m@dO?I5\_J0gUG3@Hu[@hImJAC@HMKACWX\STPCOHr
 s0BXY[>5@dOoSJ [\STPK@hGqGN\_JN\CS(\[W{:s [ Z 's [GN@HmV5BXGN@HO?\[IUWEny^<\CAC@HGNM_J3@OQVUg5gj\KGQJ?|}GN\[^/JN>5@\[gF@hGTMlJNBEIUY<O3nCOoJN@h^r{JtO3\[WXu[@HOJN>5@
ST>UM_BXI<i5WX\STPBXI5YM[IUAAC@HMKACWX\STPLg5GN\[i5WX@h^O\[|!&orKst\l`@Hu[@hGdv[:s [kSHM_I<^M_P[@0J3>5@0BXImJ3@HG3^<@HA5BXM_J3@0g5GNBX\[GNB]JonJNM[O3PCOV5IUA5@hGNY[\
WXM[G3YK@1BXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HAbBEIu[@HGNO3BX\[IUO?M_IjASHM_IJ3>5@HG3@h|}\[GN@ SHM_VUO3@JNMKOQPCOJ3\<^<BcO3OJN>5@hBXGtAC@dM[ACWXBEIU@HOHr
 qGNBE\KG3BEJonbf@hBXWEBXI5YqGN\_JN\CS(\[W?f Z f\lu[@hGTS(\K^<@HO&J3>5@O3>5\[G3JNSh\[^<BEIUYKO\_|J3>5@iUMKOQBcSqo M[O`@hWXWM[O's [gUG3\[J3\CS(\KWXOHr
fegUG3\[J3\CS(\KWUBcOq|}GN@h@|}GN\[^/AC@dM[ACWX\CSTPaM[IUAyST>UM[BEIbi5WE\CSTPBXI5YUr;Ibfkg5G3BX\[GNBEJonL\[|MJNMKOQPaBcO&I5\[J?ST>jM_I5YK@HA<V5ImJ3BXWMw>5BXY[>5@HG
g5GNBE\KG3BEJon<JNMKOQPyGN@HmV5@dOoJTOJ3>5@GN@HO3\[VUGNSh@[r;{JJ3>5@HG3@h|}\[GN@O3VCD@hGTO?^VUST>WX\l`@HGBXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HAbBEIu[@HGNO3BX\[IUOJ3>jM_I's [r
UG3\K^ JN>5@LM[ij\luK@ACBcO3ShVUO3O3BX\[IUOt`@aShM_IxBXIC|}@HGtJN>UMlJ fBcOt`@hWXWOQV5BEJ3@dA|}\[GVUO3@BXIM_gUg5WEBcShM_J3BX\[IUOt>UMuBEIUYyWXM[G3YK@IV5^iF@hG\_|
JTM[O3PO&M_IUA<^M_InaS(GNB]JNBXSHM_W5GN@HO3\[V5GTS(@dOhv[`>5BEWX@t&oRij@HBEI5YLM u[@hGNnLO3BX^agUWE@0gUG3\[J3\CS(\KW5BXOOQVUB]JTM_i5WX@?J3\wiF@0VUO3@HA<BXIyO3^<M[WEWFM_g5gUWEBcShM_J3BX\[IUOHr
 w hh"; 't xt0h0
E
tIM[ONOQVU^ag5J3BX\[IJ3>jMlJ1`?M[O0BE^<g5WXBXShB]JBEIZM_WXWJ3>U@LONST>5@HACVUWEBXI5YbM[WEYK\[GNB]JN>5^O`@LACBXONS(VjO3O3@HABXIZf>UM_g5J3@hG BcO0JN>UMlJ0JN>5@wJTM[O3PCO0BXIM_I
M[g5g5WXBXSHMlJ3BX\[IyM[G3@BXIUAC@Hgj@HIUAC@HIKJdrq=?>UMlJBXOHv[JN>5@hGN@0BcO&IU\S(\KIUOoJNGNM[BEImJq\KI<J3>5@1\[GTAC@hGqBXIy`>5BcST><J3>U@1ACBEDF@HG3@HImJqJNMKOQPCO&SHM_IiF@0JTM_P[@HIV5g
|}\KGt@(C@dS(VCJNBE\KIr1st\l`@Hu[@hGdvCJN>5BXO1BcO0|M[G0|}GN\[^*J3GNV5@wBXIg5GTM[S(J3BcShM_W;OQBEJ3VjMlJ3BX\[IjOhvF`>5@hGN@\KI5@JTM[O3P^MnI5@h@dAxG3@dOQVUW]JTO0|}GN\[^,M_I5\[J3>5@HG
JTM[O3PFv\KG&JN>5@tJTM[O3PCO&^<BXY[>mJ>jMu[@0JN\iF@ShM_GNGNBE@dA<\[VCJ?BEIS(@HGQJTM_BXIy\[GTAC@hG|}\[GJ3>U@gUG3\Kgj@HG&|}V5IjS
J3BX\[IUBEI5Ya\_|J3>5@ OQnCOQJ3@H^r>5@HIO3VUST>
AC@Hgj@HIUAC@HIUS(BX@HOLM_^<\[I5YJTM[O3PCO@(CBcOoJdvJN>5@bONST>5@HACVUWEBXI5YJ3@dST>5I5BcmV5@HOwA5BXONS(VUONO3@HARBXIf>UM_gCJN@hG JNV5GNIe\[VCJwJN\xij@bBEIUO3V yS(BX@hImJLM[IUA
I5@H@HAJ3\<iF@wOQVUB]JTM_i5WXnb^<\CACBEU@HA!r
'@UGTOoJ;ACBXONS(VjO3O!>U\l`ZJN\0AC@huK@hWX\[gwMONMlJNBXOQ|M[S(J3\[GNn1ONST>5@dACV5WX@|}\[GMO3@(J\_|JNMKOQPCOJN>UM_IwSHM_IiF@qVUO3@HA BXIJNM[i5WE@hz{A5G3BXu[@HI ONST>5@dACV5WXBEI5Yjr
  $ *   ( )  *-  (  & =?>5@|}\[WXWE\l`BXI5Y1M[G3@J3>U@^M[BEIaOoJN@hgUO\[|jM1O3BX^agUWE@M_WXY[\KG3BEJ3>U^9|}\KGAC@(JN@hGN^aBXI5BXI5Y M0|}@dM[O3BEi5WX@?O3ST>5@dACV5WX@
|}\KG0MaO3@(J0\[|gF@hGNBE\CACBcS GN@HM_WEzJ3BX^a@JTM[O3PO`>5\mOQ@AC@Hgj@HIUAC@HIUS(BX@HO0M[G3@ YKBEuK@hI Z

Version 2 CSE, IIT Kharagpur

T1

T2

T3

T5

T4

;BEYKV5G3@ K Z qGN@HSh@HAC@HIUS(@ @hWcMlJNBE\KIUO3>5BEg0^<\KI5Yy=MKOQPCO|}\[G0q5M_^<g5WX@ r r 





( $(#

  
*)# #(  6    +- +$6
 ,  
(* #  &* 0& *)+6 $# ) $* 

1 '



)0 ' *)


 #  $  *+ $#
+%
 # -$ 6  1

*) $ * '   
$
# -$ +$+ ' 6!-$1
 ($ $$ *)0  # -$ 



1 0& -$  $$ *) + (&$6


-
 $( /' (
6 & $1

 1

 $%

 %+'  (

"' #!$

,  +* !(# 

'@qI5\l`'BEWXWXVUOoJNGNM_J3@JN>5@qVUO3@q\_|JN>5@&M_iF\lu[@M[WEYK\[GNB]JN>5^ JN\0S(\[^<g5V5J3@&M?|}@dM[O3BEiUWE@qONST>5@HA5V5WE@|}\KGMO3@(J\[|JNM[O3PCO`B]JN>AC@Hgj@HIUAC@hIjS(BX@HOHr

 $ * 
&1@(JN@hGN^aBXI5@M |}@HMKOQBXi5WX@tO3ST>U@HACV5WX@|}\KG&JN>5@tGN@HM[W]zJ3BX^<@?JNM[O3PCOq\[|M JNMKOQP<OQ@hJ  \qb(c/\Ud
c"ggg cR\ m ' |}\[G`>5BcST>J3>5@1g5GN@HS(@hz
AC@HIUS(@G3@HWXM_J3BX\[IUO>jMu[@iF@h@hIZOQ>5\l`IBXI;BEYjr [ |}\KG0VUO3@w`B]JN>M<JTM_i5WX@(zACGNBEuK@hIxO3ST>U@HACV5WX@hGdr=?>5@w@h@dS(VCJNBE\KIJ3BX^<@HO0\[|J3>5@JNM[O3PCO
\`b(cR\Ud
c"gg gc/\ m M[G3@ Z 5Cv 6 5 v Cv 1 v M[IUAJ3>5@wSh\[GNG3@dOQgF\[IUA5BEI5YaAC@HMKACWXBEI5@dO0M_GN
@  5 v  5 v Cv 5 v 4 v[GN@HO3gj@dS
J3BXu[@HWEnKr
 (* ) =?>5@ACBEDF@HG3@HIKJtOQJ3@HgUO\[|J3>U@wOQ\KWEVCJNBE\KI>jMu[@ ij@H@hI`\[GNP[@HAb\[VCJ0M[IUAOQ>5\l`IBEIx;BXYUr r


  )
    &  
  &G3@dS(@dAC@hIUSh@1Sh\[IUOQJ3GTM_BXImJNOM_^<\[I5YLJNMKOQPCOShM[IiF@1>jM_IUACWX@HABXIiF\_JN>1eM[IUAt
JN>5G3\KV5Y[>J3>U@ |}\[WXWE\l`BXI5Ya^a\CACBEjSHMlJ3BX\[IJN\LJN>5@wM_WXY[\KG3BEJ3>U^r
 t\<I5\[J0@hIUM[i5WX@ MLJTM[O3PyV5ImJ3BXWM_WXWBEJNO?g5GN@HA5@HS(@dO3O3\[GSh\[^<g5WX@(J3@JN>5@hBXG0@(C@dS(VCJNBE\KIr
 f>5@HSTP<JN>5@ JNMKOQPCO`?M_BEJ3BXI5YaJ3\<ij@ @HIUM_i5WX@HA'}\KIxM[ShSh\[V5ImJ?\_|;B]JTOg5GN@HAC@dS(@HONO3\[GTO&S(\K^<g5WE@hJ3BXI5YaJ3>5@HBEGt@(C@HShVCJ3BX\[IUOTMl|~J3@HG@huK@hGNn
JNMKOQPbSh\[^<g5WX@(JN@HOHr
'@?>5\l`@Hu[@HG;^LVUOQJGN@h^<@H^iF@hGJ3>jMlJJ3>U@0M[ST>5BX@hulM_iUWE@?O3ST>U@HACV5WcM_iUWE@?VCJNBEWXBEdMlJNBE\KIa\[|UJTM[O3PO`BEJ3>AC@Hgj@HIUAC@HIUS(BX@HO`\[VUWXALij@WX\l`@hG
Sh\[^<gUM_GN@HAJ3\`>5@HIJN>5@aJNM[O3PCO M_GN@LBXIUAC@Hgj@HIUAC@hImJdr<=?>U@hGN@(|}\[GN@[vJN>5@O3ST>U@HACV5WcM_iUBEWXB]JonxGN@HO3V5WEJNO `\[GNP[@dAx\[VCJBXIJN>5@<WXMKOoJwST>UM[gCJ3@HG
`\[V5WcAI5\_J0iF@wM_g5gUWEBcShM[i5WE@ `>5@HIJNM[O3PbAC@Hgj@HIUAC@HIUS(BX@HO@hCBXOQJHr
 


IZ^M[ImnG3@dM_WEzWXB]|}@<M_gUg5WEBcShM_J3BX\[IUOHvGN@HM[W]zJ3BX^<@JTM[O3POM[G3@aGN@HmV5BXG3@dAJN\O3>UM[G3@aI5\[I5zg5GN@h@H^<gCJNM[i5WE@aGN@HO3\[V5GTS(@dOM[^<\[I5YJ3>5@H^az
OQ@HWEuK@HOHr{|!JNGNMKACBEJ3BX\[IUM[WjGN@HO3\[V5GTS(@0O3>UM[G3BXI5YJN@HST>5I5BcmV5@HOO3VUST>bM[OOQ@H^M_g5>5\KG3@dO&M[G3@tA5@hg5WX\ln[@dA<BEIbJ3>5BcOO3BEJ3VUM_J3BX\[IvV5IiF\[V5IUA5@HA
g5GNBE\KG3BEJonBEIuK@hGTOQBX\[IUO^<BEYK>mJ0\SHS(V5GWX@HMKACBXI5YaJ3\<G3@dM_WEzJNBE^<@JNMKOQPCOJN\a^<BcO3OJ3>5@HBEG0AC@dM[ACWXBXI5@HOHr
4
 



Version 2 CSE, IIT Kharagpur

Arrangement of tasks in ascending order:

Step1:

T1 T3 T2 T5 T4
Schedule tasks as late as possible
without violating precedence constraints:

Step 2:

T1
6 8

14

T3 T2
20 25

T5 T4
33 40
50

Move tasks as early as possible


without altering the schedule:

Step 3:

T1 T3 T2 T5 T4
2
8 13 20 30

; BXY[V5GN@ Z C\[WXVCJ3BX\[I\_|5M_^<g5WX@ r r 
=?>5@gUG3BX\[GNB]JonBXI5>5@HG3BEJNM[IUS(@Lg5G3\[J3\CS(\KWqoBcO1gF\KONO3BEi5WXnJ3>U@aO3BE^<g5WX@HOQJ g5G3\[J3\CS(\KW|}\KG O3>UM[G3BXI5YbShG3BEJ3BcShM[WGN@HO3\[V5GTS(@dOtM[^a\KI5Y
MO3@(J\[|?GN@HM[W]zJ3BX^<@JNMKOQPCOHr{JLGN@HmV5BXG3@dO^<BEI5BX^M_W?OQVUg5gj\KGQJ|}G3\K^8JN>5@yV5IUA5@hGNWEnBXI5YGN@HM_WEzJ3BX^a@b\[gF@hGTMlJ3BXI5YO3nCOoJN@h^r=?>5BcO
g5GN\_J3\CSh\[Wj|}\[GOQ>jM_GNBEI5YaS(GNB]JNBXSHM_WGN@HO3\[V5GTS(@dOqBcO&JN>5@hGN@(|}\KG3@ O3V5g5gF\[G3J3@HAbinyM_WX^a\mOoJ?@huK@hGNn<G3@dM_WEzJNBE^<@\[gF@hGTMlJ3BXI5YaOQnCOQJ3@h^OHr=?>5@
g5GNBE\KG3BEJonBEIU>5@hGNB]JTM_IUSh@?^a@dST>UM_IUBXO3^g5GN@huK@hImJNO;V5IiF\[V5IUA5@HAag5GNBE\KG3BEJonwBXImuK@hGTOQBX\[IjOhrst\l`@Hu[@HGHvlBEJqij@dS(\K^a@dO;J3>5@gUG3\KY[GTM_^<^<@h#G 7 O
G3@dOQgF\[IjOQBXi5BXWEBEJon<J3\\luK@hGTS(\[^<@tJ3>5@wAC@dM[ACWX\CSTPbM_IjAST>UM[BEIi5WX\CSTPmBXI5Y<g5GN\[i5WX@h^OJN>5G3\KV5Y[>ShM[G3@h|}V5W!g5GN\[YKGNM[^a^<BXI5YUr
feBXIUSh\[GNgj\KGNM_J3@HO&M[A5ACBEJ3BX\[IjM_WFG3V5WX@HOBXIyJ3>U@tiUMKOQBcSt&okM_IUAb\lu[@HGNSh\[^<@HO;JN>5@A5@HM[A5WE\CSTPvKVUImiF\[VUIUAC@HAbg5GNBE\KG3BEJonLBXIu[@HGNO3BE\KIv
M_IUALST>UM_BXIai5WE\CSTPBXI5Y1gUG3\Ki5WE@H^O\[|F&orst\l`@Hu[@HGHvV5IUA5@hGqfJNMKOQPCO;^<BEYK>mJOQJ3BXWXWUOQV5DF@HG;^<\CAC@HGNM_J3@?BEIuK@hGTOQBX\[IUOHr?f>UMKO
ij@H@hI<`BcAC@hWXnLMKShS(@HgCJ3@dA<M[OM gF\[g5V5WcM_GGN@HO3\[VUGNSh@O3>UM_GNBXI5Y g5G3\[J3\CS(\KW5M_IUAaBcOI5\KG3^M_WXWXnVUOQ@dAaVUOQ@dAL|}\[G&AC@Hu[@HWE\Kg5BEIUY^<\CAC@HGNM_J3@
M_IUAWcM_GNY[@G3@dM_WEzJNBE^<@M_g5gUWEBcShM_J3BX\[IUOHrf BXOO3V5g5gF\[G3J3@dAbin^<M[Iny^<\A5@hGNISh\[^<^<@hGTS(BcM_W!GN@HM_WEzJ3BX^a@\[gF@hGTMlJNBEIUY<O3nCOoJN@h^OHr
=MKOQPLAC@hgF@hIUA5@hIUShBE@dOqShM[IaiF@0>UM[IUACWX@HALJ3>UG3\KV5Y[>a^<BEI5\KG&M_WEJ3@HGNM_J3BX\[IUO;JN\ J3>5@ijM[O3BXSJTM[O3PO3ST>U@HACV5WXBXI5YwM_WXY[\KG3BEJ3>5^OHrst\l`@Hu[@hGdv
J3>5@wMKST>5BX@hulM_i5WX@VCJ3BXWEBXHM_J3BX\[I\_|J3>5@wONST>5@dACV5WX@hGTOACG3\Kg`>U@hIJNMKOQPCO?M_GN@ I5\_J0BXIUAC@Hgj@HIUAC@hImJdr
0






;
r0t@hJ3@HG3^<BXI5@ `>5@(JN>5@hG?JN>5@|}\[WXWE\l`BXI5Y<OoJTMlJ3@H^<@hImJNOM[G3@   \[G   Lr5I@dM[ST>ShM[O3@ oVUOoJNB]|}nn[\KV5GST>5\[BcS(@BEI\[IU@\KG
Jo`\<O3@hImJ3@HIUS(@dOhr
Mmb0M_J3@q^<\KI5\_JN\[I5BcSO3ST>U@HACV5WXBXI5Y0ShM[I ONMlJNBXOQ|M[S(J3\KG3BXWEn1ij@&VUOQ@dA|}\[GONST>5@dACV5WXBEI5Y0MKShSh@HONO\_|5OQ@Hu[@HGNM[Wl>UM_GTAG3@dM_WEzJNBE^<@gF@hGNBE\CACBcS
JTM[O3POJN\MS(@hG3JNM[BEIO3>UM_GN@HAS(GNB]JNBXSHM_W!GN@HO3\[V5GTS(@Kr
}ijtWEYK\[GNB]JN>5^Oq@(CBcOoJ`>5BcST>ygj@HG3^<BEJO3>UM_GNBXI5Yw\_|MLOQ@hJ\_|!GN@HO3\[V5GTS(@dOBXIJ3>5@@(5ShWEVUO3BXu[@^<\CAC@1M[^a\KI5YJTM[O3PO&\_|ACBED@hGN@hImJ
g5GNBX\[GNB]JNBE@dO?`B]JN>5\[VCJtM[InJNMKOQPCO>UMuBEIUYLJN\<BEIUShV5GtM[ImngUG3BX\[GNB]JonbBEIu[@HGNO3BX\[Ir
SH>5@HIMO3@(J\[|0G3@dM_WEzJNBE^<@<JTM[O3POLM_GN@yO3ST>U@HACV5WX@HARVjOQBXI5Y0 M_IjAeOQ>UM[G3@S(GNB]JNBXSHM_WqGN@HO3\[V5GTS(@dOVUO3BEIUYxJ3>5@bg5G3BX\[GNBEJon
Sh@hBXWEBXI5Y g5GN\_J3\CSh\[Wf
vlBEJBXOgF\KONOQBXi5WX@J3>UM_JMtJNMKOQP^<MniF@AC@hIUBE@dALMKShS(@dO3OJN\ M1GN@HO3\[V5GTS(@@hu[@HIL`>U@hILJ3>5@?GN@HO3\[V5GTS(@
BcOI5\[J?GN@HmV5BXGN@HAimnM_Iny\_JN>5@hG?JTM[O3Pr
AUstBEYK>5@HOQJqWE\CSTPK@hGg5GN\_J3\CSh\[W:s [;^<M[BEImJTM_BXIUO;J3>5@0JNM[O3PCO`M[B]JNBEIUY1|}\KGqM OQ>UM[G3@dAIU\[ICz{g5GN@h@h^<gCJTM_i5WX@?G3@dOQ\KV5GTS(@BEI;o;
\KGNAC@HGHr
}@d>5@HIbMO3@(J&\[|gF@hGNBX\A5BXSGN@HM[W]zJ3BX^<@?JNMKOQPCOqONST>5@HA5V5WE@dA<VUO3BEI5YL0 O3>UM_GN@0S(@HGQJTM_BXIS(GNB]JNBXSHM_WUGN@HO3\[VUGNSh@HO;VUO3BEI5YLqGNBE\KG3BEJon
I5>U@hGNB]JTM_IUSh@ &G3\[J3\CS(\KWqo
v5O3\[^<@ \_|;J3>5@ JTM[O3PCO?^aBXY[>mJ0O3VCDF@HG0V5IiF\[V5IUA5@HAg5GNBE\KG3BEJonBEIuK@hGTOQBX\[IUOHr


Version 2 CSE, IIT Kharagpur

~ |NIbJ3>5@s0BXY[>U@HOQJ%[\STPK@hGqGN\_J3\CSh\[Ws'[(vK|}\KG?@HM[ST>S(GNB]JNBXSHM_WFG3@dOQ\KV5GNSh@1MLOQ@HgUM_GTMlJN@1mV5@hVU@1I5@H@HA5OJN\LiF@1^M[BEImJNM[BEIU@HA
|}\KG?J3>5@ JTM[O3PO?`?M_BEJ3BXI5Ya|}\[G?JN>5@GN@HO3\[V5GTS(@dOhr
}Yb1OQBXI5YyJN>5@ijM[O3BXSw&G3BX\[GNBEJonbI5>5@HG3BEJNM[IUS(@aqGN\_JN\Sh\[W&qo|}\[G O3ST>U@HACV5WXBXI5YbM[SHS(@dO3Ot\_|qMbO3@(J\_|qGN@HM_WEzJ3BX^a@wJNM[O3PCOJN\bM
O3@(J0\[|I5\KICzgUG3@H@h^<gCJNM[i5WX@GN@HO3\[VUGNSh@HO`\KV5WcAbGN@HO3V5WEJ?BXIJNMKOQPCO?BXIUS(V5GNGNBEI5YaV5IiF\[V5IUA5@HAg5GNBE\KG3BEJonyBXImuK@hGTOQBX\[IjOhr
}>j>5@HIMyO3@(J0\_|qOQJNM_J3BcS g5G3BX\[GNBEJonbgF@hGNBE\CACBcS G3@dM_WEzJNBE^<@ JTM[O3POtO3ST>5@dACV5WX@HAVUO3BEIUYy0 O3>UM[G3@O3\[^<@wS(GNB]JNBXSHM_WGN@HO3\[VUGNSh@HO
VUO3BXI5YxJ3>U@yg5GNBE\KG3BEJonZSh@hBXWEBXI5Yg5GN\_JN\CS(\[W1f
v!JN>5@yJNBE^<@bA5V5GNM_J3BX\[IR|}\KGw`>5BcST>kMJNMKOQP'ShM_IeVUIUAC@hGNY[\xBXI5>5@HG3BEJNM[IUS(@hz
GN@hWcMlJN@HAyBXIu[@HGNO3BE\KIbBcO?@(5M[S(J3WXn<J3>5@ONM_^<@ M[OJ3>U@ A5V5GNM_J3BX\[Ib|}\[G`>5BcST>BEJ0ShM[IbV5IUA5@hGNY[\<AC@HMKACWE\CSTPyMuK\[BcA5M_IUSh@(z{G3@HWXM_J3@dA
BXIu[@hGTO3BE\KIr
BcVUg5gj\mOQ@?MJTM[O3P I5@h@dA5OJN>5GN@h@I5\[ICz{g5GN@h@H^ag5JNM_iUWE@&O3>UM[G3@dAG3@dOQ\KV5GTS(@HO;f vKf v_M_IUAaf r ACVUG3BXI5YB]JTOSh\[^<g5VCJTMlJ3BX\[Ir
tIUAC@hG0:s [stBEYK>5@HOQ%J [\CSTP[@hG?qGN\_JN\CS(\[W~
vm\[IjS(@1J3>5@JNMKOQPyMKShmV5BXG3@dO&\KI5@\_|JN>5@HO3@ G3@dOQ\KV5GNSh@HOHv[BEJBXOY[VjM_GTM_ImJ3@H@HAI5\[J
JN\i5WE\CSTP|}\KG0M[SHKVUBEGNBEIUYJN>5@\_JN>5@hGGN@HmV5BXG3@dAbGN@HO3\[VUGNSh@HOHr
3>5@HI:s [ stBEYK>5@HOQSJ [\CSTP[@HG&G3\[J3\CS(\KWcqBXOVUO3@HAM[OJN>5@ g5G3\[J3\CS(\KWF|}\[GOQ>jM_GNBEI5YaOQ\K^<@ShG3BEJ3BcShM[WFGN@HO3\[VUGNSh@HOM_^<\[I5YaM
O3@(J0\[|GN@HM_WEzJ3BX^a@JTM[O3POHv5AC@dM[ACWX\CSTPbShM[I5I5\_J\CShShV5G0ACV5@JN\G3@dOQ\KV5GNSh@O3>UM[G3BXI5YUr
PC{|qJNGNMKACBEJ3BX\[IUM[WGN@HO3\[V5GTS(@O3>UM[G3BXI5Yy^<@HST>jM_I5BcOQ^O1OQVUST>ZM[OOQ@H^<M[g5>5\KG3@dOtM_IjAx^<\[I5BEJ3\KGNO1M_GN@wVUO3@HAxJN\O3>UM_GN@MKShS(@dO3Ot\_|
O3@huK@hGTM_WGN@HM[W]zJ3BX^<@JNMKOQPCOtJ3\MbO3BEI5YKWE@aS(GNB]JNBXSHM_W;G3@dOQ\KV5GTS(@[vjI5@hBEJ3>U@hG V5Iij\KV5IUAC@dAxg5GNBE\KG3BEJonBEIu[@HGNO3BX\[IUOHvjIU\[G1A5@HM[A5WE\CSTPCO
SHM_I\SHS(V5Gdr
Wc>5@HIkMxOQ@hJ\_|gF@hGNBE\CACBcS<GN@HM_WEzJ3BX^a@<JTM[O3PCOwO3ST>U@HACV5WX@HA'VUO3BXI5Y06O3>UM[G3@yShG3BEJ3BcShM[WqG3@dOQ\KV5GTS(@HOVUO3BXI5YJ3>5@bg5G3BX\[GNBEJon
Sh@hBXWEBXI5YgUG3\[J3\CS(\KW?f
vmBE|M JNMKOQPShM[IyOQV5DF@HGBXI5>5@HG3BEJNM[IUS(@0iUWE\CSTPBEIUYwinaM[I5\_JN>5@hG&JNM[O3PL|}\[G?S(@hG3JNM[BEIyA5V5GNM_J3BX\[IvKJ3>U@hI
BEJ0^MnbM_WcOQ\O3VCD@hG0ACBXG3@dS
JBXImuK@hGTOQBX\[IACV5@ JN\<J3>UM_JJNM[O3P|}\KG?J3>5@wONM_^<@ACV5GTMlJNBE\KIr
^>5@HIMZOQ@hJL\_|0gF@hGNBX\A5BXSbG3@dM_WEzJNBE^<@JTM[O3POLO3ST>U@HACV5WX@HAkVUOQBXI5Y'0*OQ>UM[G3@S(@hG3JNM[BEIkShG3BEJ3BcShM[WGN@HO3\[VUGNSh@HOVUO3BXI5YJN>5@
g5GNBX\[GNB]JonS(@HBEWXBXI5YLgUG3\[J3\CS(\KW;f(vB]|MwJTM[O3P \`b1ShM[IbO3VCDF@HGBEIU>5@hGNB]JTM_IUSh@ti5WX\CSTPBEI5YainyM_I5\[J3>5@HG&JTM[O3jP \Ud0|}\KG?Sh@hG3JNM[BEI
ACVUGNM_J3BX\[IvJN>5@hIxBEJ0^MnbM_WcOQ\O3VCD@hG0AC@dM[ACWX\CSTPbMu[\KBXA5M[IUS(@BXImuK@hGTOQBX\[Ib|}\[G?JN>5@ONM_^<@ACV5GTMlJ3BX\[IACV5@ JNj\ \Ud1@h5S(@hg5J3BXI5Y
BEK| \ b AC\@dO?I5\_J0I5@H@HAM_InyGN@HO3\[V5GTS(@Kr
}Ij>5@HIkMOQ@hJw\_|?G3@dM_WEzJNBE^<@aJNMKOQPCOO3>UM_GN@S(@hG3JNM[BEIRS(GNBEJ3BcShM_W&G3@dOQ\KV5GNSh@HOVUO3BEIUYJN>5@g5GNBE\KG3BEJonSh@hBXWEBXI5Yxg5GN\_JN\Sh\[W?f(v
JN>5@>5BXY[>5@dOoJ0g5GNBX\[GNB]Jon<JTM[O3PbAC\@HO?I5\[JtOQV5DF@HG0M_InyBXImuK@hGTOQBX\[IjOhr
}\y>5@HIMLOQ@hJ\_|G3@dM_WEzJNBE^<@JTM[O3POO3>UM_GN@tS(GNBEJ3BcShM_WFGN@HO3\[V5GTS(@dOVUO3BEI5YJ3>5@g5GNBE\KG3BEJon<S(@hBXWXBEI5YLg5GN\_J3\CSh\[Wf
vKJ3>5@WE\l`@HOQJ
g5GNBX\[GNB]Jon<JTM[O3PAC\@HO?IU\_J0OQV5DF@HGtM_InyBXIu[@hGTO3BE\KIUOhr
}gj{JBXObgj\mO3O3BEiUWE@xJN>UMlJBEIMkG3@dM_WEzJNBE^<@O3nOQJ3@H^@Hu[@HI J3>5@WX\l`@HOQJbg5GNBE\KG3BEJonkJTM[O3P^Mn O3VCD@hGV5Iij\KV5IUAC@dA g5G3BX\[GNBEJon
BXIu[@hGTO3BE\KIUOV5I5WX@HONOMaO3V5BEJNM[i5WE@GN@HO3\[VUGNSh@(zOQ>UM[G3BXI5YwgUG3\[J3\CS(\KWFBcOVUO3@HAr
>5@HIMLOQ@hJ\_|GN@HM[W]zJ3BX^<@JNMKOQPCOOQ>UM[G3@1S(GNB]JNBXSHM_WFG3@dOQ\KV5GNSh@HOVjOQBXI5YwJN>5@tgUG3BX\[GNB]Jon<S(@HBEWXBXI5Yg5GN\_JN\CS(\[Wf
vMJTM[O3PaSHM_I
V5IjAC@hGNY[\MlJiF@HOQJ0\[I5@ \[|ACBXGN@HS
JdvCBEIU>5@hGNB]JTM_IUSh@[v5\KGMu[\[BcA5M[IUS(@hzGN@hWcMlJN@HABXIu[@hGTO3BE\KIACV5@ JN\M_InJNMKOQPr
}G
b=?>5@?g5GNBX\[GNB]JonwSh@hBXWEBXI5Yg5G3\[J3\CS(\KW!fSHM_Iaij@Sh\[IUO3BXA5@hGN@HAJN\1iF@0MO3M_J3BcOo|MKS
J3\KG3n g5GN\_JN\CS(\[WmJN\ O3>UM[G3@MO3@(J\[|jOQ@HG3BcM_WXWXn
GN@hVUONM_iUWE@ g5GN@h@H^ag5JNM_iUWE@ GN@HO3\[V5GTS(@dOM[^<\[I5Y<M<OQ@hJ0\_|GN@HM[W]zJ3BX^<@JNM[O3PCOhr
ON{|g5GNBE\KG3BEJonwS(@HBEWXBEIUYgUG3\[J3\CS(\KWfBcOBX^<g5WE@H^<@hImJ3@dALBXI<0I5BEL\Kgj@HGNM_J3BXI5YO3nCOoJN@h^OHvlJ3>5@HIaJ3>5@0Sh@hBXWEBXI5Y g5GNBE\KG3BEJonulM_WXV5@
\[|M<S(GNBEJ3BcShM_W!GN@HO3\[VUGNSh@1`\[V5WcAij@ JN>5@^MlCBE^LV5^6\[|JN>5@g5GNBE\KG3BEJonulM_WXV5@HO?\[|M[WEWJN>5@ JNMKOQPCO?VUO3BEIUYLJN>5BcOG3@dOQ\KV5GTS(@[r
~JT=?>5@LACV5GTMlJ3BX\[I|}\[Gt`>5BXST>M<WX\l`@hGg5GNBE\KG3BEJonJTM[O3PShM[IBEI5>U@hGNB]JTM_IUSh@i5WE\CSTPM<>5BEYK>5@hGtg5G3BX\[GNBEJonJNMKOQPBXO0M[WXO3\<BXA5@hImJ3BcShM[W
JN\<J3>5@wACVUGNM_J3BX\[I|}\[G`>5BcST>BEJtShM[IMuK\[BcA5M_IjS(@i5WE\CSTPyBEJHr
}VjtIUAC@hGf @huK@hI MJTM[O3Pk`>5BcST>AC\@HO<I5\[JyG3@dKVUBEGN@M[InkG3@dOQ\KV5GTS(@ShM_I V5IjAC@hGNY[\'g5GNBE\KG3BEJoneBEIuK@hGTOQBX\[I|}\[GbO3\[^<@
ACVUGNM_J3BX\[Ir
r0Cg5WcM_BXI J3>5@Zg5G3\Ki5WX@h^OJN>UMlJ^aBXY[>mJM[G3BcO3@xB]|w>UM[GNA GN@HM[W]zJ3BX^<@xJNMKOQPCOyM[G3@^<MKAC@xJN\O3>UM_GN@S(GNB]JNBXSHM_W1G3@dOQ\KV5GNSh@HOM[^a\KI5Y
J3>5@H^OQ@HWEuK@HOVUO3BEI5YaJNGNMKACB]JNBE\KIUM_W!\Kgj@HGNM_J3BXI5Y<OQnCOQJ3@h^ g5G3BX^<B]JNBEuK@HOO3VUST>M[OO3@h^M_g5>U\[GN@HO\[G?^<\[I5BEJ3\KGNOHr G3BX@ nb@(Cg5WcM_BXI>5\l`
J3>5@dOQ@ g5GN\[iUWE@H^<OSHM_Iij@\luK@hGTS(\K^a@Kr
r r0Cg5WcM_BXIZVjOQBXI5YM_IeM[g5g5GN\[g5GNBXM_J3@<@(5M[^agUWE@M[OJ3\x`>nZMxShG3BEJ3BcShM[WqG3@dOQ\KV5GTS(@<ShM_IRYK@(JS(\KG3GNV5gCJN@HAZB]|?JN>5@JNMKOQPZVUO3BEI5YBEJBcO
g5GN@h@h^<gCJN@HA!v5M[IUAJ3>5@HIxM_I5\[J3>5@HG?JNM[O3PyBcO?Y[GTM_ImJ3@dAyVUO3@\_|J3>5@GN@HO3\[VUGNSh@[r


5

Version 2 CSE, IIT Kharagpur

AC\ynK\[VxV5IUA5@hGTOoJTM_IUAinJ3>5@J3@HG3^ gUG3BX\[GNB]JonBEIuK@hGTOQBX\[IUaBXIxJ3>U@LS(\KImJ3@(J\_|G3@dM_WEzJNBE^<@JTM[O3PxO3ST>5@dACV5WXBEIUY e>U@hI


OQ@Hu[@HGNM[WJNM[O3PCOO3>UM_GN@yMO3@(JL\_|tS(GNBEJ3BcShM_WG3@dOQ\KV5GTS(@HOHvBcOwBEJLgF\KONO3BEi5WX@JN\ZMu[\KBXA'g5GNBX\[GNB]JonZBEIu[@HGNO3BX\[IeM_WEJ3\KY[@(JN>5@hGimn'VUO3BEIUYM
OQVUB]JTM_i5WX@JNM[O3PbONST>5@HA5V5WEBXI5YM_WXY[\KG3BEJ3>U^ qCg5WXM[BEIn[\KV5GM_IUO3`@hGdr
5r0Cg5WcM_BXIJN>5@y\Kgj@HGNM_J3BX\[I'\_|?g5G3BX\[GNBEJonS(@HBEWXBEIUYxg5G3\[J3\CS(\KWt?fBXIeOQ>UM[G3BXI5YxS(GNBEJ3BcShM_W&G3@dOQ\KV5GNSh@HO M_^<\KI5YG3@dM_WEzJNBE^<@<JNMKOQPCOHr
Cg5WcM_BXIb>5\l`f BcO0M_i5WX@J3\Mu[\KBXAAC@HMKACWX\STPvCV5IiF\[V5IjAC@HAg5GNBE\KG3BEJonBXImuK@hGTOQBX\[IjOhvCM_IjAST>UM[BEIi5WX\CSTPmBXI5YmOhr
1 r0Cg5WcM_BXIJ3>U@ A5B]D@hGN@hImJJonmgF@HO\[|g5GNBE\KG3BEJon<BEIu[@HGNO3BX\[IUO&J3>UM_J?MJNMKOQP^<BXY[>mJOQVCD@hGACVU@tJN\aMLWE\l`@hGg5GNBE\KG3BEJonaJNMKOQP<`>5@HIbJN>5@
g5GNBE\KG3BEJonS(@HBEWXBEIUYgUG3\[J3\CS(\KW0f1BXO VUO3@HAZJN\OQ>UM[G3@<S(GNBEJ3BcShM_WGN@HO3\[VUGNSh@HO M_^<\[IUYMxO3@(J\_|?GN@HM_WEzJ3BX^a@aJTM[O3PFrbfM[I'MJTM[O3P
OQV5DF@HGiF\_JN>BXI5>5@HG3BEJNM[IUS(@hzGN@hWcMlJN@HABXIu[@hGTO3BE\KIyM_IUAACBEGN@HS(JBXIu[@HGNO3BE\KIyACV5@J3\<O3\[^<@tWX\l`@HGgUG3BX\[GNB]JonLJNMKOQP {|;n[\[VM_IUO3`@HGBXI
J3>5@0M G3^MlJNBEuK@[v[Sh\[IUOQJ3GNVUS(JMO3V5BEJNM[i5WE@@h5M_^<g5WX@?J3\S(\KG3GN\[iF\[GTMlJN@nK\[V5GM_IjOQ`@hGdr{|!n[\KVaM[IUO3`@HGBEIaJ3>U@I5@hYmMlJ3BXu[@Kv_@(Cg5WcM_BXI
`>nyI5\_Jdr
5Cr0otO @hB]UJwI5gF@L\KJ3ON>5O3@aBEi5JNWX@<@hGNJ3^<\O A5@h
uBXlO3
@~ MG3~@d OQl\K(V5TGN
Sh@alO3>UM[M[IUG3A BXI5CY g5TGN \_CJ3 \CKSh \[WF`
>5BclST
>'~ SHM_~IR lY[hVjTM_TGT_M_xImJ3M[@HO@VUJN>UO3@HMlAJwBXI5I'\G3JT@dM[M_O3WEPzJNBEV5^<IU@A5@h\KGNgjY[@H\GN@HM_O J3BXI5}YB~OQg5nCG3OQBXJ3\[@hGN^BEJoOHn r
Z
BEIuK@hGTOQBX\[I 'BEB~V5Iij\KV5IUAC@dAg5G3BX\[GNBEJonBEIu[@HGNO3BX\[I KVUOQJ3BE|}nbn[\KV5GM_IUO3`@hGTOhr
4 r>UMlJAC\Ln[\[VbV5IUAC@HGNOQJNM[IUAinx~ U(
~lN
3hEl <~ lhTT_ Cg5WcM_BXIy>5\l`BEJ?SHM_IbM[G3BcOQ@1`>5@hIG3@dOQ\KV5GTS(@HO&M_GN@1O3>UM_GN@HA
BEI@(5S(WXVUO3BEuK@^<\CAC@LBXIZMbG3@dM_WEzJNBE^<@L@hIuBEGN\[I5^<@HIKJdrfM[IBXI5>5@hGNBEJNM_IjS(@(z{GN@hWcMlJ3@dABEIuK@hGTOQBX\[IxiF@L@HWEBX^<BEIjMlJ3@dAM[W]JN\[Y[@hJ3>5@HG {|
n[\KV5GM[IUOQ`@hGBcO[n[@HON5vm@(Cg5WcM_BXIb>U\l` b{|;n[\KV5GM[IUOQ`@hGBcO[I5\KUv[JN>5@hI@(Cg5WcM_BXIb>5\l` SHM_IBEI5>U@hGNB]JTM_IUSh@(z{G3@HWXM_J3@HA<BXIu[@HGNO3BE\KIUO
ij@wSh\[ImJNM[BEIU@HA
 r0tO3BEIUYwJo`\\[GJ3>UG3@H@1O3@hImJ3@HIUS(@dO@hCg5WXM[BEIb>5\l` fShM_Ibij@VUO3@HA|}\KGGN@HO3\[VUGNSh@tOQ>jM_GNBEI5YLM_^<\[I5YaMO3@(J?\_|JTM[O3PCO&`>5@HIyJN>5@
JNMKOQPCO?M_GN@O3ST>5@dACV5WX@HAVUO3BEI5Yy1rjfM[InK\[V5GO3\[WXVCJ3BX\[IiF@VUOQ@dABEIg5GTM[S(J3BcShM_W!O3B]JNVUMlJNBE\KIUO {|;IU\_JHvC`>nI5\_J
#5 r?>5@hI&RBXOVUO3@HA|}\[GJNMKOQPONST>5@HACVUWEBXI5YBXIMLGN@HM_WEzJ3BX^a@1M_g5g5WXBcShMlJNBE\KIv@(Cg5WcM_BXIMLO3ST>5@H^<@tin`>5BcST>bOQ>jM_GNBEI5YL\_|ShG3BEJ3BcShM[W
G3@dOQ\KV5GTS(@HOM[^<\[I5YJTM[O3PCO0ShM[Iij@aOQVUg5gj\KGQJN@HA!r BXu[@aM_IM[WEYK\[GNB]JN>5^ BXIgUO3@hVUA5\_zS(\CAC@wI5\[JNM_J3BX\[IJ3\AC@HONS(GNBEiF@wJN>5@LOQJ3@HgUOJN\
>UM_IjACWE@ GN@HO3\[V5GTS(@Y[GTM_ImJM_IUAGN@hWX@HMKOQ@Kr
K r OQ@hJ?\[|>UM[GNAbG3@dM_WEzJNBE^<@gj@HG3BX\CACBcStJTM[O3PCOIU@h@HAbJ3\<iF@O3ST>5@dACV5WX@HA\[IMVUI5BEgUG3\CS(@dO3O3\[GVUO3BEIUY<twr5=?>5@|}\KWEWX\l`BEIUYJTM_i5WX@
S(\KIKJTM_BXIUOaJ3>U@AC@(JTM_BXWXO\[|1JN>5@HO3@xgF@hGNBE\CACBcSJNMKOQPCOM_IjAJN>5@hBXGyVUO3@\_|J3>5GN@h@xIU\[ICz{g5GN@h@h^<gCJTM_i5WX@xOQ>jM_GN@HAG3@dOQ\KV5GNSh@HOHrfM_I
J3>5@JNMKOQPCSO \UdLM_IUCA \Uf^a@H@(J1J3>5@HBEGG3@dOQgF@HS(J3BXu[@A5@HM[A5WEBXI5@HO1`>5@HIg5GNBE\KG3BEJonSh@hBXWEBXI5YygUG3\[J3\CS(\KW?f0BXOtVUOQ@dA|}\[GGN@HO3\[V5GTS(@
O3ST>U@HACV5WXBXI5Y
=;M[O3P  3  3 r
\`b
 55 r5  5
\ d
 z 5 6 5
55
\Uf
z z z
r55  5
\ n
 5 r  6 5 # 5 6 5
\ m
5 5 z
z 
M[3OBEBEIUJNOtA5BXACSH@HMlMKJ3AC@dO0WEBXI5JN>5@Kr@=?gF@h>5GN@BX\@hAImJ3\_GN|BE@dJNOMKBXOQIhP J3\ >53 @M[ IUA vU 3 BXIUvjACM[BcIUShAxM_J3 @dOtBES(JNO\KWES(VU\K^a^aIjgUOVCBEJNIjM_ACJ3BXBXSH\[MlIJN@J3BXJ3^<>5@[@wr J3=?BX^a>5@L@ACgFV5@hGTGNMlBX\J3BXA\[I\_|q|}\K@HG0MKST`>>5JNBcMKST>OQPMaBXOtJNM[J3O3>UPb@aIUON@hM_@H^<AU@O

r
J3>5@ IUM[^<@HAG3@dOQ\KV5GNSh@tBXIIU\[ICz{g5GN@h@h^<gCJNBEuK@1^<\CAC@Kr1O3O3V5^<@J3>UM_J0Ml|~J3@HG0MwJTM[O3PyGN@hWX@HM[O3@HOMLG3@dOQ\KV5GNSh@[vBEJA5\m@dOI5\_J0M[SHmV5BEGN@
J3>5@wONM_^<@ \[GM[Imnb\_J3>U@hGGN@HO3\[V5GTS(@Kr
r?>5BXWE@B]J<BXOLBXIY[@HI5@hGTM_WqJ3GNV5@yJN>UMlJMu[\KBXA5M[IUS(@BXIu[@HGNO3BE\KIeBEIfBcOLJ3>5@g5G3BcS(@gUM_BcARJN\ZMu[\KBXAeO3BEJ3VUM_J3BX\[IUOLWE@dM[ACBXI5YxJN\
AC@HMKACWX\STPCOHmO3\[^<@hJ3BX^a@dOJTM[O3PO^<BEYK>mJV5IUA5@hGNY[\LMuK\[BcA5M_IjS(@BXImuK@hGTOQBX\[I`>U@hIJN>5@hBXG?G3@dKVU@HOQJq|}\[G?MwGN@HO3\[V5GTS(@1ShM_IbBEIyIU\`?Mn
ShM[VUOQ@AC@dM[ACWX\CSTPCOhrqWXWXVUOoJNGNM_J3@J3>UBXOtimnS(\KIUOoJNG3VjS
J3BXI5YM_I@hCM[^<g5WE@ JN\yOQ>U\l` J3>jMlJt@Hu[@hI`>5@HIJ3>5@HG3@BcOI5\yST>UM[IUS(@\[|M[In
AC@HMKACWX\STPCOiF@hBXI5YyShM[VUOQ@dA!v5MLJNMKOQPyVUIUAC@hG0?f ^aBXY[>mJtOQJ3BXWEW!VUIUAC@hGNY[\MuK\[BcA5M_IUSh@tBXIu[@hGTO3BE\KIr
jr>UMlJ



     







C


Version 2 CSE, IIT Kharagpur

r r O3@(J\[|0gj@HG3BX\CACBcS<JNMKOQPCOwIU@h@HAeJ3\iF@ONST>5@dACV5WX@HAR\[IkMV5I5BXg5GN\Sh@HONOQ\KGHrx=?>5@b|}\[WXWE\l`BXI5YJTM_i5WX@Sh\[ImJNM[BEIUOwJ3>5@AC@(JTM_BXWXO\_|
J3>5@dOQ@gF@hGNBX\A5BXS<JTM[O3PCOwM_IUA'JN>5@hBXGVjOQ@y\[|I5\[ICz{g5GN@h@H^ag5JNM_iUWE@yO3>UM_GN@HA'GN@HO3\[V5GTS(@dO v v;M[IUAe r rfM_IRJTM[O3PD\Uf^<@h@hJ
B]JTOAC@HMKACWXBEI5@ `>5@HIJ3>5@JNMKOQPCOM[G3@ O3ST>U@HACV5WX@HAV5IUA5@hG00M[IUAg5G3BX\[GNBEJonyS(@hBXWXBEI5Y<g5GN\_JN\CS(\[WfBcO?VUO3@HAb|}\[GGN@HO3\[V5GTS(@
O3ST>U@HACV5WXBXI5Y
=;M[O3P - 3  3 r % 3
\`b
 55 r5  5
6 5
 z 5 6 5 5
\Ud
55
\ f
z z z 6 5
r55  5
\ n
 5 r  6 5 # 5 6 5  5
\Um
 5  5 z
z  
S(\K3WEBXV5IU^<ACBcIUShOtMlJNBEIj@HOACBXJNSH>5Ml@<JN@gjJ3@H>5G3BX@\CJ3ABX^<\[|&@JNACMKV5OQGTDP MlJN\(BE3?\KIM[IU|}\[A Gt `3?>UBXIUBXSTAC>BcShM<M_J3JT@HM[OO3PBEJNOwIU@hSh@H\[AU^<Og5J3VC>UJT@MlJNIUBEM[\K^aI@dJ3ABX^<G3@[@drOQ\K=?V5GT>5S(@<@ @hBEImIJNG3I5BX\[@HICO z{BXg5IGN@hJN@H>5^a@yg5 J3BX u[v@ ^<\CvACM[@[IUv A'3q Bcr O
%
J3>5@wO3@hWE|;O3VUO3gj@HIUO3BE\KIbJNBE^<@w\[|JNMKOQ+P \(3Qrq0WXW!J3BX^<@V5I5BEJNO>jMu[@ ij@H@hIxO3gj@dS(BEU@HABXI^<BXWEWXB~@HSh\[IUA5OHr
Ur O3@(Jq\_|!gF@hGNBE\CACBcS?JTM[O3POIU@h@HAaJN\wiF@tO3ST>U@HACV5WX@HAa\KIyM V5I5BXg5G3\CSh@HONOQ\KGHr;=?>5@|}\[WXWX\l`BEI5YJTM_i5WX@tS(\KImJNM_BXIUOJN>5@tAC@hJNM[BEWcO\_|JN>5@HO3@
gj@HG3BX\CACBcS0JTM[O3PO?M[IUAyJN>5@hBXGVUO3@ \_|I5\KICz{g5G3@H@h^<gCJTM_i5WX@O3>UM[G3@dAyGN@HO3\[V5GTS(@dOhrqfM_IbJ3>5@ JTM[O3jP \kf^<@h@hJB]JTOAC@HMKACWEBXI5@ `>5@HIbJN>5@
JNMKOQPCO?M_GN@O3ST>5@dACV5WX@HAV5IUAC@HGt0M[IUAbJ3>5@g5GNBX\[GNB]JonbSh@hBXWEBXI5Y<g5GN\_JN\Sh\[W?fBcO?VUO3@HA|}\[GGN@HO3\[V5GTS(@O3ST>U@HACV5WXBXI5Y
=;M[O3P  3  3 r
\`b
 55 r5  5
\ d
 z 5 6 5
55
\Uf
z z z
r55  5
\ n
 5 r  6 5 # 5 6 5
\ m
5 5 z
z 
S(\K3 WEBXV5IU^<ACBcIUShO1MlJNBXIU@HOACBcJNSh>5Ml@<JN@gjJN@H>5G3BX@a\CAJ3BX^<\[|&@aJNACMKVUOQDP GNM_\J3BX3 \[IM[IU|}A \KG1 `3 >UBXIUBXSTAC>'BcShM_MyJ3@HJTM[OO3BEPJNOwIUSh@h\[@H^<AUOtg5JNVC>5JT@<MlJNIUBE\KM_I^<J3@dBXA^<GN@[@HrO3\[=?V5>5GT@<S(@w@hImBXIJNG3IUBX@H\[O ICz{BXIg5GNJN@h>5@h@y^<gCJN BEuKv@ ^<v\CM[ACIU@[A'rL0 WXr W
J3BX^<@V5I5BEJNO>UMuK@1iF@h@HIxOQgF@HShB]U@dABEI^<BEWXWXBc@dS(\KIUA5OHr
Crtf\[IUO3BcAC@hGtMyG3@dM_WEzJNBE^<@wO3nOQJ3@H^`>U\KO3@ JNM[O3PST>UM_GTM[S(J3@hGNBcOoJNBXSHOM_IUAxAC@Hgj@HIUAC@HIUS(BX@HOM_GN@wAC@HONS(GNBXij@dABEIJN>5@w|}\KWEWX\l`BEIUY<JNM_iUWE@Kr
tONOQVU^a@ JN>UMlJtJ3>5@JTM[O3PCO>UMu[@ H@hGN\g5>UM[O3BXI5YyM_IUAGN@hgF@HM_Jt`B]JN>M<gj@HG3BX\CA\_| 5 ^y@dS_r?t@hJ3@hGN^<BEIU@Ma|}@HMKOQBXi5WX@wO3ST>5@dACV5WX@
`>5BcST>Sh\[V5WcAbiF@VUO3@HAinbMaJNM[i5WX@(zACG3BXu[@HIONST>5@HA5V5WE@HGHr
=;M[O3P f\[^<g5VCJTMlJ3BX\[IJ3BX^<@K  3 ^y@HS t@dM[ACWXBXI5@y $ 3 ^y@dS 1@hgF@hIUA5@hIUShn
\`b
z
r5
5
\ d
5
\ b c/\ f

\Uf
5
\`b
5
\ n
55
\Ud
6 5
1 rtgjf@H\[G3IUBX\CO3BcAyAC@h\[G| Ma G3@dM_^WEzOQJN@dBE^<S_rq@ =?OQ>5nC@1OQJ3JN@HMK^6OQPyBEIST>j`M_>5GTM[BcSTS
>JN@hUGNBXu[OQ@ J3BcGNSh@HOM_M_WEzIUJ3ABX^aAC@ @hgFgF@h@hIjGNBEAC\C@hACIUBcShS1BE@dJNOMKOQM_PCGN5O @1\ ACb @dgO3g Shg \UG3BXm iF>U@HAyMu[BX@IhJ3@H>5G3@\a|}g5\[>UWXWXMK\lOQ`BXI5BEI5YYM_JNIUM[Ai5WEGN@K@hrqgFt@HMl@hJJ3@H`G3^<BEJ3>BXI5M@
5
ML|}@HM[O3BXi5WE@ONST>5@HA5V5WE@ `>5BcST>xS(\KV5WXAiF@VUOQ@dAimnMJTM_i5WX@(zACGNBEuK@hIO3ST>U@HACV5WX@hGdr
=MKOQP f\[^<g5VCJTMlJNBE\KIJNBE^<@m  3 ^y@dS 1@HM[A5WEBXI5@y $ 3 ^C@HS 1@hgF@hIjAC@hIUShn
\`b
5
z

\ d
55
\ b
r5
\Uf
\Ud
# 5
5


\ n

5

\`b



Version 2 CSE, IIT Kharagpur

5rtf\[IUO3BcAC@hGtMyG3@dM_WEzJNBE^<@wO3nOQJ3@H^`>U\KO3@ JNM[O3PST>UM_GTM[S(J3@hGNBcOoJNBXSHOM_IUAxAC@Hgj@HIUAC@HIUS(BX@HOM_GN@wAC@HONS(GNBXij@dABEIJN>5@w|}\KWEWX\l`BEIUY<JNM_iUWE@Kr
=?>5@HO3@JNMKOQPCOGN@hgF@HM_Jy@huK@hGNn  5 ^<O3@HS[r1@(JN@hGN^<BEI5@ZMR|}@HMKOQBXi5WX@O3ST>5@dACV5WX@x`>5BcST> S(\[VUWXA iF@VUO3@HA in M'JTM_i5WX@(zACGNBEuK@hI
O3ST>U@HACV5WX@hGdr
=;M[O3P f\[^<g5VCJTMlJ3BX\[IJ3BX^<@K  3 ^OQ@dS 1@HM[A5WEBXI5@y $ 3 ^<O3@HS t@Hgj@HIUAC@HIUS(n
\`b
5
z
6 5
\Ud
\`b
6 5
45
\ f
\ b
r5
15
\ n
5
\Uf[v \Ud
5
\Um
\ d
r
5
[0t0
  K\[>5IKr [@H>5\CS(hPn [V5B0>jM5v0M_YKV5IUM_J3>UM[Ik0M oPV5^M_Gdr&G3BX\[GNB]JonZBEIU>5@hGNB]JTM_IUSh@yg5GN\_JN\Sh\[WcO Z tIM_g5gUG3\mM[ST>'J3\ZG3@dM_WEzJNBE^<@
O3nmIjST>5G3\KI5BXHMlJNBE\KIr
CNl5hK(lUw_ q + ChTTv r ZX[ 5  [ 4 5v  5 r








r

Version 2 CSE, IIT Kharagpur


 
   !#"$!% '&
)( * +-,.!/!#,0+1 324 !5(6+5 7
8(.9;:8!5(6<!

=>@? ACBEDGFIHKJLNMIOAQPR?S>)>@ATOGUCVXWYWQLZ>[J)OLN\IFQJ)?SW]>@^Q>@J?RD>;LNVYO)?SUCHK_`JLND;? UCMIMHKLZPRUCJLNAaV>GLN>;\b?SPRAaD$LKVcdMbAaMIFHNUaOSeYfVI? O?gUa>AaVhBiATO


J)jILN>kMXATMIFIHZUCO)LlJ[^mAaB.DGFIHKJLNMIOAQPR?S>)>@ATOnUaVWoWQLN>@JO)LN\IFQJ?gWo>@^Q>@J?RD>pLZ>pJj?O?gP?RVqJkWQO)AaMrLKVoMIO)LZP?S>pAaBJ)jI?S>?>@^Q>@J?SD$>SetsAvu%WQFUaH
MIO)AQP?g>>AaOD$UTPwjILNVI?S>nUCO)?GUyxvUCLNHZUC\IHN?GUCJzIB{J[^J)A >LK|qJ[^J)jIAaFX>UaVW}O)FIMX?S?S>pUCVXW}Jj?GMIO)LZP?S>pUaO?;>@?RJJ)A WQO)AaM~?Rxa?SVmBiFIOJj?ROgek?R_
>LNWI?S>SaWQLZ>[J)OLN\IFQJ)?SW;MIHZUvJ@BiATOD>>FPwjUa>6VI?RJ[uATOT?SWG..>UCO)?PAaD$D$AaV;MIHZUaPR?ae6VIAaJjI?SOO?gUa>AaV0JjUCJUvJ@J)O)UTPJw>#O)?SUaHl_`JLND$?>@^Q>@J?RD
WQ?Sxa?SHKATMX?SO)>JA$WQ?RMIHNAv^$D0FIHKJLNMIO)AQP?S>)>AaOUaVW8WQLZ>@JO)LK\IFIJ?SW
>@^Q>@J?SD$>LZ>J)jI?EBUT>[J)?RO.O?g>@MbAaVX>@?EJLND;?g>UCVW$BUaFIHKJ@_`JAaHN?ROwUCVXP?Bi?gUvJ)FIO?g>
AaB>FPwjm>^Q>[J)?RD>ReIFO@J)jI?ROnWQLN>@JO)LN\IFQJ?gW}MIO)AQP?S>)>LKVIc$LZ>AaB{J?RVd>@FILKJ)Ua\IHN?BiAaOEUaMIMIHNLNPSUvJ)LKATV>JjXUvJnUaO?VXUvJFO)UaHKHN^
WQLZ>@JO)LK\IFIJ?SW}UaVW
J)jI?p?Rxa?SVqJ)>.ACB/LNVqJ?SO?g>[JUCO)?cT?RVI?SO)UCJ?gWtUvJca?SAacTO)UaMIjILZPRUCHNHN^GWQLZ>[J)OLN\IFQJ)?SW
HKAQPSUvJLNAaVX>ReV ?|IUaD;MHK?nACB6>@FPwj UCV UCMIMIHNLZPRUvJ)LKATV8LZ>UCV
UaFQJATD$UCJ?gW8Mb?J)OATHK?SFID4O)?zV?RO)^aujI?RO)?nJjI?MHNUaVTJLZ>>MIO?gUaW
Avxa?SOU$PRAaV>LNWI?ROwUC\IHN?cT?RATcaOwUCMIjILZPEUaO?gUIe
>.PRAaD$MUaO?gW;JA$>PwjI?gWQFIHNLKVcGO)?SUaHl_`JLND$?J)UT>@Q>AaV8UGFIVILNMIO)AQP?S>)>AaOgT>)PwjI?SWQFHKLNVIcGJ)Ua>Q>ATV8DGFIHlJ)LKMOAQP?g>>AaO.UCVW
WQLZ>[J)OLN\IFQJ)?SW
>^Q>[J)?RD>nLN>pU
D0FPwjdD;ATO?;WQLKPRFIHKJpMOAT\IHK?SDed?$jUTW~>?R?RV~JjUCJnATMQJLNDUCH>)PwjI?SWQFHK?SO)>EBiAaOU >@?RJnAaBLKVXWQ?RMb?RVWI?RVqJO?gUCHK_J)LKD$?
JwUa>>$jXUyxa? MXATHK^VIATD;LZUCHPRAaD$MIHN?|QLKJ[^iLNVqJJjI?}VFIDG\X?SOACBEJwUa>Q>;JAo\X?m>)PwjI?gWQFIHN?SWeAvu.?Rxa?SOSWQ?J)?RO)D;LNVILNVIchUCVAaMQJ)LKDUaH
>)PwjI?SWIFIHK?nBiATOU;>?JAaBO)?SUaHl_`JLND$?EJwUa>Q>AaV}U;D0FIHKJLNMIO)APR?S>)>@ATOAaOU$WQLN>@JO)LN\IFQJ?gW>@^Q>@J?RD1LN>UaV}sE_jUaO)W8MIOAT\IHN?RD `e
}FHlJ)LKMIO)AQP?g>>AaO;>@^Q>@J?RD>;UCO)?8VIAvuVYUT>kJ)LKcTjqJHN^oPRAaFIMHK?gWY>^>@J?SD>ReojILZ>;PwjXUCOwUaPJ)?RO)LN>@JLZP$ACBnUmD0FHlJ)LKMIO)AQP?g>>AaO;>@^Q>@J?RD
WQ?SVIACJ)?S>J)jI??|QLZ>[J)?RVPR?ACB>@jXUCO)?SW
MIj^>LZPRUCH5D$?SD;ATO^8LKV Jj?0>@^Q>@J?SD eV}PRAaVqJOwUa>@JSIUWQLZ>@JO)LK\IFIJ?SW>^Q>[J)?RD4LZ>PSUCHNHK?gW U;HNAAT>?RHN^
PRAaFIMIHN?SW >^>@J?SD1UaVW8LZ>WQ?SxaATLNW
ACB6UCV^8>jUCO)?SW
MIj^Q>@LZPRUaHbD$?SD;ATO^Te6VUGJ)LKcTjTJ)HK^ PATFIMIHN?SW >@^Q>@J?RDQJ)jI?LNVTJ)?RO)MIO)APR?S>)>PAaD$DGFQ_
VILZPRUCJLNAaVi[ELZ>nLKV?|QMX?SV>LKxT?$UaVWrPRUCVd\X?LNcaVAaO)?SWmPRAaD$MUCO)?SWmJA J)UT>@}?R|Q?SPFIJLNAaVdJLND;?g>Re$jILZ>pLN>>A \X?gPRUCFX>@?;LKVqJ)?RO_JwUa>
PRAaD$D0FIVLNPSUvJLNAaV;LZ>UaPwjILN?RxT?SW0JjIO)AaFIcTj0O)?SUTWI>UCVWGuO)LlJ)?S>JApJ)jI?>@jXUCO)?SWGD;?SD$AaO)^ae#EAvu?Sxa?SOSyJ)jI?>UaD$?.LZ>6VIAaJJO)FI?LKV;Jj?PRUa>?
AaBXWQLZ>[J)OLN\IFQJ)?SW;PAaD$MIFIJLNVIcn>^Q>[J)?RD>#ujI?RO)?LNVqJ?SO@_`J)UT>@PATD$D0FIVILZPRUCJLNAaVJ)LKD$?g>UaO?PATD$MUCOwUC\IHN?J)AEJwUa>?|Q?SPRFQJLNAaV0JLND;?g>Re6FI?
J)AkJjLN>O?gUa>AaV-qUD0FHlJ)LKMIO)AQP?g>>AaO.>@^Q>@J?RD%DUy^GFX>@?nU0P?SVqJOwUCHNLKS?SWWQLZ>@MXUvJ)Pwj?ROv>)PwjI?SWQFHK?SOujI?RO)?SUT>UkWQLZ>@JO)LK\IFIJ?SW
>@^Q>@J?SD%PSUCV
VIAaJSeP?SVqJOwUCHNLKS?SW>Pwj?SWQFIHN?ROEuATFIHNW O)?SqFILNO?pDUCLNVqJ)UaLKVILNVIc$J)jI?0>@J)UvJ)?kACBJj?0xvUCO)LKATF>.J)UT>@Q>AaB#J)jI?0>^Q>[J)?RDLKVmUPR?RVqJOwUCHNLKS?SW
WIUCJ)U>@JO)FPJ)FIO)?ae6jILN>uATFIHNW;O)?SqFILNO?xvUCO)LNAaF>6MIO)AQP?g>>AaOw>LKV;Jj?E>@^Q>@J?SDJAFMbWIUCJ?LKJujI?SVI?RxT?RO6Jj?E>[JwUvJ)?ACB5UnJ)Ua>0PwjUaVIca?g>
UaVW
PRAaV>?SqFI?SVqJHN^tuATFIHZW8O)?S>FIHKJLKV jILNcaj}PATD;DGFIVILZPRUCJLNAaVUaHbAvxT?RO)jI?SUTWI>Se
Pwj?SWQFIHNLNVIcO?gUCHK_J)LKD$?pJwUa>>AaVmWQLZ>[J)OLN\IFQJ)?SW}UaVWD0FIHKJLNMIO)AQP?S>)>AaO>^>@J?SD>EPATV>LN>@J)>AaB6J[uAt>FI\Q_MIO)Aa\IHN?RD>SJ)UT>@ UCHNHKAQPRUC_
J)LKATV$JAkMIO)AQP?g>>AaOw>UCVW>)PwjI?gWQFIHNLKVIckJ)Ua>Q>AaV$J)jI?LNVWQLNxLNWQFXUCHMOAQP?g>>AaOw>Se#jI?JwUa>;UT>>LNcaVID$?RVqJMIO)Aa\HK?SDLZ>PATVP?SOV?SW$uLKJj
jIAvuJA$MUaO@J)LlJ)LKATV U$>?JACB#J)Ua>Q>UCVW
Jj?RV jIAvuJ)A$UT>>LNcaVtJ)jI?S>?pJA;J)jI?pMIOAQPR?S>)>@ATO)>SeUa>tUa>)>LKcTVID$?RVqJPSUCV ?RLKJjI?SO\b?p>@J)UCJLZP
ATO.WQ^VUaD$LNPaeVtJj?p>@J)UCJLZPUaHKHNAQPRUCJLNAaV8>)PwjI?RD$?TTJ)jI?UCHNHKAQPSUvJLNAaV8ACB-JwUa>>J)AGVIAQWQ?g>.LN>.Mb?RO)D$UaVI?RVqJUCVW
WQA?S>.VIAaJPwjUaVIca?nuLKJj
J)LKD$?ae6jI?SO?gUa>LNV;JjI?WQ^VUCD$LZPJ)UT>@0UT>>LNcaVID$?RVqJgCJ)UT>@Q>UaO?UT>>LKcTVI?SW0JA0VIAQWQ?S>UT>6Jj?R^$UCO)LN>?aejqFX>RTLKV$J)jI?EWQ^VUaD;LZPPRUT>@?T
WQLK?RO)?RVqJLKVX>[JwUCVPR?S>ACB6UGJ)Ua>tDUy^t\b?kUCHNHKAQPSUvJ?gWJ)AtWQLl?RO)?RVqJVIAQWQ?g>ReB{J?RO>@FPSP?g>>@BiFIHJ)UT>@
Ua>)>@LNcaVID$?SVTJ.JA$J)jI?pMIO)APR?S>)>@ATO)>S
u.?GPSUCV~PRAaV>LNWI?ROJ)jI?GJ)Ua>Q>EATVm?SUTPwjmMIO)AQP?S>)>AaOLNVWQLNxLNWQFXUCHNHK^}UCVXWJjI?SO?RBiAaO)?kJ)jI?;>?SPRAaVWmMIjUa>?kAaBJjI?;D0FHlJ)LKMIO)AQP?g>>AaOEUaVW
WQLZ>@JO)LK\IFIJ?SW>^Q>[J)?RD>O?gWQFPR?S>.JA;J)jI?k>Pwj?SWQFIHNLNVIcMIO)Aa\IHN?RDLNV FIVILNMIOAQPR?S>)>@ATO)>Se
jI?EJ)UT>@UCHNHNAPSUvJ)LKATV$JA0MOAQP?g>>AaOw>LNV8DGFIHlJ)LKMOAQP?g>>AaOUCVWtWILN>@JO)LK\FQJ?gWt?RVxLNOATVID$?RVqJ)>LN>.UCV8s_jUCOwW$MIO)Aa\IHN?RDUaVWtWQ?R_
J)?RO)D;LNVILNVIctUCVATMQJLNDUCH/>AaHNFQJLNAaVjUT>?|QMbAaVI?SVTJ)LNUaH/PATD$MIHK?R|QLlJ[^Te AXD$AT>@JACBJjI?kUaHKcTAaO)LlJ)jID>.JjUCJUCO)?WQ?RMIHNAv^a?gW8LNV}MIOwUaPJLZP?
UaO?;jI?RFOLZ>[J)LNPUaHKcTAaO)LlJ)jID>Re$Ua>mUCHNHKAQPRUCJLNAaVoUCHNcaATOLKJjID>pPRUaVd\b?tPHZUa>)>Llz?gWmLNVqJA?RLKJjI?SO0>@J)UvJ)LNP;ATOkWQ^VUCD$LZP;UaHKcTAaO)LlJ)jID>Re;V
>@J)UCJLZPUCHNcaAaO)LKJjID>UCHNH-J)jI?pJ)UT>@Q>UaO?pMUaO@J)LlJ)LKATVI?SWLNVqJAt>FI\>^Q>[J)?RD>Re.UTPwj >FI\>^Q>[J)?RD4LZ>EUT>>LNcaVI?gWtJ)AtU>@?SMUCOwUvJ)?nMOAQP?g>>AaOge
V PAaVqJ)O)UT>[JgqLNV
U;WQ^VUaD;LZPn>@^Q>@J?RDJwUa>Q>O)?SUTWQ^;BiAaO?|Q?SPRFQJLNAaV UCO)?EMIHZUaPR?SW8LKV AaVI?pPATD$D;ATVtMIO)LKATOLKJ[^qFI?RFI?pUCVXW8WQLZ>@MXUvJ)Pwj?SW
J)A~MIO)AQP?S>)>AaOw>nBiAaO0?R|Q?SPFIJLNAaVUa>kJjI?
MIO)APR?S>)>@ATO)>p\b?SPRAaD$?
UyxvUaLKHZUC\IHN?ae}J;LN>kJjI?SO?RBiAaO)?tMbAT>)>@LN\IHN?JjUCJ;WQLK?RO)?RVqJGLNV>@J)UCVXP?S>0ACB
Mb?RO)LKAQWQLZPEJ)Ua>Q>?R|Q?SPFIJ?nAaV8WQLK?RO)?RVqJ.MOAQP?g>>AaOw>Se#}Aq>[JjUCOwWO)?SUaHl_`JLND$?>^>@J?SD>\FILKHKJJA;WIUvJ)?nUaVWtMbAT>)>@LN\IHN^$LKV VI?SUaOBiFIJFIO)?
UaO?0UaHKH6>@J)UvJ)LNPGLNVmVUvJ)FIO)?aepAvu.?Rxa?SOSXLKVqJ)FILlJ)LKxT?RHN^mU8WQ^VUaD$LNP0O?gUCHK_J)LKD$?0>^Q>[J)?RDPRUaVmDUCa?GD$AaO)?k?tPLN?RVqJpFQJLNHNLKgUvJLNAaV~ACBJ)jI?

Version 2 CSE, IIT Kharagpur

UyxvUCLNHZUC\IHN?O)?S>AaFO)PR?S>Se
jILZ>PwjUaMQJ?SOLN>ATOcqUCVILNR?gW0UT>BiAaHNHKAvu>Se/r?zOw>[JWQLZ>)PF>)>J)UT>@0UaHKHNAQPRUCJLNAaV$>PwjI?SD$?S>BiAaODGFIHKJLNMIOAQPR?S>)>@ATO)>Se-r?VI?|JWQLZ>)PF>)>
WQ^VUaD$LNP}UaHKHNAQPRUvJ)LKATVYAaBJwUa>>;J)AhMIO)APR?S>)>@ATO)>Se#LNVUaHKHN^au.?UTWIWQO)?S>)>;JjI?mPRHKAQPwY>^VPwjIO)AaVILNSUCJLNAaV]MIOAT\IHN?RD LNVWQLZ>[J)OLN\IFQJ)?SW
>^Q>[J)?RD>Re

  
  !"#$%#'&

VJ)jILZ>>?SPJLNAaVu.?EWQLZ>PRF>>UBi?SuUCHNcaAaO)LKJjID>6BiATO>@J)UvJ)LNPSUCHNHK^$UCHNHNAPSUvJ)LKVIc0O?gUCHK_J)LKD$?J)UT>@Q>JAkJ)jI?EMOAQP?g>>AaOw>6ACB/UkD0FIHKJLNMIO)APR?S>@_
>AaO>^>@J?SDed?kUaHKO)?SUTWQ^VIAvuJjXUvJLNV U$>@J)UvJ)LNPnJwUa>8UCHNHNAPSUvJ)LKATV
UCHNcaATOLKJjD QUaHKHNAQPRUvJ)LKATV
LZ>DUaWQ?p\b?BiATO?pO)FIV8J)LKD$?TUCVW
J)jI?
UaHKHNAQPRUvJ)LKATV
O)?RDUaLKV>xvUaHKLZW
JjIO)AaFIcTj
ATFQJEU;BiFIHNH/O)FIVACBJjI?k>^Q>[J)?RDe>UCHNO?gUaWQ^8D;?SVqJLNAaVI?gW5QJj?pJ)Ua>
UaHKHNAQPRUCJLNAaV
UaHKcTAaO)LlJ)jID>
BiATOD0FIHKJLNMIO)APR?S>)>@ATO)>6WQAVACJJO)^kJ)AD$LKVILND$LKS?PATD;DGFIVILZPRUCJLNAaVPAq>[Jw>Ua>6LNVTJ)?RO)MIO)APR?S>)>PATD;DGFIVILZPRUCJLNAaVGJLND;?TejILN>LN>6\b?SPSUCF>?
LNVYDGFIHlJ)LKMOAQP?g>>AaOw>kPRAaD$D0FIVLNPSUvJLNAaVJLND;?
LN>GJ)jI?
>)UCD$?
UT>0D$?SD;ATO^oUaPSP?g>>0JLND$?aWQFI?
JA~JjI?UyxvUCLNHNUa\ILNHKLKJ[^dAaBJjI?>jUCO)?SW
D$?RD$ATO^$LNV
WQLZ>[J)OLN\IFQJ)?SW
>@^Q>@J?RD>SejLN>.LZ>J)jI?O)?SUT>@ATVuj^$JjI?J)UT>@UCHNHNAPSUvJ)LKATVtUCHNcaAaO)LKJjID>J)jUvJu.?nWQLZ>)PF>)>LNVtJ)jILZ>>?SPJLNAaV
DUy^VIACJnuATO>)UvJLZ>@BUaPJ)AaO)LKHN^ LKV~WILN>@JO)LK\FQJ?gWm?RVxLNOATVID$?RVqJ)>SejI?;UCHNHKAQPSUvJLNAaVmUaHKcTAaO)LlJ)jID>J)jUvJpu?;WQLZ>PRF>>nUCO)?0PR?RVqJOwUCHNLKS?SW
UaHKcTAaO)LlJ)jID>ReV JjI?pBiATHKHNAvuLKVcQu.?pWILN>)PF>)>UGBi?Ru LKD$MbAaOJ)UaVTJDGFIHKJLNMIOAQPR?S>)>@ATOJwUa>8UCHNHKAQPSUvJLNAaVUCHNcaATOLKJjD$>Se
()+*-,-*/.102)+*-35476'08,-094:1*/4;=<>,-;538?@*A)+BCEDjILZ>UaHKcTAaO)LlJ)jIDDUCLNVqJ)UCLNV>.J)jI?pJ)UT>@Q>LNV LNVPRO?gUa>LKVIc;AaOwWQ?SOACB/J)jI?RLNOFQJ)LKHNLNSUvJ)LKATV>Se
JO?SD$Avxa?S>J)UT>@Q>AaVI?n\^$AaVI?BiOATDJjI?njI?gUaWtAaB-Jj?pqFI?SFI?pUCVW
UCHNHKAQPRUCJ?g>J)jI?RDJ)A0J)jI?pHK?gUa>@J.FQJ)LKHNLNR?SW8MIO)APR?S>)>@ATO?gUaPwjtJ)LKD$?Te
jI?GAa2\ F[?gPJ)LKxT?kACB>?RHN?SPJ)LKVcJjI?GHK?gUa>@JFQJ)LKHNLNR?SWmMIOAQPR?S>)>@ATO?SUaPwjJ)LKD$?GLN>EJAt\XUCHZUCVPR?kFQJLNHNLKgUvJLNAaV~ACBJj?GWQLKb?SO?SVqJEMIO)APR?S>)>@ATO)>Se
VtUMb?ROBi?SPJHN^$\UCHZUCVPR?SW$>^>@J?SDJ)jI?EFIJLNHKLNSUCJLNAaHV GJI-UvJ?gUaPwjMIO)AQP?g>>AaO?gTFXUCHZ>6JjI?Avxa?SO)UaHKHQFQJ)LKHNLNSUvJ)LKATVACBJj?EMIO)AQP?S>)>AaOw> G
ACB
J)jI?>@^Q>@J?SD eE?RO)?J)jI?FQJ)LKHNLNSUvJ)LKATV$ACB5UpMIOAQPR?S>)>@AT O KI5LZ>6Jj?>@FID$DUvJ)LKATV$ACBbJjI?FIJLNHKLNSUCJLNAaV$ACB5UCHNHQJ)UT>@Q>UT>>LKcTVI?SW0JALKJSe6MB L NOI
LZ>J)jI?E>?JAaB5UaHKHJ)UT>@Q>UT>>LKcTVI?SW0JAGUMIO)APR?S>)>@ATPO KI@aJ)jI?RVtJjI?FIJLNHKLNSUCJLNAaVACBJ)jI?MIO)AQP?S>)>AaPO KI-LZP> GJIRQTSVU#WYXYZ\[]G5^`_vTuj?RO)? Ga^`_
LZ>J)jI?kFQJ)LKHNLKgUvJ)LKATVWIFI?JAtJjI?JwUa>
N U e.Bc b LN>JjI?0>?JACBUCHNH-MIO)AQP?S>)>AaOw>LNVJj?G>^>@J?SD>RQJ)jI?RV GdQeSVU#W1fRg'GJIEAvu?Sxa?ROg
F>LNVIctJ)jILN>nUCHNcaATOLKJjD1LKJLZ>ExT?RO)^ WILltPFHlJnJA8UTPwjILN?Rxa?0MX?SO@Bi?gPJp\UCHZUCVPRLKVcACBFQJ)LKHNLKgUvJ)LKATV>UTPO)AT>)>WQLKb?SO?SVqJMIO)AQP?S>)>AaOw>BiAaOnUCV
UaO\ILKJOwUCO)^JwUa>;>?Jge6jXUvJLZ>STLKJLZ>xT?RO)^GWQLKtPFIHKJJ)A0DUCT? G I Q GtBiATO?SUTPw$
j K I ejI?E>LKD$MIHN?Ej?RFIO)LN>@JLZPF>?SWtLKV$J)jILN>.UCHNcaATOLKJjD
cTLKxT?S>>FI\bAaMQJ)LKDUCHO)?S>FIHlJw>RejI?GAa2\ F[?gPJ)LKxT?ACBUCV^
caAAQWFQJLNHKLNSUCJLNAaV}\UaHNUaVPLNVIc8UaHKcTAaO)LlJ)jID4LZ>J)A8D$LNVILKD$LNRH? S7hIjikPl G>mnG I l
ujI?SO?.V;LN>VFID0\b?RO6AaBXMIO)AQP?S>)>AaOw>-LNVkJj?>^Q>[J)?RD G$LZ>UyxT?ROwUCcT?FQJLNHNLKgUvJLNAaVGACBbMIOAQPR?S>)>@ATO)>SgUaVoW G I LN>FQJ)LKHNLNSUvJ)LKATVGAaBMIO)AQP?S>)>AaRO p
jILZ>UaHKcTAaO)LlJ)jIDLZ>>@FLlJwUC\IHN?ujI?RV J)jI?kVFID0\b?ROEACB6MIOAQPR?S>)>@ATO)>.LNVU$DGFIHKJLNMIOAQPR?S>)>@ATOLN>z|?gW5ej?FQJLNHKLNSUCJLNAaV\UaHNUaVPLNVIc
UaHKcTAaO)LlJ)jIDPRUaV \b?F>?SW
ujI?RV J)jI?pJ)UT>@Q>UvJJ)jI?LKVXWQLKxLZWQFUaH-MIO)APR?S>)>@ATO)>.UCO)?>Pwj?SWQFIHN?SW
F>LKVc$.e
qrtsO)#uwv*A)$<>,-;538?@*A)+BCyxz38?{>|}<~DV}J)jILN>UCHNcaATOLKJjIDU$J)UT>@>?JLZ>MXUCOJLKJLNAaVI?gW}>@AJ)jUvJn?SUTPwj}MUCOJLKJLNAaV}LZ>>)PwjI?gW_
FIHN?SW~AaV~UtFIVILNMIOAQPR?S>)>@ATOEF>LKV>
c bm >Pwj?SWQFIHNLNVIcepjILZ>UaHKcTAaO)LlJ)jIDUCJ@J)?RD$MQJ)>J)A8F>?GUT>Bi?Su MIOAQPR?S>)>@ATO)>UT>EMbAT>)>LK\IHN?aenjILZ>
UaHKcTAaO)LlJ)jID1FVIHKLNa?kJjI?GFQJLNHKLNSUCJLNAaVm\XUCHZUCVPRLKVIc
UCHNcaAaO)LKJjIDWQA?S>VACJO)?SqFILNO)?JjI?GVFID0\b?ROACBMIO)AQP?S>)>AaOw>ACBJj?G>^>@J?SD4J)A8\b?
MIO)?SWI?J?SOD$LNVI?SWdUCVW~caLNxa?SV~\b?BiAaO)?;jUCVW-ekJpPRHNUT>>LKz?S>EJjI?WQLK?RO)?RVqJJwUa>Q>LNVqJAUtBi?SuPHZUa>)>?S>\Ua>?SW~AaVmJ)jI?$FQJLNHNLKgUvJLNAaVdACB
J)jI?J)UT>@efVI?ATOD$AaO)?MIO)APR?S>)>@ATO)>UaO?UT>>LNcaVI?gWG?R|IPHNF>@LNxa?SHK^0JAk?gUaPwjPHZUa>)>AaBbJwUa>Q>Re6jI??g>>?RVPR?ACBJjLN>.UCHNcaATOLKJjID LN>JjUCJ
JwUa>>uLKJj}>LKD$LNHNUaOFQJLNHNLKgUvJLNAaV xvUCHNFI?S>EUCO)?n>)PwjI?SWIFIHK?gW AaV
JjI?k>)UCD$?pMIO)APR?S>)>@ATOSe
V8JjILZ>UCHNcaATOLKJjIDqJ)UT>@Q>UCO)?pPHZUa>)>@LKz?SW8\Ua>?SW8AaV8JjI?SLKOFQJ)LKHNLNSUvJ)LKATV
UTPRPATO)WILKVIc0JA;Jj?BiATHKHNAvuLNVIcGMbAaHNLZP^ae6B#JjI?nJ)UT>@Q>UCO)?
J)A;\b?kWQLNxLNWQ?gW LKVqJADPHZUa>)>@?g>RQUGJ)UT>@
N I \b?RHNAaVcT>.JAUPRHNUT>> F8 =HdILK
T_/ m Izw5I _ m
"RA a
e
FMIMXAq>@?
u?8uLN>jhJAdMUCOJLKJLNAaVoJ)jI?
J)Ua>Q>kAaBEUm>@^Q>@J?SDLNVqJA~BiAaFIO;PHZUa>)>@?g>Re~j?RV\^oF>LKVIcr|QMIOgd
e e J)jI?
WQLK?RO)?RVqJ
PRHNUT>>?S>PRUaV
\b?pBiAaO)D0FHNUCJ?SW WQ?SMX?SVWQLNVIcAaV Jj?FQJLNHKLNSUCJLNAaV ACBJjI?pJwUa>Q>Ua>.BiAaHNHNAvu>R
,-08"5Dn m k m
,-08"$MDn m co m
,-08"HRDn m co m

Version 2 CSE, IIT Kharagpur

,-08"D m

OATD Jj?~UC\bAvxa?TJ)jI?mFQJ)LKHNLNSUvJ)LKATVcaO)LNW]BiATOJjI?dWQLl?RO)?RVqJ
PRHNUT>>?S>8PRUCV\b?mBiATFIVWJAh\b?aHZUa>)> -Ie `PRHNUT>>$I
/I I Ie `PHZUa>)>I/Ie  Ie qQUCVXW
PRHNUT>> X-I Ie  `e
r?PRUaVGxLN?Ru]|QMIOSee Ua>WQ?RzVILNVIccaO)LNW>6AaVGJjI?FQJ)LKHNLNSUvJ)LKATV$MIHKAaJACBXJjI?JwUa>>Se6J)Ua>kLZ>Ua>)>@LNcaV?SW0JAUpcaO)LNW;WQ?SMX?SVWQLNVIc
ATV LKJ)>EFQJLNHNLKgUvJLNAaV/e.JLN>VACJWQLKtPFIHKJJ)AtAa\>?RO)xa?nJ)jUvJJ)jI?0>LKS?ACB6Jj?kcaO)LNW>UvJjILNcaj?ROJwUa>
FQJ)LKHNLNSUvJ)LKATVxyUaHKF?S>EUaO?PRATUCOw>?RO
PRAaD$MUCO)?SW}JA
JjUCJpUCJnHNAvu J)UT>@}FQJ)LKHNLNSUvJ)LKATV~xvUCHNFI?g>RekjI?;caO)LZWm>@LNR?;ACB.PHZUa>)> J)Ua>Q>ELZ> _ Ie Q%Ie
 ujI?RO)?SUT>J)jI?GcTOLZWm>LKS?
AaBJjI? PHZUa>)> JwUa>>0LN> Ie  Qe LND0FIHZUvJ)LKATVY>[J)FWQLN?S>GLKVXWQLNPSUvJ)?tJjXUvJGFX>@LNVIc}J)jI?
V?|J0zIJ$UCHNcaATOLKJjID UvJGD;Aq>[HJ Qe  }J)LKD$?g>kJ)jI?
ATMQJLND0FID1VFID0\b?ROAaBMIOAQPR?S>)>@ATO)>.UCO)?O?gqFILKO)?SW-ed?kVAvuLNHKHNF>@JOwUvJ?pJ)jI?ku.AaO)LKVIc;ACB6J)jILN>J)Ua>
UaHKHNAQPRUCJLNAaV D;?RJjIAQWF>LNVIcUCV
?R|QUaD$MIHK?Te
 sM09C  ,-r-5D
jI?EBiAaHNHKAvuLNVIcpJwUC\IHN?>jIAvu>6J)jI?E?R|?gPFQJ)LKATVJLND$?S>iLNV8D>@?gPSUaVWMb?RO)LKAQWI>iLNVtD>@?gPSACB-U0>?JAaB Mb?RO)LNAWILNPO)?SUaHl_`JLND$?J)UT>@Q>Se
>>FID$?EJ)jUvJJ)jI?EJwUa>Q>V?R?SWtJA;OFV8AaV UkDGFIHlJ)LKMOAQP?g>>AaO.uLKJ
j ;MIO)AQP?S>)>AaOw>ReHNHKAQPRUCJ?JjI?nJwUa>>JA;MIO)AQP?S>)>AaOw>F>LKVc0J)jI?
VI?R|JzIJEUCHNcaATOLKJjIDeE>)>FID$?J)jUvJJ)jI?LNVWQLNxqLZWQFUaH-MIO)AQP?S>)>AaOw>UaO?nJA$\b?k>Pwj?SWQFIHN?SW F>LNVIHc bm UCHNcaATOLKJjD e

N k N NO N N N N N  N  N k

    
I  1 @ 1 t
1

@ 1 
#Ua\IHK?Tee Ua> ?JBiATO|IUCD$MIHN?%e

Ua>

sEAvuIu?GPRUCV}WQ?RJ?SOD$LNVI?Jj?kFQJLNHNLKgUvJLNAaV}AaB6JjI?0WILl?RO)?RVqJJwUa>>EUCVW\UT>@?gW AaVJjXUvJEu.?0PRUaV}Ua>)>@LNcaV Jj?0WQLKb?SO?SVTJEJ)Ua>Q>


J)A$WILl?RO)?RVqJPHZUa>)>@?g>RejI?BiAaHNHKAvuLNVIcGJ)Ua\IHK?>jIAvu>JjI?PATD$MIFQJ)UCJLNAaV ACB-J)jI?pFQJLNHNLKgUvJLNAaV ACB?SUTPwjtJ)UT>@tUaVWt\XUa>?SWtATV8J)jUvJJ)jI?
UT>>LKcTVID$?RVqJACB#JjI?pJwUa>>.J)AWQLl?RO)?RVqJEPRHNUT>>?S>Se
#UT>@ N k N NO N N N N N N N k 
\I





 



aI  1 @ Y  Y 1

!
 1
G I Ie
Ie ! e Ie  Ie ! Ie Ie Y e 
Ie  e
HNUT>>


#Ua\IHK?Te e Q ATHKFQJ)LKATV8BiATO|IUCD$MIHN? e
"

6 *-4$# 09:&M% *-4; <>,-;538?@*-)"BC xz3a?')>( v D~jLN>.UCHNcaATOLKJjIDUvJJ?SD;MIJ)>JA;UCHNHKAQPRUCJ?JwUa>Q>JA0JjI?nMIO)AQP?S>)>AaOw>>@FPwjtJjUCJJ)jI?


JwUa>>AaV;JjI?ELKVWILKxLZWQFUCHXMIO)APR?S>)>@ATO)>6PSUCV\b?E>@FXPRP?g>>@BiFIHNHK^;>Pwj?SWQFIHN?SW;F>LNVIc0n.eajILZ>D$?SUaV>6J)jUvJJwUa>Q>UCO)?JA\b?EUa>)>LKcTVI?SW
J)A}MIOAQPR?S>)>@ATO)>n>@FXPwj~J)jUvJJ)jI?FQJLNHNLKgUvJLNAaVhUCJ0UCV^mMIO)AQP?S>)>AaOpWQA?S>VIAaJ?|IP?S?SW e.LKVoMUTPwLKVIcLZ>U}>[JwUCVWUCOwW~UCHNcaATOLKJjD;LZP
MIO)Aa\HK?SD e6r?pBiAaO)D0FIHZUvJ)?nJjI?pJwUa>8UCHNHKAQPSUvJLNAaV MIO)Aa\IHN?RD1Ua>U;\ILNV MXUaPwLKVcGMIO)Aa\HK?SDLKV J)jI?pBiAaHNHKAvuLNVIcXe
r? UaO?
caLNxa?SVVYMb?RO)LKAQWQLZPtO)?SUaHl_`JLND$?tJwUa>>SeojI?RVYJjI?LNVWQLNxLNWQFXUCH.MIOAQPR?S>)>@ATO)>GUCO)?tJAd\X?}>)PwjI?SWIFIHK?gWhF>LKVc~J)jI? 
UaHKcTAaO)LlJ)jID/J)jI?8VFIDG\X?SOG\ILNV>0VI?SPR?S>)>UaO^rPRUCVh\b?8?R|QMIO?g>>?SWhUT>R* S hI ik GJI,+TedjI?t\ILNVMUTPwqLNVIcmMOAT\IHK?SD LZ>kVIAvuVoJ)A~\b?
s_PAaD$MIHN?J)?ae
?Sxa?SO)UaHb\LKV MUaPwLNVIcUCHNcaATOLKJjID>.?|QLZ>[JgejI?nJ[uA;J)jUvJu.?WQLN>)PFX>>UaO?JjI?pzXO)>@J@_`zIJO)UaVWQATD4UCHNcaATOLKJjIDUaVW8JjI?pzOw>@J@_`zIJ
WQ?gPO)?SUT>@LNVIctUCHNcaATOLKJjD$>SeVJj?kzOw>[JzIJOwUCVXWQAaD UCHNcaATOLKJjIDJ)Ua>Q>UCO)?0>?RHN?SPJ?SWmO)UaVWQAaD$HN^
UaVWmUa>)>LKcTVI?SW
JA
MIO)APR?S>)>@ATO)>LNV
UaV~UCO)\ILKJOwUCO)^
DUCVVI?ROpUa>HKATVIc
UT>JjI?;FQJLNHNLKgUvJLNAaVdACBU
MIO)APR?S>)>@ATOEWQA?S>nVIAaJ?R|QPR?R?gW epV~JjILZ>p>PwjI?SD$?a5UvJnD;Aq>[J e- ;J)LKD$?g>
J)jI?AaMQJ)LKDGFID4VFIDG\X?SOACB6MIO)APR?S>)>@ATO)>.UCO)?pO?gqFILKO)?SW-e
V~JjI?GzOw>[J_zIJWQ?gPO)?SUa>LNVIc
UaHKcTAaO)LlJ)jIDXJ)jI?GJ)Ua>Q>pUCO)?G>AaOJ?SWmLKVrVIAaVI_`LNVPO)?SUT>@LNVIctATO)WI?ROnACBJ)jI?RLNO0.= FQJLNHKLNSUCJLNAaVdLKVrUCV
ATO)WQ?SO?gWmHNLN>@Jt{J)jUvJkLZ>R/JjI?;JwUa>muLlJ)jrJjI?$jILNcajI?g>[JFQJ)LKHNLNSUvJ)LKATVoLN>UT>>LKcTVI?SWmJjI?$zXO)>@JMXAq>@LKJLNAaV-#UCVWr>@A AaVbejI?$J)UT>@Q>pUCO)?
>?RHN?SPJ?SWrATVI?t\^~ATVI?$BiOATD J)jI?tAaOwWQ?SO?gW~HNLN>@JGUaVWoUa>)>@LNcaVI?gWdJAJj?t\ILNViMIO)AQP?S>)>AaOJ)A}ujILZPwjhLlJ0PSUCVozIJ0LNV{J)jUvJ0LZ>SWQA?g>


Version 2 CSE, IIT Kharagpur

IV AaJpPSUCF>?J)jI?GFIJLNHKLNSUCJLNAaVmJ)A8?R|QPR?R?gW epJ)UT>@LZ>UT>>LNcaVI?gWJA8JjI?;MIO)APR?S>)>@ATOJA ujILZPwjmLKJzIJw>zO)>@JSe LND0FHNUCJLNAaV~>@JFWILK?g>


LNVxaAaHNxLKVckHNUaOcT?VFID0\b?ROAaB5J)Ua>Q>UaVWMIO)AQP?g>>AaOw>>jIAvuJjUCJJ)jI?nVqFD0\b?RO.ACB-MIO)AQP?S>)>AaOw>O)?SqFILNO?gW$\q^;J)jILN>UaMIMIO)ATUaPwjLZ> e 1
J)LKD$?S>JjI?ATMQJLNDUCH5VFID0\b?ROEACB#MOAQP?g>>AaOw>Se

>& 

#   #% # & T $

A BUaOu?$jUTWdWQLZ>)PF>)>@?gWd>@J)UCJLZP$UCHNHKAQPRUCJLNAaVdACBJwUa>Q>nJAMIO)APR?S>)>@ATO)>Se0EAvu?Sxa?ROg5LNVdDUCV^~UaMIMIHNLNPSUvJ)LKATV>J)Ua>Q>UCO)OLNxa?;Ua>^VQ_
wP jIO)AaVAaF>HK^]UvJ
WQLK?RO)?RVqJtVIAQWQ?S>Se V>@FXPwjUh>)P?SVUCO)LNAUWQ^VUCD$LZP}UCHNcaATOLKJjID LN>tVI?R?gWQ?SWJ)AjUCVXWQHK?mJjI?~UaOO)LNxqLNVIcrJ)UT>@Q>Se
^VUCD$LZPUCHNcaAaO)LKJjID>pUa>)>@FD;?;J)jUvJ0UaVq^mJ)Ua>~PSUCVr\X??R|?gPFQJ)?SWrAaVoUCV^mMOAQP?g>>AaOge$mUCV^mAaBJ)jI?tWQ^VUCD$LZP$>@ATHKFQJ)LKATV>UCO)?
VUCJFIOwUCHNHN^8WQLZ>[J)OLN\IFQJ)?SWUCVW WQA$VIAaJEUa>)>@FID$?nJjXUvJJj?RO)?nLZ>U$P?SVqJOwUCH-UCHNHNAPSUvJ)LKATV8MbAaHNLNPR^8O)FIVIVILNVIc$AaV>@ATD$?nMOAQP?g>>AaOge
V
JjI?kWI^qVXUCD$LNPpUaHKcTAaO)LlJ)jID>ROwUvJj?RO.JjUaVMIO?gUCHNHKAQPSUvJLNVIcGJ)UT>@Q>JAMIO)AQP?g>>AaOw>RTJj?JwUa>Q>UCO)?nUT>>LKcTVI?SW8JA$MIO)AQP?g>>AaOw>UT>
UaVW;ujI?RV$J)jI?R^$UCO)LN>?ae LNVP?J)jI?JwUa>GUCHNHNAPSUvJ)LKATVGJ)AVIAQWQ?S>PRUaV;\b?DUaWI?AaV$Jj?LKVX>[JwUCVqJ)UaVI?RATF>6HKAqUaW;MbAT>LlJ)LKATVACBbJjI?VAWI?S>S
J)jI?EUaPwjLK?SxyUa\IHN?>)PwjI?gWQFIHZUC\IHN?FQJLNHNLKgUvJLNAaV$LNV$JjILZ>PSUa>?>@jIATFIHZWG\b?\b?J@J)?ROJjUaVGJ)jI?E>@J)UCJLZPUCMIMIO)ATUTPwjI?S>Se/EAvu?Sxa?ROgvJ)jI?WQ^VUCD$LZP
UaMIMIO)ATUaPwj~LKVPRFIOw>pjILKcTjdO)FIVdJLND$?;AvxT?RO)jI?SUTWm>LKVPR?;JjI?UCHNHNAPSUvJ)AaOPATD;MbAaV?RVqJnO)FIVIVLKVIc}UCJp?Sxa?SO^}VIAQWQ?$VI?S?SWI>nJ)Aa?R?SMmJ)O)UTPw
AaBJjI?GLKV>@J)UaVqJ)UCV?RAaFX>HNATUaWMbAT>LKJLNAaV~UCJ?RxT?RO)^
AaJjI?SOEVIAQWQ?TeEV~PRAaVqJOwUa>@JSbLNV~Ut>@J)UvJ)LNPkJ)UT>@}UCHNHNAPSUvJ)LKATVUaHKcTAaO)LlJ)jIDJwUa>Q>EUCO)?
Mb?RO)DUCVI?SVTJ)HK^mUT>>LNcaVI?gWJAMIO)AQP?S>)>AaOw>EUvJnJj?$>^Q>[J)?RDLNVILKJLZUCHNLKgUvJLNAaV~JLND$?$UaVWdVIA
AvxT?RO)jI?SUTWLN>nLNVPFOO)?SWdWQFIO)LKVIc O)FIV~J)LKD$?Te
EHN>A6LKBE>@ATD;?$J)LKD$?g>kJwUa>>0UCO)?t\XATFIVWoJ)A~Um>LKVcaHN?MIOAQPR?S>)>@ATOkAaO0U~>@FI\X>@?RJ0ACBMIO)AQP?g>>AaOw>R#WQ^VUCD$LZP8UCHNHNAPSUvJ)LKATVru.AaFHNWo\b?
LNVI??SPJLNxa?Te
V
JjILZ>>?SPJLNAaV u?kWQLZ>)PF>)>.J[uA$MbAaMIFHNUaOWQ^VUCD$LZPO)?SUaHl_`JLND$?nJ)Ua>8UaHKHNAQPRUvJ)LKATV
UaHKcTAaO)LlJ)jID>Re

vR3M: ++r
0

?\r]+"*/4; 094
 *

*/4;VD

VJ)jILZ>D$?J)jIAQW5?Rxa?SO^GMIO)APR?S>)>@ATODUCLNVTJwUCLNV>J[u.ApJ)Ua\IHN?S>.PRUCHNHN?SWH")"02))+0 ,-r;UCVWHM )+r]C ,/3a0


)+0 ,-r.j?E>[JwUvJ)F>JwUC\IHN?
AaBUGMIOAQPR?S>)>@ATOPATVqJ)UCLNV>.LNVQBiAaO)DUvJLNAaV UC\bAaFQJ.Jj?JwUa>Q>ujLNPwj
LlJjUT>.PRAaD$D$LlJJ?gWtJ)A;O)FIV-QLNVPRHKFWILKVIc;LNVQBiAaO)DUvJLNAaV UC\bAaFQJJ)jI?
?R|?gPFQJ)LKATVhJLND$?
UaVWhMb?RO)LKAQWI>GACBJ)jI?tJwUa>>Sedj?
>^>@J?SD HKAqUaWrJ)Ua\IHN?
PATVqJ)UCLNV>kJjI?
HNUCJ?S>@JGHNATUTWhLNVQBiAaO)DUvJLNAaVhAaBEUCHNHAaJjI?SO
MIO)AQP?g>>AaOw>.ACB6JjI?G>@^Q>@J?RDeIO)AaD4JjI?kHZUvJ)?S>@JEHNATUaW LNVQBiAaO)DUvJ)LKATVUCJJjI?GACJ)jI?ROMOAQP?g>>AaOw>STJ)jI?0>FIO)MIHKFX>EPATD$MIFQJLNVIctPSUCMUTPLKJ[^
UyxvUCLNHZUC\IHN?nUCJJjI?kWILl?RO)?RVqJMIO)APR?S>)>@ATO)>PSUCV \X?kWQ?RJ?SOD$LNVI?SW5e
jI?GJLND$?Uv|QLN>nLZ>WQLNxqLZWQ?gWmLNVTJ)AuLKVWIAvu>R5ujILZPwjdUaO?;LNVTJ)?RO)xvUCHZ>EAaBzI|Q?SWrWQFIOwUvJ)LKATV-e0.JpJj?;?SVWmAaB?gUaPwj~uLNVWQAvu5?gUaPwj
MIO)AQP?g>>AaO6\IO)ATUTWIPRUT>[Jw>/J)AkUCHNHIACJ)jI?ROMOAQP?g>>AaOw>#JjI?BiOwUaPJLNAaV$ACB5PATD$MIFQJLNVIcMbAvu?SO6LKV$J)jI?VI?|JuLNVWQAvu]JjUCJLN>PFIO)O?SVqJHN^BiO?S?
BiATOLKJ  JjUCJLZ>RTJjI?BiOwUaPJ)LKATVACBJj?VI?R|JuLKVXWQAvuBiAaOujILNPwj8LlJ.jUa>VIA0PATD$D;LKJ@J)?SWtJ)Ua>Q>Re6xT?RO)^0MIO)AQP?g>>AaOATVtO?gP?SLKxLNVIckU
\IO)ATUTWIPRUT>[JBiOATDU0VIAQWQ?pUC\bAaFIJJ)jI?HNATUTWtMbAT>LlJ)LKATV8FIMWIUCJ?S>J)jI?n>^Q>[J)?RDHNATUTW$J)Ua\IHK?TejI?RV8J)UT>@Q>UCO)LN>?UCJ.UGVIAQWQ?aJ)jI?nVIAQWQ?
zOw>@JEPwjI?SPwQ>ujI?RJjI?SOJjI?pJwUa>
PSUCV \X?kMOAQP?g>>?SW
HNAPSUCHNHK^
UvJJj?VIAQWQ?aeBLKJPRUaV
\b?kMIO)AQP?g>>?SW5J)jI?RVLKJEFIMWIUvJ)?S>LKJ)>E>[JwUvJFX>
JwUC\IHN?aeB6VIACJgILKJHKAAaQ>.AaFIJBiAaOU;MIO)APR?S>)>@ATOJ)AujILZPwj
LKJPRUaV
A ATUaWtJjI?pJwUa>e
jILNHN?HKAAaLNVIc}AaFIJBiAaO0U}>FILKJ)UC\HK?MIO)AQP?g>>AaOg5Jj?tMIO)APR?S>)>@ATOPAaVX>@FIHKJ)>kLlJw>0>^>@J?SDHNATUTW~JwUC\IHN?$JAmWI?J?SOD$LNVI?J)jI?HK?gUa>@J
HNATUTWQ?SWdMIO)APR?S>)>@ATO)>LNVdJ)jI?t>^>@J?SD ujILZPwjrPSUCVoUaPSPAaD$D$AQWIUvJ)?;JjILZ>pJ)UT>@e$JpJjI?SVh>@?SVWI>ATFQoJ b6.>8- b?gTF?S>@JnBiATO\ILZWI>)J)A
J)jI?S>?MIOAQPR?S>)>@ATO)>SehjILNHK?}HNAAaLKVcdATFQJ$BiAaOUrMIOAQPR?S>)>@ATOSUaVYAvxa?SOHNATUTWQ?SWMIOAQPR?S>)>@ATO;PwjI?gPwQ>0LKJ)>t>FIO)MIHNF>;LKVQBiATODUCJLNAaV]UaVW
>?RHN?SPJ)>pU8MOAQP?g>>AaOpPRUaHKHN?SW]{J)jI?;BiAPRF>)>@?gW~MIO)AQP?g>>AaOekEAvu?Sxa?ROgbO?SD;?SD0\b?ROnJjXUvJpJjI?$LNVQBiAaO)DUvJ)LKATV]iL`e ?aekJ)jI?>@^Q>@J?SD HKAqUaW
JwUC\IHN?g.D$LNcajqJ\X?pAaFIJACBWUvJ?TejI?RO)?BiATO?TqJjI?SO?pLZ>UGHNLNa?RHNLNjIAAW8JjXUvJ\^JjI?pJ)LKD$?pJ)jI?MIO)APR?S>)>@ATOuLKJj?R|QPR?S>)>.HKAqUaW8>?RVXWI>U
JwUa>8J)A8U$BiAQPF>)>?SW}MIO)AQP?g>>AaOgJjI?0BiAQPF>)>@?gW}MIO)AQP?S>)>AaOD$LKcTjqJEjUyxa?GUCHNO?gUaWQ^ PwjUCVIcT?SW LKJ)>n>[JwUvJFX>EUCVXW\X?gPAaD$?GAvxa?RO)HNATUaWI?SW5e
AaOnJjILZ>nO?gUa>AaV-U
MIOAQPR?S>)>@ATOPRUaV~VIAaJp>LND;MHK^}AaX_HKAqUaWmU8J)UT>@ J)A UaVIACJ)jI?ROpVIAQWQ?;\Ua>?SWmAaVmJ)jI?$LKVIBiAaO)D$UCJLNAaVmLKJjUa>LNV~J)jI?
>^Q>[J)?RDHNATUTWtJwUC\IHN?ae
jI?$MIO)Aa\HK?SD ACBAa\>AaHN?J)?GLNVQBiATODUvJ)LKATVrUCJJjI?VAWI?S>pLZ>Avxa?SO)PRAaD$?0F>LNVIc JjI?$BiATHKHNAvuLKVc >@JOwUvJ)?Rca^TeMIOAQPR?S>)>@ATOn>?RVW>
ATFQJO?gqFI?S>@J)>.BiATO\ILZWr/ b6>)ATVIHN^8LKBLKJWQ?RJ?RO)D$LKV?S>J)jUvJJ)jI?J)UT>@8uATFIHNWPRAaD$MIHN?J?LNV JLND$?a?Sxa?SV uj?RV JjI?pJ)LKD$?kV?R?SWI?SW
J)Atca?RJEJj?0\ILZWI>EBiOATD4J)jI?0AaJjI?SOEMIO)AQP?S>)>AaOw>UCVWJ)jI?RVd>@?SVWQLNVIctAaFIJEJj?kJ)UT>@
JAtJjI?0BiAPRF>)>@?gW}MIO)APR?S>)>@ATOSejI?;PO)LlJ)?RO)LNU$BiATO
>?RHN?SPJLNVIcUGMOAQP?g>>AaODUy^t\b?\Ua>?SW
AaV
BUaPJATO)>>FPwjUa>MIO)Ay|QLKD$LKJ[^$JA$Jj?MIOAQPR?S>)>@ATOSqLlJw>?|IUTPJHKAqUaW
LKVIBiAaO)D$UCJLNAaV-Q?RJ)Pae

Version 2 CSE, IIT Kharagpur

jI?0BiAQPF>)>@?gW~UTWIWQO)?S>)>@LNVIc8UaVW}\ILZWIWQLNVIc>[J)O)UCJ?RcT^jIAvu?Sxa?SOLKVXPFIOw>njILKcTj~PATD$D0FIVILZPRUCJLNAaVmAvxT?RO)jI?SUTWLKVdDUCLNVTJwUCLNVILNVIctJ)jI?
> ^Q>[J)?RDHKAqUaWdJ)Ua\IHK?
UvJkJ)jI?tLNVWQLNxqLZWQFUaHMIO)AQP?g>>AaOw>Re
LKVXWQAvu>@LNR?tLZ>0UaVoLKD$MbAaOJ)UCVqJ0MXUCOwUCD$?J)?ROkWQ?RJ?RO)D$LKVLKVIcmJjI? PAaD$DGFQ_
VILZPRUCJLNAaVdAvxa?RO)jI?gUaWLNVPFIO)O)?SW5ekBJjI?;uLNVWQAvu>LKS?GLZ>pLNVPO)?SUT>@?gW5bJjI?SV~J)jI?PAaD$DGFIVILZPRUvJ)LKATVmAvxa?SOj?SUaW}WI?SPO)?SUT>@?g>5jAvu?Sxa?ROg
J)jI?LKVIBiAaO)D$UCJLNAaVhUvJkxvUaOLNAaF>nMIO)AQP?g>>AaOw>nuATFIHNWd\b?tAa\>AaHN?J)?aetjILZ>DUy^mHN?SUTW~J)AmU>PR?RVUaOLNAujI?RO)?$VIAaVI?AaBJ)jI?$BiAQPF>)>?SW
MIO)AQP?g>>AaOw>\ILZWI>WQF?J)A>[JwUvJFX>.PwjXUCVIcT?LNV8J)jI?puLKVXWQAvuWQFIOwUvJ)LKATV-e6B/J)jI?puLKVWIAvu WQFIOwUvJ)LKATV8LZ>JAA>@DUCHNHbJjUaV8J)jI?pLKVIBiAaO)D$UC_
J)LKATVtuATFIHZW\X?O?gUa>AaVUa\IHN^0FIMQJ)AQWIUvJ)?UvJJjI?LKVXWQLKxLZWQFUaHXMIO)AQP?g>>AaOw>Ra\IFQJ.JjI?nPAaD$DGFIVILZPRUvJ)LKATVAvxa?SOjI?gUaW;LNVtDUCLNVTJwUCLNVILNVIckJ)jI?
>@J)UCJF>.JwUC\IHN?S>u.AaFHNW
\X?FVUaPSP?RMIJ)UC\HK^tjLKcTj-e



V<,-;53a?\*-)"BC

jI?
\IFWIWI^UCHNcaAaO)LKJjIDJO)LN?S>0JA~AvxT?ROwPATD;?$J)jI? jILKcTjYPATD$D0FIVILZPRUCJLNAaVAvxT?RO)jI?SUTWrACBJj?8BiAQPFX>@?gWYUaWWQO?g>>LNVIc~UCVXWh\ILZWIWQLNVIc
UaHKcTAaO)LlJ)jIDe~jI?8\FWIWQ^hUCHNcaATOLKJjD LZ>0xT?RO)^d>LKD$LNHNUaO0J)A}BiAQPF>)>?SWUTWIWQO)?S>)>@LNVIc~UaVWo\ILZWIWQLNVIcdUaHKcTAaO)LlJ)jID\FQJ$WILl?ROw>kLNVJ)jI?
DUCVVI?ROLNVujILNPwj
Jj?pJ)UCO)ca?RJMIOAQPR?S>)>@ATO)>.UCO)?nBiAaFIVW-e
V8JjILZ>UCHNcaATOLKJjIDU0MOAQP?g>>AaO.PRUaV8\b?LNV UaV^;AaB/J)jI?EBiATHKHNAvuLNVIckJ[u.A;>@J)UCJ?g>R6FIVWI?RO)HKAqUaWQ?gWtUCVW8Avxa?SOHNATUTWQ?SW5ejI?p>[JwUvJFX>
AaB.U
VIAQWQ?$LN> 4
rt?\,/3a0
r
LKBLKJ)>pFQJ)LKHNLKgUvJ)LKATVdLZ>pHK?g>>J)jUCVo>@ATD$?0J)jIO?g>@jAaHZWmxvUCHNFI?ae;jUvJLZ>U8MOAQP?g>>Aa%O KILZ>>)UCLZW}JA\b?
FIVXWQ?RO)HKAqUaWQ?gWLlPB GJI N/jI?0MIO)AQP?g>>AaOLZ>>)UCLZWJ)At\X?;Avxa?SOHNATUTWQ?SW
LKBLlJw>FIJLNHKLNSUCJLNAaVmLZ>cTO?gUvJ?SOJjXUCVmJ)jI?kJ)jIO)?S>jIAaHZWxvUCHNFI?
Le ?ae GJINXe
=EVIHKLNa?8BiAQPF>)>@?gWUaWWQO?g>>LNVIcmUCVWY\ILZWIWQLNVIcLNVhJj?
\IFXWIWQ^UCHNcaATOLKJjD \IO)ATUTWIPRUT>[J0WIAq?g>0VACJGAQPSPFIO;MX?SOLNAQWQLZPRUCHNHN^oUCJ0J)jI?
?SVW8AaB#?Sxa?RO)^uLNVWQAvue MIOAQPR?S>)>@ATO\IO)ATUTWIPRUT>[Jw>ATVIHN^tujI?RV
Jj?p>@J)UCJF>AaBU;MIO)AQP?S>)>AaOPwjUCVIcT?S>?RLKJjI?SOBiOATDAvxa?SOHNATUTWQ?SW;J)A
FIVXWQ?RO)HKAqUaWQ?gWAaO6xLZP?.xa?ROw>)UIe/FIO@J)jI?ROgvujI?SVI?RxT?RO#JjI?>@J)UvJ)F>ACBXUMIO)AQP?S>)>AaO#PwjXUCVIcT?S>SgLKJWQA?S>#VIACJ\IO)ATUTWIPRUT>[J/JjILZ>6LKVIBiAaO)D$UCJLNAaV
J)AmUCHNHMIO)APR?S>)>@ATO)>pUaVWrHKLND$LlJw>kLKJkAaVIHN^mJ)AmU}>@FI\X>@?RJkACBMIO)APR?S>)>@ATO)>nPRUaHKHN?SWrLKJ)
> 
e8j?RO)?tUCO)?$>?RxT?ROwUCHPROLKJ?SOLZU \Ua>?SW
ATVhujILNPwjrJ)jI?8\IFXWIWQ^o>@?RJ0ACBUMIO)AQP?S>)>AaOLZ>0WQ?g>@LNcaVI?gW5e#LNOw>[Jg#LKJ;>jIAaFHNWrVIAaJ0\X?tJAAmHZUCO)ca?$VIACJ0JAA~>D$UaHKH`e VhD0FIHKJLK_`jAaM
VI?RJ[uATOQ>SqJjI?\IFXWIWQ^
>?JAaBU;MIO)AQP?S>)>AaOLN>.J[^MILZPRUaHKHN^J)jI?MIO)APR?S>)>@ATO)>JjXUvJEUCO)?pLlJw>LND;D$?gWQLNUCJ?VI?SLKcTj\XATO)>Se


o5'  o&  d "& T $




Ua>
>)PwjI?SWIFIHKLNVIc$J)?SPwjIVILZqFI?S>EPRUCV}\b?kF>?SW
J)A8UaPwjILN?RxT?p??SPJ)LKxT?BUCFHlJ_J)AaHN?ROwUCVPR?nLNV}O)?SUCHK_`JLND;?k>^Q>[J)?RD>SejILZ>LZ>EUaV ?RtPLN?RVqJ
J)?SPwjIVILZqFI?Ua>GLlJO)?SqFILNO?g>kxa?SO^oHNLlJJHN?O?gWQFIVWIUaVqJGjUaO)WQuUCO)?tO)?S>AaFIOwP?g>ReoUaFIHKJ@_`JAaHN?ROwUCVXP?8PSUCVY\b?UaPwjILN?RxT?SWh\^>)PwjI?SWQFHKLNVIc
UTWIWQLKJLNAaVUaHcajAT>@JGPATMILK?g>0LNVYUTWIWQLKJLNAaVoJA~JjI?
MIO)LKDUCO)^oPAaM^rACBEUJwUa>e~jI?8cTjIAT>@JGPRAaMILN?S>0D$Uy^rVIAaJG\b?8LZWQ?RVqJLZPRUaHJ)AmJ)jI?
MIO)LND$UaO^ PATMq^
\IFQJEDUy^
\X?;>[J)OLNMIMb?SW}WQAvuVxa?SO)>LNAaV>.J)jUvJpPRUCV\b?k?|Q?gPFQJ)?SWLNVm>@jIATO@J)?ROEWIFIO)UCJLNAaV>JjUaVJjI?kMOLNDUCO)^aejI?
cTjIAT>@JpPRAaMILN?S>ACB.WQLl?RO)?RVqJpJ)UT>@Q>nPRUaV~\b?;AvxT?RO)HKAqUaWQ?gWAaV~JjI?$>UaD$?;>HKAaJpUaVWmLNVoPRUa>?0AaB.U >@FXPRP?g>>?|Q?gPFQJ)LKATV~ACB.U8MIO)LND$UaO^T
J)jI?kPATOO)?S>MXATVWQLNVIc;\UaPwFIM DUy^\X?kWQ?gUCHNHKAQPSUvJ?gW5e
!

#P$  &

#R P"> $# o%5   &  R

.?S>LZWQ?S>kJjI?
JOwUaWQLKJLNAaVXUCHFX>@?
ACBEPHNAQPwQ>kLNV]U~PRAaD$MIFQJ)?RO;>@^Q>@J?RDPRHKAQPwQ>kLNV]Um>^Q>[J)?RD UCO)?tF>?BiFHBiATOkJ[u.A~DUCLNVMIFOMbAT>?S>S
WQ?RJ?SOD$LNVILKVc$JLND;?SAaFQJw>UCVXW8J)LKD$?k>@J)UaD;MLKVIcXeLKD$?SAaFQJw>UCO)?pF>@?RBiFIH5J)AtU$O?gUCHK_J)LKD$?pMIO)AacaOwUCD$D$?RO.LNVU$xvUaOLN?J[^tAaB>LlJ)FUvJ)LKATV>S
UaVWtLKJ)>.F>?LNVPRHKFWI?S>WQ?J)?RO)D$LKVILNVIcGJjI?nBUaLKHNFIO)?AaB#UJwUa>tWQFI?JAGJjI?pD$LN>)>LKVIcGACB6U0WQ?gUaWQHNLKV?aeLKD$?pAaFIJ)>UvJ\XAaJj8JjI?>?RVWQ?SO
UaVWYO)?SPR?RLNxa?SOG?SVWI>$LZ>?S>MX?gPLZUCHNHK^PRAaVxa?SVILN?RVqJGBiATOtPATD;DGFIVILZPRUCJLNAaVYLNVWQLZ>[J)OLN\IFQJ)?SW]?RVxLKO)AaVID$?SVTJw>RejI?R^]PRUCV\b?}F>@?gW]UT>
LNVWQLZPRUCJAaOw>.BiAaOEMXAq>>LK\HK?pJ)O)UaV>@D$LZ>>LNAaVtBUaFIHKJ)>ATOWQ?RHZUy^Q>RQATOBiAaOVAaVI?R|LZ>@J?RVqJO)?SPR?RLNxa?ROw>SeLKD$?k>@J)UCD$MILNVIcLZ>F>?BiFIH/LKVm>?RxT?ROwUCH
UaMIMIHNLNPSUvJLNAaVX>Re6.FQJUkMIO)AaD$LNVI?RVqJF>@?ACB-J)LKD$?>@J)UCD$MILNVIcGLN>.LNV8D$?S>)>Uaca?nPAaD$DGFIVILZPRUvJ)LKATV8UCD$ATVIckJwUa>>Se6jI?LZWQ?gU0LZ>J)jUvJJ)jI?
D$?S>)>)UCca?k>?RVXWQ?ROuATFIHNW}UaHN>ALNVPHNFWQ?0JjI?;PFIO)O?SVqJJLND;?;UCHNAaVIctU8D$?S>)>Uaca?aeLND;?;>[JwUCD$M>EVIACJnAaVIHN^
cTLKxT?pJjI?GO?gP?SLKxT?ROE>AaD$?
LZWQ?SUGUC\bAaFQJJjI?pUCcT?ACB/U0D$?S>)>Uaca?aT\IFQJPRUaV8UCHZ>@A0\X?F>@?gW$BiAaO.AaOwWQ?SOLNVIckMIFOMbAT>?S>SeLND$?>@J)UaD;MLKVIcGO?SHKLN?S>AaVtcTAAWtO?gUCHK_J)LKD$?
PRHKAQPw8>?RO)xLNPR?S>Se
%WQLZ>[J)OLN\IFQJ)?SW~>^Q>[J)?RDJ[^MILZPRUCHNHN^}jUa>AaVI?;PHNAQPwUCJn?gUaPwjmAaBJjI?$VIAQWQ?g>ReLl?RO)?RVqJPHNAQPw>LNVdU8>^Q>[J)?RD J)?RVWmJA
WILKxT?RO)ca?
>LKVXP?kLKJnLZ>EUaHKD$Aq>[JELND$MXAq>>LN\IHK?0JAtjXUyxa?J[u.A8PHNAQPwQ>JjXUvJO)FIV}?R|QUTPJ)HK^UvJJjI?;>UaD;?G>@Mb?R?gW5eEjILZ>EHZUaPw ACB>^VPwjIO)AaV^
UaD;ATVIc

Version 2 CSE, IIT Kharagpur

PRHKAQPwQ>/LZ>?|QMIO)?S>)>@?gWkUa>/Jj?   
UCVWGWQ?J)?RO)D$LKVI?g>-J)jI?UvJJ?RVXWIUCVqJWQOLKB{J6ACBIJ)jI?PHNAPwQ>#uLlJ)jkJ)LKD$?ae /UTPwpACBX>^VPwjIO)AaV^nUaVW
WQO)LKB{JUCD$AaVctPHNAPwQ>DUCT?S>J)jI?J)LKD$?0>@J)UaD;MLKVIc
UCVW
JLND$?RATFQJEAaMb?ROwUvJ)LKATV>LNVmUtWQLZ>[J)OLN\IFQJ)?SWO)?SUCHK_`JLND;?k>^Q>[J)?RD1D;?gUCVILNVIcTHK?g>>Se
jI?SO?RBiAaO)?aJ)A
jUyxT?GD$?gUCVILNVIcCBiFH6JLND;?SAaFQJw>UCVWmJLND$?_>[JwUCD$MILNVIc}>@MUaVIVILNVIc D;ATO?GJjXUCVrAaVI?;VIAQWQ?$ACBU
WQLZ>@JO)LK\IFIJ?SWr>^>@J?SD
J)jI?PRHKAQPwQ>VI?S?SW;JA0\X?E>^VPwjIO)AaVILNR?gW5e6jILN>DUCa?g>PHNAQPwG>^VPwjIO)AaVILNSUCJLNAaVUpxa?SO^GLKD$MbAaOJ)UCVqJLZ>)>@FI?ELKVtWQLZ>@JO)LK\IFIJ?SWtO?gUCHK_J)LKD$?
>^Q>[J)?RD>RejI?pBiATHKHNAvuLNVIcWQLN>)PFX>>LKATV>UCO)?pLKVqJ?SVWQ?gW8J)A$MIOAvxLZWQ?>@ATD$?n\XUa>LNPnLZWQ?SUT>O?ScTUCOwWQLNVIcGPRHKAQPw8>^VPwjIO)AaVILNSUCJLNAaV-e


!#"%$&%'(*),+-'&

jI?cTATUCHqACBPHNAQPwk>@^VPwjIO)AaVLKgUvJLNAaV0LN>J)AnDUaa?UCHNHPRHKAQPwQ>LKVGJj?VI?J[u.AaO)UCcaO)?R?AaVGJjI?SLKO6J)LKD$?xvUCHNFI?S>Se6IAaO6D$AT>@JWQLZ>[J)OLN\IFQJ)?SW
O)?SUaHl_`JLND$?UaMIMIHNLNPSUvJ)LKATV>RTLlJLZ>AaB{J?RVt>FQtPLN?RVqJJ)Aca?JJ)jI?EWQLK?RO)?RVqJPHNAQPw>ACB5U>@^Q>@J?RD%UCcTO?S?ATV$>AaD$?J)LKD$?xvUCHNFI?ujILZPwj$DUy^
\b?nWILl?RO)?RVqJBiO)AaD%J)jI?Eu.AaO)HNW;J)LKD$?p>[JwUCVWUCOwW5e~UCV^$ACB-^aATFD$LKcTjTJ.VIAvuJjUCJJ)jI?u.AaO)HZW;JLND;?n>[JwUCVWUCOwWLN>.PRUaHKHN?SW$FVILKxT?ROw>UaH
PRAqATO)WILKVUCJ?gWtJ)LKD$?8=EEeb=EELZ>\Ua>?SW ATV
J)jI?kLNVqJ?RO)VUCJLNAaVUaH-UvJATD$LNPnJ)LKD$?8#E@DUCLNVTJwUCLNVI?SWUCJUCO)LN>.\^
UyxT?ROwUCcTLKVIc;U
VFIDG\X?SOAaB5UCJATD;LZPEPRHKAQPwQ>BiO)AaD%HZUC\bAaOwUvJATOLN?S>UCO)AaFIVW;J)jI?Eu.AaO)HZW5e=E>@LNcaVXUCHZ>PRUaV\X?nDUaWQ?EF>@?ACB5J)jIOATFIcaj$J)jIO)AaFIcT/
j .p
0 .nHKAT\UCH-6Aq>@LKJLNAaVILNVIc ^Q>[J)?RDt.O)?SP?SLKxT?ROw>UCVW >@Mb?SPRLNUaHKLNR?gW O)UTWQLKA$>@J)UvJ)LKATV>Se
jI?SVJj?.PRHKAQPwQ>-AaBU>@^Q>@J?SD UaO?>@^VPwjIO)AaVLKS?SWpuLKJjkO)?S>MX?gPJAaVI?ACBQJj?PHNAQPwQ>-ACBQJ)jI?>@^Q>@J?RDyLKJLZ>#PSUCHNHK?gWpLKVqJ)?RO)VUCHPHNAQPw
>^VPwjIO)AaVILNSUCJLNAaV-ejI?RV >@^VPwjOATVILKgUvJ)LKATVtACB#UG>@?RJACB#PRHKAQPwQ>uLKJj>AaD$?E?R|qJ)?RO)VUCH5PRHKAQPw$LN>.Mb?ROBiAaO)D$?SW5LKJLZ>PRUaHKHN?SW8?|J?SOVUaH
>^VPwjIO)AaVILNSUCJLNAaV-epjI?RO)?$UCO)?kJ[u.A8DUCLNVdUaMIMIO)ATUaPwjmBiAaOnLKVqJ?SOVXUCH>@^VPwjOATVILKgUvJ)LKATV-P?SVTJ)O)UaHKLNR?gWmPHNAQPw}>@^VPwjIO)AaVLKgUvJLNAaVmUaVW
WQLZ>@JO)LK\IFIJ?SWPRHKAQPw8>^VPwjIO)AaVILNSUCJLNAaV-e
1
!

 &  o 2


!

 $P$ > &   '&2%  '&


Master

C1

C2

Cn1

Cn

Slave clocks

 LNcaFIO)? ?SVTJ)O)UaHKLNR?gW8>^VPwjIO)AaVILNSUCJLNAaV
>^Q>[J)?RD
VP?SVTJ)O)UaHKLNR?gW
PRHKAQPw8>^VPwjIO)AaVILNSUCJLNAaV-qAaV?nAaB#J)jI?kPHNAQPwQ>LZ>WQ?g>@LNcaVXUvJ?gW
UT>JjI?DUa>@J?SOPHNAQPwbejI?AaJjI?SOPHNAQPw>.AaB#J)jI?
>^Q>[J)?RD1UaO?PSUCHNHK?gW >HZUyxa?S>UaVWUCO)?a?SMQJLKV}>^VPwjIO)AaVILNSUCJLNAaV uLlJ)jJjI?DUa>@J?SOEPHNAQPwejI?kDUa>@J?SOPHNAQPw8LZ>UCHZ>@A>AaD$?J)LKD$?g>
PSUCHNHK?gW;JjI? 4365  7 8 7ejI?nUCO)O)UaVIca?SD$?RVqJACB5Jj?PHNAQPwQ>LKVtJjILZ>>)PwjI?SD;?EACB-PHNAQPw;>^VPwjIO)AaVILNSUCJLNAaV;jUa>>PwjI?SDUvJLZPRUaHKHN^;\X?S?RV
>jIAvuVLNVt#LNce e#V8LNce aJjI?nPHNAQPwc> k:9 j h UaO?J)jI?>HZUyxa?PHNAQPwQ>6JjUCJ.UaO?J)A0\b?E>@^VPwjOATVILKS?SW;uLKJjJ)jI?EDUa>@J?SOPRHKAQPwe
jI?>?RO)xa?SO6\IOAqUaWIPSUa>@J)>6LKJ)>6J)LKD$?J)AkUCHNHIACJ)jI?ROPHNAPwQ>BiATO>@^VPwjOATVILKgUvJ)LKATV;UCB{J?RO?Rxa?SO<^ ;N]JLND$?LNVTJ)?RO)xvUCH`efVPR?JjI?>@HZUyxa?
PRHKAQPwQ>.O?gP?RLNxa?U0JLND$?\IOAqUaWIPSUa>@JBiO)AaDJjI?DUa>@J?SOSQ>?JJ)jI?RLNOPHNAQPw8Ua>Mb?ROJ)jI?pJLND$?pUCJJjI?pDUa>@J?SOPHNAQPwbejI?MXUCOwUCD$?J)?RO
;'N>@jAaFIHZWo\X?
PRUCO)?BiFHKHN^dPwjIAq>@?SV-e B ;'NLZ>0PwjIAq>@?SVdJ)A}\X?8JAAm>D$UaHKH`#JjI?SVhJjI?8\IOAqUaWIPSUa>@JpBiOATD Jj?8DUa>@J?SOkLN>BiO?gTF?RVqJ
UaVW JjI?;>@HZUyxa?g>O)?RDUCLNVLKVmcTAAW}>^VPwjIO)AaVILNSUCJLNAaV uLlJ)j}Jj?0DUa>@J?SOEUvJUaHKH#JLND$?S>SX\FQJFIVVI?SPR?S>)>UaOLNHK^
jILNcajmPATD$D0FIVILZPRUCJLNAaV
AvxT?RO)jI?SUTW~LZ>LNVPFIO)O)?SW5e %B ;NLZ>0PwjIAq>@?SVrJAm\b?JAA}HZUCO)ca?T-Jj?RVoJj?
PHNAQPwQ>pD$Uy^rWQO)LlB{JGJAA}D0FPwjUaMUCOJS=
e -?RJ0F>0UT>>FID$?
J)jUvJJ)jI?0DUC|LND0FD1OwUvJ)?ACBWQO)LlB{JE\b?J[u.?R?SVJ[uALNVWQLNxLNWIFUCH6PHNAQPw>LN>EO?g>[J)OLZPJ)?SW
J?
A >beJ>jIAaFIHZW\b?kMXAq>>LN\IHK?kJA8WQ?RJ?SOD$LNVI?
J)jI?DUv|QLKDGFID4WQO)LKB{JO)UCJ?p\X?RJ[u?S?RVUCV^J[u.APHNAPwQ>SIPHNAQPwD$UaVFQBUaPJFIO)?ROw>.F>@FXUCHNHK^8>Mb?SPLKBi^tJ)jILZ>Ua>ATVI?pACBJjI?>MX?gPLKzXPRUCJLNAaV
MUaO)UaD$?J?SO)>.AaB6UPRHKAQPwejI?MUaO)UaD;?RJ?SO >tLN>FVILlJHK?g>>>LNVP?pLKJED$?SUa>FIO)?S>WQO)LlB{J;{JLND$?gMb?ROEFIVILKJJLND$?ae FMIMXAq>@?kPRHKAQPwQ>UCO)?
O)?S>^VPwjIO)AaVILNR?gW;UCB{J?SO?Sxa?RO)@
^ ;NLKVqJ?SOxvUaHejI?SV-qJjI?nWQOLKB{JACB#UaVq^$PHNAQPw;BiOATD J)jI?EDUT>[J)?ROPHNAPw$uLNHKHb\b?\bAaFIVXWQ?SW8\qA^ >-;'Nke
OATDJjILZ>SILlJEPSUCV \X?kPRAaVPRHKFXWQ?SW
JjXUvJJj?D$UC|QLKDGFID4WQO)LlB{J\b?J[u.?R?SV}UCV^$J[uAPRHKAQPwQ>uLKHNH-\b?HKLND$LlJ)?SW
J
A :>B;'Nke


Version 2 CSE, IIT Kharagpur

 sM09C ,-r  MD>>FID$?EJ)jUvJJjI?nWQO)LlB{JO)UCJ?\b?J[u.?R?SV8UCV^;J[u.A0PHNAQPw>LN>O)?S>@JO)LNPJ?SW;J)A > Q


   e FIMIMbAT>?Eu.?EuUCVqJJ)A
LND$MIHK?SD$?RVqJU>^VPwjIO)AaVILNR?gW0>?JACB>@LK|0WQLZ>[J)OLN\IFQJ)?SW$PHNAQPwQ>#FX>@LNVIcJjI?PR?RVqJOwUCHQ>^qVXPwjIOATVILNSUvJ)LKATV0>)PwjI?RD$?>@AnJjXUvJ6JjI?DUv|QLND0FID
WQO)LKB{JE\X?RJ[u?S?RV}UCV^8J[uAPHNAQPwQ>LN>O?g>[J)OLZPJ)?SW
JAQ kUvJEUaV^tJLND$?abWQ?J)?RO)D;LNVI?pJ)jI?kMb?RO)LKAQWuLKJjujILZPwjJjI?0PRHKAQPwQ>VI?S?SW
J)A;\b?O)?S>^qVXPwjIOATVILNR?SW-e
 3a, R)+*-354 D6jI?.DUv|QLKDGFID WQO)LlB{JO)UCJ?\b?J[u.?R?SV0UCV^J[uAUCO)\ILlJ)O)UaO^nPHNAQPw>#ujI?SVJjI?.PHNAQPw>UCO)?>^VPwjIO)AaVILNR?gWpF>@LNVIcEUP?SVTJ)O)UaH
J)LKD$?>?RO)xa?SOuLKJj8UO)?S>^VPwjIO)AaVILNSUCJLNAaV;LKVqJ)?RO)xyUaHAaB ;'NLZ>cTLKxT?RV\^ :>B;'N ge6jI?RO)?BiATO?TCJ)jI?EO)?SqFILNO?gW$O?g>@^VPwjOATVILKgUvJ)LKATV
LNVqJ?RO)xvUCH ;'N PRUCV \b??|QMIO)?S>)>@?gW
UT>R

;'NT
   
  " Q    + Q   + Q Y+


jI?SO?RBiAaO)?aO)?S>^qVXPwjIOATVILNSUvJ)LKATV8Mb?RO)LKAQW
D0F>@J\b?HK?g>>.J)jUCV Ya>Se
"

V}J)jI?$UC\bAvxa?kPRUaHNPRFIHZUvJLNAaVX>Rbu?GjUyxa?0LKcTVIAaO)?SW J)jI?;PRAaD$D0FVILNPSUvJ)LKATVJLND;?TenjXUvJpLN>SJ)jI?GJLND;?;LKJEJ)Uaa?g>BiATOU8PRHKAQPw JLND$?


I\ O)ATUTWIPRUT>[J6J)A\X?O)?SPR?RLNxa?SW$UCJJjI?AaJjI?SOPHNAQPw>Se LKD$LNHNUaOHN^aau?jUyxT?Ua>)>@FID$?gW0J)jUvJAaVPR?avJ)jI?EPHNAQPw0\IO)ATUTWIPRUT>[Jw>6UCO)?.O)?SPR?RLNxa?gW5
J)jI?GPRHKAQPwQ>UCO)?k>?JEJ)AJj?kO?gP?SLKxT?SW JLND$?kLNV>[JwUCVqJHN^aeEAvu?Sxa?SOSILNVmO)?SUaHKLKJ[^8LKJEJwUCa?g>U$zVLlJ)?GUCD$ATFIVqJACBJLND$?JA >@?RJUtPRHKAQPwe
jI?SO?RBiAaO)?aXFIVIHN?S>)>J)jI?GPRAaD$D0FIVLNPSUvJLNAaVJ)LKD$?$UCVW}JjI?0JLND;?0JA >@?RJEJj?GPHNAQPw
LZ>n>@FILKJ)Ua\IHN^PRAaD$Mb?RV>)UvJ)?SW5XJjI?;>@^VPwjOATVILKS?SW
J)LKD$?pDUy^\X?gPAaD$?>HKAvu.?ROUCVW
>@HNAvu.?RO.uLlJ)j
O)?S>MX?gPJJAUaV8?|J)?RO)VUCH5PHNAQPwTJ)jIAaFcaj
JjI?S^tuATFIHZW8UCD$ATVIc0J)jI?RD>?RHNxa?g>O)?RDUaLKV
>^VPwjIO)AaVILNR?gWdUaD;ATVIc JjI?SD>@?SHKxT?S>puLKJjILNVoJjI?t>Mb?SPLKz?gWd\bAaFVW5e
EAvu?Sxa?SOS5LKJ0LZ>xa?SO^~WILltPFHlJJ)AmPAaD$Mb?RV>)UvJ)?$JjI?g>@?$J[u.A
J)?RO)D$>kLKVhMIOwUaPJLZPRUaH>@^Q>@J?SD$>Se8r?tHN?SUyxT?GJ)jILZ>0Ua>0UCVo?|Q?ROwPLZ>?$JAJj?tO?gUaWQ?SOpJA~WI?J?SOD$LNVI?$Jj?tO)UCJ?tUCJkujILNPwjU}PR?RVqJOwUCHNHN^
>^VPwjIO)AaVILNR?gW8PHNAQPwtu.AaFIHZW
WIOLKB{JuLlJ)jO?g>@Mb?SPJJAUCV ?|J?SOVXUCH-PHNAQPwe


 M P">


#P


>&  '& 2%#




C1

&
C5

C2
C3

C4

 LNcaFIO)?oQELZ>@JO)LK\IFIJ?SW~HNAQPw ^VPwjIO)AaVLKgUvJLNAaV
jI?DUCLNV0MIO)Aa\IHN?RD uLKJj0JjI?P?SVqJOwUCHNLKS?SWPHNAQPw>@^VPwjIO)AaVLKgUvJLNAaVk>)PwjI?SD;?LN>#J)jUvJ6LlJ6LZ>>F>)P?SMQJLN\IHN?J)A>LKVIcTHK?MXATLKVqJBUCLNHKFO?Te
EVq^8BUCLNHKFO?pACBJj?D$UT>[J)?ROPRHKAQPw8PSUCF>?S>.\IO)?SUaWIAvuV8ACBJj?k>@^VPwjIO)AaVLKgUvJLNAaV >Pwj?RD$?aeLN>@JO)LN\IFQJ?gWPHNAPw
>@^VPwjIO)AaVLKgUvJLNAaV
AvxT?ROwPAaD$?g>-J)jILN>>@?Sxa?RO)?jXUCVWQLZPRUaMGAaBXJ)jI?P?SVqJOwUCHNLKS?SW0PRHKAQPw0>^VPwjIO)AaVILNSUCJLNAaV0>)PwjI?SD;?Te#V$WQLZ>[J)OLN\IFQJ)?SW$PHNAQPw0>^qVXPwjIOATVILNSUvJ)LKATV-
J)jI?RO)?LN>VIApDUa>@J?SOPRHKAQPwuLKJj$O?g>@Mb?SPJ#J)ApujILNPwj;UCHNHI>@HZUyxa?.PHNAQPw>6UaO?JAp\X?>?Jge.FQJgaUCHNHJjI?PRHKAQPwQ>ACBXUp>^>@J?SDUCO)?DUTWQ?J)A
Mb?RO)LKAQWQLZPRUaHKHN^t?R|QPwjXUCVIcT?EJ)jI?RLNOPHNAQPwO?gUaWQLNVIcT>UaD;ATVIc;JjI?SD>@?SHKxT?S>Se6UT>@?gWtAaV
Jj?O?gP?RLNxa?gWJ)LKD$?O)?SUaWILKVIcq>.?SUaPwjPHNAQPwLKV J)jI?
>^Q>[J)?RDPAaD$MIFIJ?S>JjI?n>@^VPwjIO)AaVLKS?SW0JLND;?TqUaVW>?J)>LlJw>PRHKAQPwGUTPRPRAaOwWQLKVcaHN^8>?R?ELNce ae6EAvu?Sxa?SOSCLKJLZ>MbAT>)>@LN\IHN?JjUCJ.>AaD$?
PRHKAQPwQ>UCO)?\UaW ATO\X?gPATD;?\XUaWWQFIO)LKVc$JjI?0>^Q>[J)?RD1AaMb?ROwUvJLNAaV/eUaWPHNAQPwQ>?|QjILN\ILlJHNUaOcT?pWIOLKB{J)>  WQO)LlB{Jw>HZUCO)ca?RO.J)jUCVJ)jI?
DUCVFQBUTPJ)FIO?gW}>@Mb?SPRLlzX?SW JATHK?SO)UaVP?TeUaWPHNAQPw>EDUy^
?Sxa?RV}>@JATMma?S?RMILNVIc$JLND$?GUaHKH/JAacT?J)jI?ROgeIATO@J)FIVUvJ)?RHN^aJjI?G\UaW}PRHKAQPwQ>
PSUCV0\b?.?SUa>LNHK^pLZWQ?RVqJLKz?gWGUaVWJwUCa?SV0PRUaO?ACBXWIFIOLNVIcp>@^VPwjOATVILKgUvJ)LKATV\q^pO)? F[?gPJLNVIcJjI?.J)LKD$?.xyUaHKF?S>ACBXUaV^pPRHKAQPwpujILZPwjGWQLK?ROw>
\^
UaV^
UCD$ATFIVqJEHNUaOcT?RO.JjXUCVJj?0>@Mb?SPRLlzX?SW\bAaFIVW-eD;ATO?LNV>LNWILKATF>MIO)Aa\IHN?RD1LN>EMXAq>@?gW \q^.^SUCVqJ)LKVI?kPRHKAQPwQ>Se.^SUaVQ_
J)LKVI?$PHNAQPwLN>nUtJ[u.AC_`BUaPR?SW}PRHKAQPweJPRUaV}JOwUCVX>@D$LKJpWQLK?RO)?RVqJxvUCHNFI?g>J)A WQLK?RO)?RVqJpPRHKAQPwQ>EUCJJ)jI?$>UaD;?0JLND$?aepVdLNce I/

Version 2 CSE, IIT Kharagpur

LZ>U.^qgUCVqJLNVI?PHNAQPwJjUCJLN>>@?SVWQLNVIcnJLND;?xvUaHKFI?$JAnJj?PHNAPw$
UaVWYmJ)ApJjI?PRHKAQPw; nUvJ6J)jI?>UaD$?J)LKD$?LNV>@J)UCVqJge
JjUT>\b?R?RVMOAvxT?SW0JjUCJLlB5HN?S>)>6JjXUCV$AaVI?JjILNO)W;AaBbJ)jI?EPRHKAQPwQ>UCO)?\UaW$ATO^gUCVqJLNVI?kiL`e ?ae6VIAD$AaO)?JjUaV$AaVI?ATFQJACBbBiAaFO
UaO?\UTWAaOn^gUCVqJLNVI?gIJ)jI?RVmu.?kPRUaV}jUyxa?pJ)jI?0cTAAWPRHKAQPwQ>EUaMIMIO)Ay|LNDUvJ)?RHN^8>@^VPwjOATVILKS?SW5ejI?0BiAaHNHKAvuLNVIcLZ>Jj?G>)PwjI?RD$?
BiATO>@^VPwjOATVILKgUvJ)LKATVGAaBbJ)jI?EPRHKAQPwQ>R,e -?RJJjI?SO?E\X?VtPRHKAQPwQ>6LNVtUk>@^Q>@J?SD e6UTPwj;PRHKAQPwGMX?SOLNAQWQLNPSUCHNHK^G\IO)ATUaWPRUa>@J)>6LKJ)>JLND$?xvUCHNFI?
UCJEJj?0?RVXW}ACBPR?ROJ)UCLNVmLNVqJ?RO)xvUCH`eEE>)>FID$?kJjXUvJnJjI?;PHNAPwQ>ELKV}J)jI?$>@^Q>@J?RD UCO)?kO)?SqFILNO?gW JA
\X?$>@^VPwjOATVILKS?SW uLKJjILNV JLND$?
FIVLlJw>ACB#?gUaPwj
ACJj?ROge6j?RO)?BiAaO)?ELKBUGPRHKAQPwO)?SP?SLKxT?S>.UkJ)LKD$?\IO)ATUTWIPRUT>[JJjUCJWQLl?ROw>BiOATDLKJ)>AvuVtJ)LKD$?pxvUCHNFI?p\^D;ATO?JjXUCV
pJ)LKD$?tFVILlJw>R/JjI?SVoLlJ0PSUCVoWQ?J)?RO)D;LNVI?$J)jUvJJ)jI?t>@?SVWQLNVIc}PHNAQPwmD0F>@Jk\b?tU
\XUaWrAaVI?UaVWo>UCBi?RHN^mLKcTVIAaO)?GJjI?O)?SPR?RLNxa?SW~JLND$?
xvUCHNFI?g>ReUTPwj8PHNAQPwUyxa?ROwUCcT?S>6ATFQJUaHKHcTAqAQW$J)LKD$?pxvUCHNFI?S>O)?SP?SLKxT?SWtUCB{J?SO.UG\IO)ATUaWPRUa>@J>@J?SM
UCVXW8>?J)>LKJ)>JLND$?nxvUaHKFI?uLlJ)j8J)jILZ>
UyxT?ROwUCca?nxvUCHNFI?aejILZ>>)PwjI?RD$?jUT>\X?S?RVmMO?g>@?SVTJ)?SW LNV MX>@?SFWQA8PRAWI?pBiAaO)D4LNVJjI?BiATHKHNAvuLNVIce.UaPwj}PRHKAQPw
I PSUCO)OLN?S>ATFQJJ)jI?
BiATHKHNAvuLKVc;ATMX?SO)UCJLNAaV>S
# ?@3M:Yr
?@r
*/ )"?@*  R)+r
:Y,-3M:&
% M4:+B?@3a4*-.Y02)"*/3a4cD

 
 

 
 '  !
""#$
%  l #IRm U l& w '   ( ) (  *,++ -). /
) 
0  021  1 .  1 %43 0  1  1 .'  1 %43 0 " U 
#I  1  1 .'  1 %53 0 +(  ' (
) )6,++7 0
1 (8 1 %43 090
:
; .' 1  1<)0 ( 3= ;'10 1 %43 0
>

sEACJ?J)jUvJ?gUaPwj$PHNAQPw0ACBbJj?E>@^Q>@J?SDLKVXWQ?RMb?RVWI?RVqJHN^;PSUCO)OLN?S>6ATFQJJj?>UaD;?>?JAaB>@J?SM>Se B5UCHNHIVtPRHKAQPwQ>6ACB5UWQLZ>[J)OLN\IFQJ)?SW
Byzantine
C1

t+e

C5

te

C2
C3

C4

LNcaFIO)? I.^SUCVqJ)LKVI?0HNAQPwtLN>EU;u.AUTP?SW}HNAPw
e
C1

e
C2

e
C3

C1"

 LKcTFIO? X6O)LlB{JE.?J[u.?R?SV u.A8HKAQPwQ>LNVO?g>@?SVP?nACB6.^qgUCVqJLNVI?0HNAPwQ>


>^Q>[J)?RDPRUaOO)^$AaFQJJ)jI?nUa\XAvxT?>@J?SM>RIUaVW8UCJD;Aq>[JD4PRHKAQPwQ>ATFQJACB/VPHNAQPwQ>UaO?n\UaW-UaVW? & @PdqJ)jI?RV u?p>jIAvuLNV8J)jI?
BiATHKHNAvuLKVcGJ)jUvJJ)jI?caAAQW
PRHKAQPwQ>uLNHKH-\b?k>^qVXPwjIOATVILNR?SW8uLlJ)jILNV ACB \bAaFIVW-e
h
r?zOw>@J.>jIAvuLKVtJjI?BiAa!HNA HKAvuLNVIcJ)jI?RATO?SD%JjUCJ.U0.^SUaVqJLNVI?PRHKAQPw$PRUCV8D$Uaa?J[u.A0cTAAWPRHKAQPwQ>.WQLl?RO.LNVtJj?RLNO.PRAaD$MIFQJ)?SW
UyxT?ROwUCca?EJLND$?\q^
UvJD$AT>@J e
h
 E4GIH  A 3  47 3         5
3 KJLG    MH  3NGO: ?P RQSHG 43NG    HG 5TH  0
&UH 73 47!H 7     =3NG9H
D Br]38?@r]C F
5   : 3 V  7

   




h 3NG 4 365  W8 H: 5M


6J  7  < 7 YX 7  ZG  KJ  F5 HR[ 365 - 5\X  7 5 3 % 3   7 3 ]%%
0

4G 4
&   Z ^

%

Version 2 CSE, IIT Kharagpur

# @? 3M35x D /?JFX>PRAaV>LNWI?ROJ)jIO)?R?GPRHKAQPwQ>n / Q- tACBU8WQLN>@JO)LN\IFQJ?gW~>^Q>[J)?RD Ua>n>@jIAvuV}LNV~LNce IeVr#LNce)I- tUaVWd 


UaO?J[u.A8cTAAW~PHNAPwQ>UCVWo LZ>U
^gUCVqJLNVI?GPRHKAQPwej?;PRHKAQPwQ>n 8UCVWo 8UCO)?kO)?SqFILNO?gW}VIAaJEJA WQLKb?SOn\^D$AaO)?kJ)jUCV 
UT>>@jIAvuVrLNVrLNce Ie8  \b?RLNVIcmU^gUCVqJLNVI?PHNAQPwm>@jIAvu>nJ[u.AWQLl?RO)?RVqJkxvUCHNFI?g>nJAd UCVWh QesEAvu5JjI??Rb?gPJkAaBJ)jI?
.^SUaVTJ)LKV?PHNAPw0LKV$J)jI?JAaJ)UaHl_`JLND$?PRUCHZPFHNUCJLNAaV$LN>JAkDUCT?.JjI?J[u.AcaAAQW$PHNAQPw>WILl?RO\q^;UvJD$AT>@J @ UT>>@jA AvuVGLNVtLKcXeXe
jI?SO?RBiAaO)?J)jI???SPJAaBbUn>@LNVIcaHN?^gUCVqJLNVI?PHNAPwkPSUCVGD$Uaa?J[uAnUCO)\ILKJOwUCO)^pPRHKAQPwQ>#LKV$U>^Q>[J)?RD J)AnWILl?RO\^ h LNVGJLND;?xvUCHNFI?Te
AXaBiATO .^qgUCVqJLNVI?EPRHKAQPwQ>PSUCVDUCT?J[u.AkcaAAQWtPHNAQPwQ>WQLKb?SO\^UvJ.D;Aq>[J   4LNV8Uyxa?SO)Uaca?PATD$MIFQJ)UCJLNAaV-eOATD J)jILZ>LKJ
BiATHKHNAvu>JjXUvJ/BiO)AaD Jj?JLND$?PATD$MIFQJ)UCJLNAaV\^JjI?LKVWILKxLZWQFUCHPHNAQPwQ>RSJjI?LKVWILKxLZWQFUCHPHNAQPwQ>5uLKHNHq\X?>^VPwjIO)AaVILNR?gWnuLlJ)jILKV !ACB e
h"
/?JJjI?pJ)LKD$?O)?SqFILNO?gWtBiATO ;PHNAPwQ>.J)A$WIOLKB{JBiOATD  J)A\X? ;'Nke6ATOS


;'N>H

ATOS

m 


;'NT  Pm   >




" R-8 a
e
jI?SO? ;'N LN>J)jI?pJLND$?O?gqFILKO)?SW8BiAaO GcTAqAQW PHNAQPw>J)AtWQOLKB{JBiO)AaD   J)A Se
r?VIAvuJ)jUvJ
;Ne     >m  


;'N  *>
" S -8 T
e

r?VIAvu LKHNHKFX>[J)O)UCJ?J)jI?0PATD$MIFQJ)UCJLNAaVACBJj?0>@^VPwjOATVILKgUvJ)LKATV
Mb?RO)LKAQW
BiAaOJjI?0WILN>@JO)LK\FQJ?gW}PHNAPw >@^VPwjOATVILKgUvJ)LKATV UaHKcTAC_
O)LlJ)jID4FX>@LNVIcUCV ?|IUCD$MIHN?ae
 sM09C  ,-r'  MD /?JUpWQLN>@JO)LN\IFQJ?gW0O)?SUaHl_`JLND$?.>^Q>[J)?RDjXUyxa? PRHKAQPwQ>SaUCVW0LlJLZ>O ?gqFILKO)?SWkJApO)?S>@JO)LNPJ#J)jI?RLNODUv|QLKDGFIDWQO)LKB{JJ)A
 Q T,
e /?JJ)jI?DUv|QLND0FID%WQO)LlB{J.ACBbJjI?EPRHKAQPwQ>Mb?ROFVILlJJLND;?; >Q6\b?
  e?J)?RO)D;LNVI?J)jI?O)?SqFILNO?gW$>@^VPwjIO)AaVLKgUvJLNAaV
LNVqJ?RO)xvUCH`e
 3a, R)+*-354 D.IO)AaDJ)jI?kWQ?SOLNxvUvJLNAaV
BiAaOWILN>@JO)LK\FQJ?gW PRHKAQPw8>^VPwjIO)AaVILNSUCJLNAaV-u.?pjUyxa?

;'N7Q  

  



;N Q +
jF>.J)jI?O?gqFILKO)?SW >^qVXPwjIOATVILNSUvJ)LKATV8LNVqJ?RO)xvUCH5LZ> $>?SPR>Se
"


    # 

OLN\IFQJ)?SW
 P VATD;JjIMLZFQ>8J?SPwO)jX>SUCeMQJ)?RUaOt>
u.>)?PwjIz?SOwWQ>[FJ
HKLNWIVILNc>)PLNFV >)>DG?SWFIHKJjILNMIAvuOAQPRO?S?g>)UC>@HKAT_J)OLKD$UCV?WJwWQUaLZ>>[J)>8OLN\IPRUCFQVJ)?SW}\b?d>^Q>)>[PwJ)jI?R?SDWI>FIHKLZ?g>WU$AaD0VFD0PwjFD$HlJ)LKAaMIO)O)?kAQPP?gAT>D$>AaMIOtHK?RUa|
VMIWO)AaWQ\LZ>[HK?SJ)D
JjXUCV
JjI?FVILKMOAQP?g>>AaO>)PwjI?SWQFHKLNVIc$MIO)Aa\IHN?RDe

Version 2 CSE, IIT Kharagpur

LNV DGFIHlJ)LKMOAQP?g>>AaO UCVW WQLZ>[J)OLN\IFQJ)?SW >@^Q>@J?RD>PATV>LN>@J)> ACB0J[uA>@FI\I_


 dIM O)?oAa\I>)HNUy?RDu>SJjJ)UCUTJ
>@J)jIUC?rHNHNAJ)PSUTUv>@J)LKAT>)VPwjIJ?SAtWILNFIVHKWQLNVILNxc]LNWQMIFXOUCATH/\IMHN?ROD<
AQP?g>>AaOw>UCVXWJ)UT>@>Pwj?SWQFIHNLNVIctUvJJjI?GLKVWILKxLZWQFUCH#MIO)APR?S>)>@ATO)>SejI?kJwUa>




CU HNHKAQPSUvJLNAaV
MIO)Aa\IHN?RDLZ>UaV s_jUCOwWtMIO)Aa\HK?SD e
VUnWILN>@JO)LK\FQJ?gWGO)?SUaHl_`JLND$?>@^Q>@J?RDTLlJLZ>xLlJwUCHJ)AjUyxa?UCHNHJj?PHNAPwQ>6LNV;JjI?E>^Q>[J)?RD>>^qVXPwjIOATVILNR?SW0uLlJ)jILNVtUaPRPR?RMQJwUC\IHN?
JATHK?SO)UaVP?Te#r??|IUCD$LNVI?SW UP?SVqJOwUCHNLKS?SW8UaVWU$WQLN>@JO)LN\IFQJ?gWPHNAPw
>@^VPwjIO)AaVLKgUvJLNAaV >Pwj?RD$?S>Se
?RVqJOwUCHNLNR?SW
PHNAQPw8>@^VPwjOATVILKgUvJ)LKATV8LZ>>@F>)P?SMQJLN\IHN?pJA>LKVIcTHK?pMbAaLNVqJBUCLNHKFIO)?aefV
JjI?AaJjI?SOjUCVXW5U$WQLZ>[J)OLN\IFQJ)?SWPHNAQPw
>@^VPwjOATVILKgUvJ)LKATV~>Pwj?RD$?PRUCVra?S?RM~JjI?cTAqAQWrPHNAQPw>nLNVrUWQLZ>@JO)LK\IFIJ?SWo>^Q>[J)?RD>^VPwjIO)AaVILNR?gWmAaVHK^mLKBVIA
D$ATO?;JjXUCV
!
ACBJjI?kPRHKAQPwQ>UCO)?\XUaW AaO.^SUCVqJ)LKVI?Te

#

!  


e )J UCJ?pujI?RJjI?SO^aATF PRAaV>LNWI?RO.JjI?pBiATHKHNAvuLNVIc>[JwUvJ?SD$?RVqJ)> D {(  AaOvJ<   0e


aF>@JLKBi^t^TAaFIOUaV>@u.?ROLNV?SUaPwj PRUT>@?Te
Uq fMQJ)LKDUaH>Pwj?RD$?S>6BiATO>Pwj?SWQFIHNLNVIcjUCOwWGO?gUCHK_J)LKD$?J)UT>@Q>6LNV$D0FIHKJLNMIO)APR?S>)>@ATOPATD;MFQJLNVIc?RVxLNOATVID$?RVqJ)>6jUyxT?\X?S?RV
WQ?SxLN>?SW \^8>FILlJwUC\IHN^t?R|qJ)?RVWILKVIc$J)jI?knYUaHKcTAaO)LlJ)jIDe
i\X =>@LNVIcJjI?WQLZ>[J)OLN\IFQJ)?SW0PRHKAQPwp>@^VPwjOATVILKgUvJ)LKATVk>PwjI?SD$?avLKJLZ>/MbAT>)>LK\IHN?J)AT?R?SMJjI?.caAAQWkPRHKAQPwQ>-AaBACBUnWQLZ>[J)OLN\IFQJ)?SW
>^Q>[J)?RD4jXUyxqLNVIc ;PHNAQPwQ>.>^VPwjIO)AaVILNR?gW5QujI?SV8J[u.A$ACBJjI?kPRHKAQPwQ>UCO)?nVIAvuV
JA$\b?k.^qgUCVqJLNVI?Te
PS
VhUWQLZ>[J)OLN\IFQJ)?SWrjUCOwWdO?gUCHK_J)LKD$?PATD;MFQJLNVIc?RVxLKO)AaVD;?SVqJS5JwUa>~UCHNHKAQPSUvJLNAaVdJALNVWQLNxLNWQFXUCHVIAQWQ?g>pF>LKVIcmU \ILNV
MUTPwLKVIc
UCHNcaAaO)LKJjID1LKV~PRAa@V F[FVPJ)LKATVmuLlJ)j}J)UT>@>)PwjI?SWQFHKLNVIc8UCJEJj?0LNVWQLNxqLZWQFUaH#VAWI?S>FX>@LNVIcJ)jI?GUCHNcaATOLKJjD
PSUCV \X?k>jIAvuV
JA\b?pJjI?D$AT>@JMIO)ACzXPRLK?SVTJge
W jI?GBiAQPF>)>?SWmUTWIWQO)?S>)>@LNVIc8UaVW}\ILZWIWQLNVIc
UaHKcTAaO)LlJ)jIDF>@?gW}BiATOEJwUa> UaHKHNAQPRUvJ)LKATVmLNV~WQLZ>[J)OLN\IFQJ)?SWmO)?SUaHl_`JLND$?G>^Q>[J)?RD>
>@J)UCJLZPRUCHNHN^8UCHNHKAQPSUvJ?g>.J)UT>@Q>JAVIAQWQ?g>Re
i?g jI?kBiAPRF>)>@?gW}UaWIWQO)?S>)>LKVIcUaVW\ILZWIWQLNVIc8UCHNcaATOLKJjDBiAaOJ)Ua>UCHNHKAQPRUCJLNAaV}PRUaVjUCVWIHK?0WI^qVXUCD$LNPJ)Ua>
UaOO)LNxyUaHN>UaVW
LZ>>FILlJ)?SW
BiAaOFX>@?pLNV DGFIHKJLNMIOAQPR?S>)>@ATO@_\Ua>?SWtO?gUCHK_J)LKD$?>@^Q>@J?SD$>Se
{B).FWIWI^UaHKcTAaO)LlJ)jID>$O?gTFLKO)?}HK?g>>8PAaD$DGFIVILZPRUvJ)LKATVAvxa?RO)jI?gUaWYPRAaD$MUaO?gWYJ)AoBiAQPF>)>@?gWUaWIWQO)?S>)>LKVIchUaVW\ILZWIWQLNVIc
UaHKcTAaO)LlJ)jID>LNVD0FIHKJLNMIO)AQP?S>)>AaOO?gUCHK_J)LKD$?nJ)UT>@
>PwjI?gWQFIHNLKVce
ic8jI?8\ILKVI_`MUTPwLKVIcm>)PwjI?SD;?LZ>J)jI?tATMQJLNDUCHUaHKcTAaO)LlJ)jID BiATO0UCHNHNAPSUvJ)LKVIcmU}>?JGACBMX?SOLNAQWQLZPO?gUCHK_J)LKD$?$JwUa>>JA}J)jI?
VIAQWQ?g>ACB6WQLZ>[J)OLN\IFQJ)?SW>@^Q>@J?SD e
ijX
VU~WQLZ>[J)OLN\IFQJ)?SW>@^Q>@J?SDuj?RVJ)jI? D;?g>>)UCcT?8PATD$D0FIVILZPRUCJLNAaVhJ)LKD$?LZ>0VIATVQ_R?RO)A~UaVWY>LKcTVILKzXPRUaVTJg6JjI?>LKD$MIHN?
LNVqJ?RO)VUaH6>^VPwjIO)AaVILNSUCJLNAaVm>)PwjI?RD$?;F>LKVIcU8JLND;?>?RO)xa?SOEDUCT?S>EJjI?>^qVXPwjIOATVILNR?SW}JLND;?$LNVPO)?RD$?SVTJwUCHNHK^}WQ?SHNUy^T?SW
\^tJ)jI?Uyxa?SO)Uaca?ED$?g>>)UCcT?EJ)O)UaV>@D$LZ>>LNAaV
JLND;?kUCB{J?SO?Rxa?SO^t>^VPwjIO)AaVILNSUCJLNAaV
LKVqJ?SOxvUaHe
Ie|QMIHZUCLNVuj^;UaHKcTAaO)LlJ)jID>6JjUCJ.PSUCV\b?F>?SW>)UvJ)LN>@BUaPJATOLNHK^0JA;>PwjI?gWQFIHN?O)?SUCHK_`JLND;?J)Ua>Q>ATVD0FIHKJLNMIO)APR?S>)>@ATO)>ACB{J?SV8UCO)?
VIACJ>)UvJ)LN>@BUaPJAaO)^$JAt>)PwjI?gWQFIHN?nO)?SUaHl_`JLND$?nJ)Ua>Q>.AaV}WQLZ>[J)OLN\IFQJ)?SW>@^Q>@J?SD$>SIUCVXW8xLZP?_xa?SO)>)U
eV~U8WILN>@JO)LK\FQJ?gW~>^>@J?SD>LK|}PRHKAQPwQ>VI?R?gW}JA
\X?$>^qVXPwjIOATVILNR?SW J)A
U8D$UC|QLKDGFID WQLKb?SO?SVP?GACB  CD ?SPk\X?RJ[u?S?RVdUaV^
J[uAtPRHKAQPwQ>Se>>FID$?kJ)jUvJEJjI?GLKVWILKxLZWQFUCH6PHNAQPwQ>jUyxa?kUtD$UC|QLKDGFID O)UCJ?ACBWIOLKB{JEACcB    ecaVAaO)?kPHNAPw >@?RJ@_FIM
JLND$?S>UCVXW PRAaD$D0FVILNPSUvJ)LKATV
HZUvJ)?RVPRLK?g>Re
UqtjUCJLZ>#JjI?OwUvJ)?UvJ6ujILZPwjkJ)jI?.PRHKAQPwQ>#VI?R?gWJAn\b?.>^VPwjIO)AaVILNR?gWF>LKVIc;iL{U>LKD$MIHN?P?RVqJ)O)UaHaJ)LKD$?>@?SOxT?RO/D$?RJjIAQW
LKL{>LKD$MIHN?pLKVqJ?SOVXUCH->^qVXPwjIOATVILNSUvJ)LKATVdUyxa?ROwUCcTLKVcqD$?RJjIAQW
i\X
jUCJLN>JjI?kPRAaD$D0FIVLNPSUvJLNAaV
Avxa?SOjI?gUaW8LKV?SUTPwj
AaB/J)jI?pJ[uA>)PwjI?RD$?g>
PS >>FID$LKVc0J)jI?nUyxT?ROwUCcT?EPATD;DGFIVILZPRUCJLNAaVtHZUvJ)?RVPR^$JA;\X? Ie D>?SPCqujUCJ.u.AaFIHZWt\b?JjI?WQO)LlB{JACB/JjI?p>@^VPwjOATVILKS?SW
J)LKD$?uLKJjO?g>@Mb?SPJJA;Jj?k=EEBiAaO?SUTPwj
AaB#J)jI?nJ[uA>^VPwjIO)AaVILNSUCJLNAaV
>)PwjI?SD;?g>
Xe Uqtj^mLZ>nJjI?PRHKAQPw}O)?S>AaHNFQJLNAaVdMIOAvxLZWQ?SW}JAO?gUCHK_J)LKD$?;MIO)AacaOwUCD>E\q^dWQLl?RO)?RVqJkPATD$D;?SO)PRLNUaH#O)?SUaHl_`JLND$?GATMX?SO)UCJLNVIc
>^Q>[J)?RD>OwUCO)?RHN^pzVI?ROJjUaVGBi?SujqFVWQO)?SWI>AaBbD$LNHKHNLZ>@?gPAaVXWI>JjIATFIcaj$cTLKcqUj?ROJPHNAQPwQ>UCO)?.FX>@?gWG\^0JjI?g>@?>^Q>[J)?RD>


Version 2 CSE, IIT Kharagpur

i\X}.UaVGPHNAQPwpO?g>@ATHKFQJ)LKATVpzVI?SO#J)jUCVGD$LKHNHKLZ>?SPATVWI>#\X?.MIO)AvxLNWQ?gWpJAnO)?SUCHK_`JLND;?MIO)AacaOwUCD>-UCJ6UaHKH 8BX^a?g>Ry\IO)LN? ^p?|QMIHZUCLNV


jIAvue

Iej^kLN>LlJVI?gP?g>>)UCO)^pJAk>^VPwjIO)AaVILNR?JjI?PRHKAQPwQ>6LNV$UpWQLZ>@JO)LK\IFIJ?SW;O)?SUaHl_`JLND$?>^Q>[J)?RD LN>)PF>)>Jj?O?SHNUCJLNxa?UaWQxvUaVTJwUCcT?S>
UCVW WQLZ>UTWQxvUCVqJ)Uaca?g>AaB/J)jI?kP?SVTJ)O)UaHKLNR?gW
UaVW WQLN>@JO)LN\IFQJ?gWPHNAPw
>@^VPwjIO)AaVLKgUvJLNAaV >Pwj?RD$?S>Se
eE?g>PROLN\b?kJj? ] 
%% H 7 
% 3NGO HG 3 3NGO$UCVWmJjI
?  G>PwjI?SD$?S>EBiAaOnOFIVVILKVc
U8>?JpACBO)?SUaHl_`JLND$?kJwUa>>LNV~U
WQLZ>[J)OLN\IFQJ)?SW?SVqxLNOATVID$?RVqJSeATD;MXUCO)?JjI?g>@?EJ[uA;>Pwj?RD$?S>uLlJ)j8O)?S>MX?gPJJAGPRAaD$D0FVILNPSUvJ)LKATVtAvxa?SOjI?gUaW$UCVXW8>)PwjI?SWQFHKLNVIc
MIO)ACzXPRLK?SVP^Te


Version 2 CSE, IIT Kharagpur


     !" $#&%('*),+
!- +
.0/,12436587:9;11<24=<3>3? 27A@B1<3>=C9D 36EBF89G>H993IE,123JFLKM@ONP=;1C7A/Q1R=37A5TSU1<FTKM31<7:9VW9<GC243IEBH5TFL/4X*13IGC2/4FLYQH439>Z [3624FTXP245LFTXP2P1<3IE,127A1
1<FTKM3>5L\]@4=<N^E4HG$1<FTNP/_NA`a=39;H5b1C9FL/c7:G>G>N:=CE47A/OG3M1Nd7e@42^\B9;F8G>7:5fG5LNBGCVdF89g^FT1<7A5f1Ne1<243h9<7i1<FL9;`j7:G1NP=\dN:@k3>=C7i1FLN:/]N:`a7l=37A5TSU1<FTKM3
9\B9m1<3>KnZo[d3p2O7:En7A589;NM@kN:FL/Q13IE&NPHB1R127A1q=37A5TSU1<FTKM36N:@k3>=C7i1<FT/Xr9\B9m1<3>Ks97A=<3J@4=FLKs7A=<FT5L\W=<3I9@ONP/9FTt45L3J`uN:=a3I/9;H=FL/4Xr127A13>gP3>=<\
=<3I7:5bSv1FLKM3q1C7:9VsKr3I31C9RFb1C91FLKr3I5TFL/4399R=<3IYQH4FL=3IKM3>/Q1<9IZowx=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4XM9;\B9;13>KyFT/h1H4=</n7:GC24FL3>gP3I9f124F89Rt^\WH9FT/4Xs7:@4@4=<NAS
@4=<F87i13z1<7P9;Ve9<GC243IEBH5TFL/4XW1<3IGC24/FLYQH439>Z6{NP=Ks7A5L5L\:|k=37A5TSU1<FTKM3zNP@O3I=<7A1FL/4X,9\B9m1<3>Ks9q@=Nig^F8EB3}3>~BFTt4FL5LFb1m\&1Nh123z@4=<N:XP=<7:KrKM3I=<9R1<N
93>5L3IG1 7:/*7A@@4=NP@4=<FL7A13f9<GC243IE4H45TFL/4XJ@ONP5TF8G\7:KMN:/4XJ9;3Ig:3>=C7A5Q9;H@4@ONP=;1<3IEz@ONP5TF8GFL3I9IZ-3>@5TNi\^KM3>/Q1 NA`O7:/*7A@@4=NP@4=<FL7A13o1C7:9V9GC243EBH45TS
FL/4Xe1<3IGC24/4F8YQH43WNPHB1zNA`R1<243h9H4@4@kN:=13E13IGC2/4FLYQH439F89p1<243>=<3`uNP=3W7:/_FTKM@kN:=1<7A/Q1*G>N:/G>3>=</`uN:=3Ig:3>=<\=<3I7:5bSv1FLKM3s@4=<N:X:=C7AKMKM3>=Z
"NstO3r7At45L361NhEB31<3>=<KrFL/43p1<243z9H4FT1<7AtFT5LFb1m\&NA`7s9<GC243IE4H45TFL/4X,7:5TXPN:=<Fb1<24K`uNP=7MX:FLg:3I/n@4=NPt45L3>Kn|O7r1<24N:=<N:H4XP2nH4/EB3I=<9;1<7:/EBFL/4XsNA`
1<243JGC2O7A=C7:G$1<3>=<FL9;1F8G>9fNA`gi7:=FLN:H9 =<3I7A5TSv1FLKr3q1<7P9;Vs9<GC243IEBH5TFL/4X*7:5TXPN:=<Fb1<24Ks9fF89FTKM@kN:=1<7:/P1Z [d31243I=3>`uN:=<3q27PE,7*=<7A1243I=f3I5L7:tONP=<7A13
EBF89<GH9<9;FLN:/,N:/W=<3I7:5bSv1FLKM31<7P9;Vs9<GC243IE4H45TFL/4Xz13IGC2/4FLYQH439 7:/EWG>3>=1<7AFL/W=<3>587i1<3IEsF899H439 9HGC2,7P9 927A=<FL/4XNA`-G=<Fb1<FLGI7A5k=39;NPH4=<G>3I97:/E
27:/EB5LFT/X*1C7:9V,EB3I@O3I/EB3>/OGFL3I9IZ
.0/12FL9*? 2O7A@B1<3>=|D3s3~47AKMFL/43r1243WFLKM@ONP=;1C7A/Q1p`u3I7A1H4=<3I9J1<27i1z7n=<3I7:5bSv1FLKM3MN:@k3>=C7i1FL/4Xe9\^9;13IKF89p3~B@k3IG13IEd1<Nl9;H4@@ONP=;1Z
q/45T399"1<243I93f`u37i1<H4=39"7:=37:EB3YQH7i1<3>5L\69H4@4@kN:=13Et^\7A/*N:@k3>=C7i1<FT/4XJ9;\B9;13IK&|iFT1 tO3GN:KM391<NJ9<7i1<FL9;`j7:G1NP=FL5T\JFLKr@5T3IKr3I/Q1oG>3>=1<7:FT/
GI7i13IX:NP=FL3I9NA` =<3I7A5TSv1FLKr3p7:@4@45LFLGI7i1FLN:/O9RN:/&124F89aNP@O3I=<7A1FL/4Xs9;\B9;13>KnZ[3zEBF89<GH9<91NsDa27A13~^13I/Q1a12439;3=<3IYQH4FL=<3IE,`u3I7i1<H4=<3I9a7A=<3
9H4@4@kN:=13EMtQ\*123qgi7A=<FTNPH9G>N:KMKM3>=CGF87A5L5T\r7g7:FT587At5T3a=<3I7:5bSv1FLKM3N:@k3>=C7i1<FT/4X9\B9m1<3>Ks9IZ "NXQ7AFL/M7tO3>1;13I= FL/9FTXP2Q1I|QD 3q7:5L9NpFL/QgP3I9;S
1<FTXQ7i131243FL/Q13I=/7:5L9NA`1243N:@k3>=C7i1<FT/4X9\B9m1<3>Ks9 1<N3~47AKMFL/43a1<2433~47PG$1DR7\^9FT/sDa24F8GC2M123q=<3IYQH4FL=3Ez`u37i1<H4=397A=<39H4@4@kN:=13IE
Z
"Nl7A@4@=3GF87i13s9N:KM3sNA`R1<243M`uH4/E47:KM3>/Q1<7:5fF899H43I9z7i3IG$1<FT/Xn1243,E43I9FTXP/]7:/E_EB3Ig:3>5LN:@Kr3I/Q16N:`7e97A1F89m`j7PG$1NP=\=37A5TSU1<FTKM3
NP@O3I=<7A1FL/4Xh9\B9m1<3>Kn|D 3MEBF89G>H9<9q1<243M@4=<N:t45L3>Ks9127A1JDN:H5LEdG=<N:@H@FT` N:/3r7A1;13IKM@B1<9J1<NhH93M7,XP3>/43I=<7:5"@4H=@kNP93*NP@O3I=<7A1FL/4X
9\B9m1<3>K9;HGC2c7P9/Fb~_N:=z[FT/E4NiD9p`uN:=rEB3>gP3>5LN:@4FL/4Xe=<3I7:5bSv1FLKM3W7A@4@45LF8G>7i1<FTNP/9IZn7A/^\d=<3I7:5bSv1FLKM3sN:@k3>=C7i1<FT/4Xl9\B9m1<3>Ks9z7:=3W7A1
@4=<3I93>/Q1z7gi7AFL587At45L3WGNPKrKM3I=<G>FL7:5T5L\:Zh[d3,7:/7A5L\^>3W9N:KM3s@kN:@4H4587A=*=37A5TSU1<FTKM3sNP@O3I=<7A1FL/4Xe9;\B9;13>Ks9I|-7:/E]FL/QgP3I9;1FLXP7A13sDa2^\l1<243I93
@kN:@4H5L7:=9;\B9;13>Ks9oGI7A/4/4N:1otO3aH93IEr7:G>=NQ99 7:5T547:@4@45LFLGI7i1FLN:/O9>Z"[d37:5L9N63~47AKMFL/431243R6^.09m1C7A/E47:=<E`uN:=o=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4X
9\B9m1<3>Ks9a7A/E&FT1<9RFLKM@45TF8G>7A1FLN:/9IZ
R24F89zGC2O7A@B1<3>=zF89NP=XQ7A/4FL>3E]7:9p`uNP5T5LNiD9IZl"FL=C9m1|oD 3,E4FL9<GH9<9p1<243,FLKM@ONP=;1C7A/Q1z`u37i1<H4=39p1<27i1M7A=<3sH9;HO7A5L5T\=3YQH4FT=<3IE1<Ntk3
9H4@4@kN:=13Eet^\&7,=37A5TSU1<FTKM3NP@O3I=<7A1FL/4X,9\^9;13IKnZq[3*9;1<7A=1qt^\eEBF89G>H99FL/4Xs123z1<FTKM3*93>=<g^FLG>3z9H4@4@kN:=1<9@=Nig^F8EB3IEnt^\&1243*=37A5TS
1<FTKM3pN:@k3>=C7i1<FT/XM9\B9m1<3>Ks9I|49;FL/G37PG>G>H4=<7A1367A/E&24FLX:2&@4=<3IG>FL9FTNP/&G>5TNBGCVB9a7A=<3Jg:3>=<\WFLKM@ONP=;1C7A/Q1R1NM1239;HGIG399;`uH45N:@k3>=C7i1<FTNP/&7:/^\
=<3I7:5bSv1FLKM37A@4@45LF8G>7i1<FTNP/
Zo^H4t93IYQH43I/P1<5T\P|PD3qEBF89<GH9<9o1<243F899H43I9127A1 7A=<F89;3aFT`
D 37A1;1<3>KM@B1f1<NH93q7pXP3>/43I=<7:54@4H4=<@ONQ9;3aNP@O3I=<7A1FL/4X
9\B9m1<3>K9HGC2r7P9"q/4FT~zN:= [FL/EBNiD9-FT/M7=37A5TSU1<FTKM3R7A@4@45LF8G>7i1<FTNP/9IZ"{3>~^1I|AD3 3>~B@45L7:FT/r24NiD9N:KM3NA`41<243`uH4/E47:KM3>/Q1<7:5B@4=NPt45L3>Ks9
7P99NBGF87i13ElDaFT12]1<243M1=C7:EBFT1FLN:/O7A5oN:@k3>=C7i1<FT/Xn9\B9m1<3>Ks9sj7P9J`j7A=z7P96=37A5TSU1<FTKM3s7A@@45TF8G>7A1FLN:/9p7:=3MGNP/G3I=/3IE67:=3rNig:3I=<G>N:KM3*FL/
1<2431<243rG>N:/Q13IKM@ONP=<7:=\h=37A5TSU1<FTKM3NP@O3I=<7A1FL/4XW9;\B9;13IKM9IZq[31<243>/9;H=gP3>\h9N:KM3*NA` 1243rFLKr@kN:=1<7:/Q1`u3I7A1H4=<3I9NA`o1<243*EBFT3>=<3>/Q1
=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4Xp9;\B9;13IKM9o127A1 7A=<3RtO3IFT/4XG>N:KMKM3>=CGF87A5L5T\zH9;3EZ "FL/7:5T5L\:|PD 3aF8EB3>/Q1<Fb`u\M9;NPKM3N:`O1<243FLKM@ONP=;1C7A/Q1@7A=C7AKM3>13>=C9
t7P9;3E,NP/hDa2FLGC2ngi7A=<FTNPH9=37A5TSU1<FTKM3p9\^9;13IKs9aG>7A/&tk3ptO3I/GC24Ks7A=<V:3EZ
I,q ha
? 5LNBGCV^9o7:/E*1FLKM39;3I=g^F8G3I9 7:=3a7AKMNP/4Xp9;NPKr3RN:`O1<243at7:9F8G`j7:GFL5LFb1<FT39 @4=Nig^F8EB3IEz1Np@=NPX:=C7AKMKM3>=C9t^\z3Ig:3I=\p=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4X
9\B9m1<3>KnZpR243z1<FTKM3M9;3I=g^F8G39@4=<Nig^FLEB3Eet^\e7A/NP@O3I=<7A1FL/4X,9\B9m1<3>K7A=<3t7P9;3EeN:/7,9NA`1mDR7A=<3zG5LNBGCVeG>7A5L5L3IEn1<243r9\B9m1<3>KG>5TNBGCVZ
R2439\B9m1<3>KG5LN^GCVhFL9KM7:FT/Q1C7AFL/43IE&t^\W1<243N:@k3>=C7i1<FT/XM9\B9m1<3>KV:3>=</43I5t7:93IE&N:/&1<243FL/P1<3>=<=H@B1<9R=<3IG>3>FLg:3IEh`u=<N:K1<24327:=<E4D7:=3
G>5TNBGCVZ^FT/OG3J27A=CEs=<3I7A5TSv1FLKr3J9;\B9;13IKM9H9H7:5T5L\M27g:3q1FLKrFL/4XMGNP/9m1<=<7:FT/Q1C9o12O7i17A=<3qN:`
1243JN:=CEB3I=fNA`-7`u3IDKMFLG>=Nr9;3GN:/OE49>|Q1<243

Version 2 CSE, IIT Kharagpur

9\B9m1<3>K G5LNBGCV&924N:H5LEe2O7g:3z9H  GFL3>/Q15L\ /43*=39;NP5THB1<FTNP/1<Nh9H4@4@kN:=1q123z/43G3I9<9<7A=<\W1FLKM3r93>=<g^FLG>3I9IZNiD3>gP3>=|EB39;FLX:/43I=<9qNA`


=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4Xs9;\B9;13>Ks9/E&FT1g:3I=\WEBF  GH45T1a1Ns9H4@4@kN:=1 /43p=<3I9N:5LHB1FLN:/&9;\B9;13>KG5LN^GCVB9IZ .0/&G>H4==<3>/Q1R13GC24/4NP5TNPX:\:|Q1<243
=<3I9N:5LHB1FLN:/dNA`R27A=CEBDR7A=<3*G>5TNBGCVB96FL
9 O/43>=p1<27A/]7n/7:/4NP93IG>N:/E jGNP/Q13>KM@kN:=C7A=<\e@4=<N^G>3I9<9;NP=J9@k3>3IE963~4G3I3IE  q$ZHB1|
1<243
G>5TNBGCVz=<3I9N:5LHB1<FTNP/*tk3>FL/4XKs7:E437g7:FT587At5T3at^\zKMNBEB3I=/M=<3I7A5TSv1FLKr3aNP@O3I=<7A1FL/4Xp9;\B9;13IKM9o1Np1<243@4=<N:XP=<7:KrKM3I=<9"FL9fN:/45L\zN:`1243aNP=<EB3I=
N:`-93>g:3I=<7:5KMFL5T5LF93IGNP/E49 N:=RDN:=C9;3PZ 31aH9 =C9m1aFL/QgP3I9;1FLXP7A13qDa2^\s=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4Xr9\B9m1<3>K EB39;FLX:/3>=C9 O/E,FT1EBF  G>H45T11<N
Ks7AFL/Q1<7:FT/n9;\B9;13IKG5LNBGCVB9RDaFb1<2n9H  GFL3>/Q1<5T\ /436=39;NP5TH41FLN:/
Zo[361243I/n3~47AKMFL/436g7:=FLN:HO91FLKr393>=<g^FLG>3I9 12O7i1q7A=<36t4H4FL5b1t7:93IE
NP/,1<2439;\B9;13IKG5LNBGCV|47A/EhKs7:EB3p7gi7AFL5L7:t45L31<Nr1243p=<3I7:5bSv1FLKM3J@=NPX:=C7AKMKM3>=C9>Z
R243p2O7A=CEBD7:=3pG>5TNBGCV,FL/l7WG>N:KM@4HB1<3>=@k3>=<FTNBEBF8G>7:5T5L\,XP3>/43I=<7A139RFT/Q13I==<H4@B1C9zjNA`13I/lG>7:5T5L3IEh1FLKM3*93>=<g^FLG>3JFL/Q13I==<H4@B1C9<ZRw`13I=
37:GC2G>5TNBGCVnFT/Q1<3>=<=H4@41I|123*VP3>=</43>5-H4@E47i1<3I91243M9NA`1mDR7A=<3zG5LNBGCVn7:/E7:5L9N,@k3>=`uN:=<Ks9G>3>=1<7:FT/lN:1243I=6D NP=V]u3>~^@5L7:FT/43ElFL/^3G
 Z Z $Zzw 12=37:EGI7A/X:3>11<243sGH4=<=3I/Q11<FTKM3M=37:EBFL/4XhNA`f1<243s9;\B9;13IKG5LN^GCVet^\lFL/^g:NPVQFL/4X&7h9\B9m1<3>KGI7A5L5 9H4@4@kN:=13Elt^\e1<243
NP@O3I=<7A1FL/4X,9\^9;13IK j9HGC2d7P9a123rR6^.0
!#"$$&%('&"*),+AZ R24-3 /43I=q1<243z=<3I9N:5LHB1FLN:/NA`o123rG>5TNBGCV|1<243rKrNP=3`u=3YPH3>/Q1
/43I3IE1Nntk3*1<243r1FLKM3M93>=<g^FLG>3*FL/Q13I==<H4@B1C9J7:/Ed5L7:=XP3>=JFL9J1<243s7AKMN:H4/Q16NA`@4=NBG>3I9<9;NP=q1<FTKM3r1243MVP3>=</43>5o9@O3I/E496FL/d=<3I9@ONP/EBFL/4X
1<Ne12439;3,FT/Q13I==<H4@B1C9>ZeR24F89NigP3>=<243I7PE@5L7PG3I9z7e5TFLKMFb1C7i1<FTNP/_N:/_24Ni.D /43hFL91243,9\B9m1<3>KG5LNBGCV=<3I9N:5LHB1FLN:/_7lG>N:KM@4HB1<3>=zGI7A/
9H4@4@kN:=1IZ w/4N:1243I= FL9<9;H3 1<27i1GI7A@9"123=<3I9N:5LHB1<FTNP/zNA`O1243a9\B9m1<3>KG5LNBGCVpFL9-1<27i1 1<243R=39;@kN:/93 1FLKr3RN:`12/3 0#!#"$1$%('&"*)2+
9\B9m1<3>K GI7A5L5oFL9/4NA1zEB3>13I=KMFL/4FL9;1F8GAZ,.0/]`j7:G$1|3Ig:3>=<\9\B9m1<3>KGI7A5L5quNP=6`uN:=p1<27i1Ks7i113I=3>gP3>=<\e`uH4/G1FLN:/_G>7:5T5JFT/^gPN^GI7i1<FTNP/d27P9
9N:KM3,7P99NBGF87i13E 3mFb113I=I Z 4a3>KM3IKztk3>=1<27i
1 3mFT1;13I=*DR7:9*EB(3 O/43IEc7P91<243hE4Fb3>=<3>/G>3,tk31mD3>3I/_1243hD NP=<9;1;S0G>7P9;3s=<3I9@kN:/93s1FLKM3
7:/E&1243ztO39m16G>7:93p=<3I9@ONP/9;361<FTKM3,U9;3I3*^3GA6Z 5BZ 4Z ZR2463 3mFb113>=JF89qG>7:H93IE&@7A=15L\&N:/e7:GIGN:H/P1N:`oFT/Q13I==<H4@B1C927g^FL/4Xs24FLX:243I=
@4=<FLN:=<Fb1m\&12O7A/9\B9m1<3>KG>7:5T589IZJ[23>/d7:/FL/Q13>=<=<H4@B16N^GIGH4=C9I|1<243M@4=NBG>3I9<9;FL/4XWN:` 7,9\B9m1<3>KG>7:5T5-F89J9;1<7:5T5L3IE
Z6R23*@4=<N:t5T3IK X:31C9
7:X:X:=C7gi7i1<3IE&FT/d123z`uNP5T5LNiDaFT/Xh9Fb1<H7i1<FTNP/
Zw589;NO|k1243r@4=<3>3>KM@B1<FTNP/l1<FTKM3MNA` 9\B9m1<3>K G>7:5T5896G>7:/lgi7A=<\&tk3IGI7AH93rKM7:/^\&NP@O3I=<7A1FL/4X
9\B9m1<3>Ks9MEBFL9<7At5T3&FT/Q1<3>=<=H4@41<9rDa24FL5T3&@4=<N^G>3I9<9;FL/4X7d9\B9m1<3>K GI7A5L5UZR23hgi7A=<F87i1FLN:/FT/ 1243n=<3I9@ONP/93W1FLKM3_7 3mFT1;13I=CrFL/Q1=<NBEBHG39
7:/d3I==<N:=JFT/1<243s7:G>G>H4=C7:G\eN:`f1<243M1FLKM3rgi7:5TH43r1<27i1p1<243WG>7:5T5LFT/X,1<24=37:EdX:3>1<9J`u=<N:K 1<243MV:3>=</43I5UZr.0/G>N:KMKM3>=CGF87A5L5T\l7gi7:FT587At45L3
NP@O3I=<7A1FL/4Xr9\B9m1<3>Ks9I2| 3mFT1;1<3>=C9a7:9<9;NBG>FL7A13IE,DaFb1<2&9\B9m1<3>K GI7A5L5L9aGI7A/,tk3p9;3Ig:3I=<7:5OKMFL5T5LFL93IG>N:/E9>ZoR24F89 3mFb113I=aFT/Q1=<NBEBHG>3I9a7A/h3>=<=NP= FL/
1<2431FLKr3=<3I7:E4FT/4XQ9NPtB1<7:FT/3IEt^\7@4=<N:X:=C7AKnZw9NA`1mDR7A=<3 G5LNBGCV6=39;NP5THB1<FTNP8/ /43I=-127:/z1<24FL9-3I==<N:="FL9"123>=<3`uN:=<3/4NA1 KM3I7A/FT/4X:`uH45vZ
[3p/4NiD 3~47AKMFL/4361243*EBFb3>=<3>/Q17PG$1<FTg^FT1FL3I9R1<27i17:=3pGI7A=<=FL3IEhN:HB1tQ\&7M27A/OEB5T3I==<N:HB1<FT/437A`13I=q7sG5LNBGCV,FL/P1<3>=<=H@B1NBG>GH=<9IZ
^Ht9;3YQH43>/Q15L\:|D 3pEBF89G>H9<9R24NiDx9H  GFL3>/Q15L\ O/436=39;NP5THB1<FTNP/&GI7A/&tO3p@=Nig^F8EB3IEhFT/h123p@4=39;3I/G36N:9` 3mFT1;1<3>=FL/&`uH4/G$1<FTNP/eG>7A5L589>Z
:<;=:

>@?BADC#EFGHJILKKM6NHPOQK#ADC&ISR1R1TBGU

V 7:GC2c1<FTKM3e7]G5LNBGCV_FT/Q13I==<H4@B1sNBG>G>H4=C9>|tk3I9F8EB3I9MFL/G=<3>KM3I/P1<FT/X1<243l9;N:`1mD7:=3&G5LNBGCVk|1243e27:/EB5L3>=M=<N:HB1<FT/43eGI7A=<=FL3I9*N:HB1M1<243
`uNP5T5LNiDaFT/XM7PG$1<FTg^FT1FL3I92W
Expiration time
t4=15

t3=3

t2=3

t1=1

Handler Handler
2
1

"FLX:H=3 WQ1<=HOG$1H=3pN:`-7MRFTKM3I=
XH43>H3

Y[Z\0]L^!_1`a`QbacedP_\f_g9_1h&b2`i 4a3I7:5bSv1FLKM3hNP@O3I=<7A1FL/4Xd9\B9m1<3>Ks9*KM7:FT/Q1C7AFL/3>FT123>=r@O3I=;S @4=<N^G>3I9<91<FTKM3I=MYQH43IH43I9*N:=M79;FL/4X:5L3


9;\B9;13IK*S DaF8EB3r1FLKr3I=*YQH43IH43:Z,R23,9m1<=HOG$1H=3MNA`9HGC2_7h1FLKr3I=*YQH43IH43s27:9tO3I3>/_9;2NiDa/FL/_-FTXOZ  Z Zhw1FLKM3>=zYQH43IH43
GNP/P1C7AFL/97:5T51FLKr3I=<9 7A=<=<7:/4X:3ErFT/sNP=<EB3I=NA`1<243>FL=f3>~B@4FT=C7i1<FTNP/r1FLKr39>Zj V 7:GC2r1FLKM3>= FL97:9<9;NBG>FL7A13IErDaFT12,727A/E45T3I==NPHB1FL/43PZ

R243627A/OEB5T3I=a=NPHB1FL/43pF8912436`uH/G$1<FTNP/n127A1/43>3E491Nstk3pFT/^gPN:V:3EWDa243I/&124361<FTKM3>=q3~B@4FL=39>Zow13I7PGC2&G>5TNBGCVWFL/Q13I==<H4@B1|

k=l&m7n,oqprtsButnvm7waxty7nvz|{asBzan}x~sujx~sx~y7Dsvrq}z,wm}r~y xr~nBay7{s{(x~as ut2utxtsom7n,oqpn}L6onvDwaxtsBrBS,wuBxts rtsButnvm7waxty7nvz|n}ueauex~som7n2oqp


onvr~r~sut!nvza{uSxtnxtsj{wr~x~y7nvz/n}Jx~y7Dsxt0xsm}u~suS!sxsszxn utwoosButu~y (sjom7n2o~p6xty7oqp,u=
5

Version 2 CSE, IIT Kharagpur

1243V:3I=/43I5GC243GCV^91243q1FLKM3>=RE47i1C79m1<=HOG$1H=39FL/s1243q1FLKM3>= YQH43IH431<N*93>3FT`7A/^\*1FLKM3>=3>g:3I/Q1f27:9fNBG>GH==<3IEZ-. `
FT1/E9
127A17r1FLKr3I=a3>gP3>/Q1a27:9RNBG>G>H4=<=3E|^1243I/nFb1qYQH43IH43I91<243GNP==<3I9@ONP/EBFL/4Xr27A/E45T3I=a=NPHB1FL/436FT/&1<243p=37:EB\hYPH3>H43PZ
YJba_ \0_ 
ect`,bi ^FT/OG3r1243MNBG>G>H4=<=3I/G3*NA`f1<243M5L7P9m1pG5LNBGCVe3>gP3>/Q1I|
9N:KM3*1<7:9VB9JKrFLX:2Q1627g:3M7A=<=<FTgP3IEnN:=6tk3IG>N:KM3
=37:EB\cE4H43n1N]1<243n`uH45 5T5LKM3>/Q1,N:`6G>3>=1<7AFL/ GN:/OEBFb1<FTNP/9M1<243>\ D 3I=3nDR7AFT1FL/4X`uN:=Z 4a3IG>N:5L5T3G$1s`u=<N:K 7t7P9;F8GeGNPH4=<93&N:/
N:@k3>=C7i1<FT/4Xn9\^9;13IK 12O7i17A=<=FLg^FT/XW1<7P9;VB9p7:/El1C7:9VB9DR7AFT1FL/4Xh`uN:=9N:KM3M3>gP3>/Q1MU9;HOGC27P9p7h@O7AX:3*`u31CGC2dNP=7h93>Ks7:@424N:=<3
3>gP3>/Q1Cp7:=3WYQH43IH43IE]FL/7nDR7AFT1*YQH43>H3:ZlR243s1C7:9VB9pFT/c1243hD7:Fb1zYQH43IH43h7:=3WGC243GCV:3E1<N93>3WFT`7A/^\1C7:9Vd2O7:9ptk3IG>N:KM3
=37:EB\*FT/W1243Kr37A/WDa2FT5L3:ZoR243a1C7:9VB9Da24F8GC2,7A=<3a`uNPH4/EM1<N27g:3qtO3GN:KM3=<3I7PEB\:|^7A=<3YQH43>H3IEsFL/s123q=<3I7:E4\rYQH43IH43:Z-. `7
1<7P9;VW2O7gQFL/4Xr24FLX:243I=a@4=FLN:=<FT1m\s127:/,1<243zG>H4==<3>/Q1<5T\s=<H4/4/4FL/4XM1C7:9VWFL9`uNPH4/Eh1Ns2O7g:3JtO3GN:KM3p=<3I7PEB\:|^1<243>/&123GH4=<=3I/Q15L\
=H/4/4FL/4Xr1<7:9VWF89R@4=<3>3>KM@B1<3IEn7A/OEW1<2439GC23IEBH45L3>=aF89aFL/^g:N:VP3IEZ
YJba_[_L_1^b2ct]9h_b!i w1z37:GC2]G5LN^GCVdFT/Q1<3>=<=H4@41I|
1<243,9<GC243IE4H45T3I=zEB3G=<3>KM3>/Q1<9J1<243s1<FTKM3,95TF8G3ljt4HEBXP31$6=3>S
Ks7AFL/4FT/Xe`uN:=*1243h3~B3IG>HB1FL/4Xe1C7:9VZ. `a123h=<3>Ks7AFL/4FL/4Xlt4HOEBX:3>1z`uN:=z1243,1<7P9;V]tk3IGNPKM3I9I3>=<N7A/OE]1243,1<7P9;V]F89/4N:1*\:3>1
GNPKr@5T3>13:|^1<243>/&1<24361<7P9;VWF89a@4=<3>3IKM@B13E|7A/OEW1<2439GC23IEBH45L3>=aF89RFL/QgPN:VP3IEs1<NW9;3I5T3G$17A/NA123>=R1<7P9;VW1NM=H/
Z
:<;

O K#A 6TTBGU TU @


> ?BA CE ISRA?BM6H#TAG
[3z27PEn@ONPFT/Q1<3IEeNPHB1FL/^3IG:Z  Z 1<27i11243I=3z7:=31mD NsKs7AFL/EBF  GH45T1FL3I9FL/l@4=<NigQF8EBFL/4XW7s24FLX:2e=<3I9N:5LHB1<FTNP/n1FLKr3I=IZ"FL=C9m1|1<243
NigP3>=<243I7PE&7P99NBGF87i1<3IEnDaFT12l@4=<NBG399FT/Xs1243rG5LNBGCV&FL/Q13I==<H4@B1JtO3GN:KM393~4G>3I9<9;FLg:3z7P91<2431<FTKM3M9;3I=g^F8G3=<3I9N:5LHB1<FTNP/eX:31C9D/3>=Z
^3GNP/EB5L\:|O1243m3 Fb113>=67:9<9N^G>FL7A13EhDaFT12l1243z1FLKr3*5TN^NPVQH@l9;\B9;13>KG>7:5T5!#"$$&%('&"*),+A F89N:`13I/lNA` 123zN:=CEB3I=NA`f93>gP3>=C7A5
KMFL5T5LFL93IG>N:/E9>ZR23>=<3`uN:=<3:| FT1*F89z/NA1*HO9;3>`uH45f1<N@4=<Nig^FLE43,7lG5LNBGCVdDaFT127e=<3I9N:5LHB1FLN:/c7:/Q\  /43I=z1<27A/c124F89>Z@ NiD3>gP3>=|-9N:KM3
=<3I7:5bSv1FLKM3q7A@4@5TF8G>7A1FLN:/9o/3>3IEs1NzEB37A5ODaFb1<2s1FLKMFT/4X*GN:/O9m1<=<7:FT/Q1<9NA`123N:=CEB3>=fNA`76`u3ID/O7A/4Nz93IG>N:/E9>Z 4NP= 9HGC2W7A@4@5TF8G>7A1FLN:/9I|
7:/&FLKM@ONP=;1C7A/Q1qYQH43I9;1FLN:/nF89,fW .m9aFb1J7i1q7A5L5
@kNP9<9;FLt45L361N,9H4@4@kN:=1a1FLKM3KM3I7P9;H4=<3>KM3I/P1aDaFT12e/7:/4NW93IGNP/Eh=39;NP5THB1<FTNP/!lwD7\s1<N
@4=<Nig^FLE439;H  G>FT3I/P1<5T\  /43rG5LNBGCV,=<3I9N:5LHB1FLN:/nF89t^\hKs7:@4@4FL/4X,7s27:=<E4D7:=3pG5LNBGCVhFL/Q1Ns1<243z7PE4EB=<3I9<99;@O7:G3zNA`7A@4@5TF8G>7A1FLN:/9IZaw/

7:@4@45LFLGI7i1FLN:/lGI7A/e1<243>/=37:E&123z27:=<EBDR7A=<3G5LNBGCV&E4FT=<3IG15L\,1<24=NPH4X:2l7,/4N:=<Ks7A5"Kr3IKMN:=<\h=<3I7PEnN:@k3>=C7i1FLN:/nDaFT124NPHB12O7gQFL/4Xs1<N
Ks7AVP3W7e9;\B9;13IK G>7:5T5vZn4N:=p3>~47AKM@45L3:|-N:/_7l 3>/Q1<FTH4K @4=<N^G>3I9<9;NP=I|"7nH9;3I=p12=37:E]G>7:/tk3WKs7:E43M1Nl=<3I7PEl1<243, 3>/Q1<FTH4K 1FLKM3
9;1<7:Kr@GNPH4/Q13>=Z6R24FL96G>N:H4/Q13I=J9;1<7:=;1C97A1#",Da243>/1243M9\^9;13IK FL9J@kNiD 3I=3EnN:/7A/EeFL/G>=3IKr3I/Q1<967i`1<3>=J3I7:GC227A=CEBDR7A=<3zG5LNBGCV
FL/Q13>=<=<H4@B1IZlw1*1NBE47\%$ 9@4=<NBG3I9<9N:=9@O3I3IE| 1<24FL9*KM3I7:/9p1<27i1MEBH4=<FT/4X3>g:3I=\d/7A/NP93IGNP/EFT/Q1<3>=<g7:5U|-1<243hG>N:H4/Q13I=zFL/G=<3>KM3I/P1C9
93>gP3>=C7A5k1FLKM3I9IZ
qNiD 3Ig:3>=|aKs7AV^FL/4X1<24327A=CEBDR7A=<3dG5LNBGCV =37:E47:t45T3dt^\7A/x7:@4@45LFLGI7i1<FTNP/ 9;FLX:/F OGI7A/Q15L\=<3IEBHG>3I9,1243]@kN:=1<7:t4FT5LFT1m\NA`1<243
7:@4@45LFLGI7i1FLN:/Z-N:=3>~B7:KM@45T3P|PDa23>/W7A/s7:@4@45LFLGI7i1FLN:/M=<H4/4/4FL/4XNP/W7p 3>/Q1FLH4K@4=<N^G>3I9<9;NP= FL9f@ONP=;1<3IEr1N*7pEBFb3>=<3>/Q1f@=NBG399N:=|i1<243
/43ID@4=<NBG3I9<9N:=KM7\M/4N:1a27g:3J7z24FLX:2h=39;NP5TH41FLN:/hG>N:H4/Q1<3>=|Q7:/EhG>3>=1<7:FT/45L\r12436KM3>KMNP=\W7PE4EB=<3I9<9fKs7A@&7A/E,=39;NP5TH41FLN:/,DN:H5LE
EBFT3>=Z
:<;&

'@T)( ILKR

[3M27:E@ONPFT/Q13ElNPHB11<27i161<FTKM3>=p93>=<g^FLG>3zF89J7hg^Fb1C7A5o93>=<gQF8G3z127A1JF89J@4=<NigQF8EB3Ee1Nn7A@@45TF8G>7A1FLN:/9t^\l7A5L5 =37A5TSU1<FTKM3zNP@O3I=<7A1FL/4X
9\B9m1<3>Ks9><Z 4a37A5TSU1<FTKM3JN:@k3>=C7i1<FT/4Xr9;\B9;13IKM9 /4NP=Ks7A5L5L\M9H4@4@kN:=11mD N*KM7:FT/h1m\^@O39NA`
1<FTKM3>=C29 W"@k3>=<FTNBEBF8Gq1FLKr3I=<9R7:/E,7:@O3I=FLNBEBFLGruNP=
NP/43p9;24N:1C 1<FTKM3>=C9IZ-[3p/4NiD EBFL9<GHO999N:KM36t7P9;F8G6GN:/OG3>@41<9a7AtkN:H411<243I9361mDN*1m\^@k3I9RN:`"1<FTKM3>=C9IZ
Z/_\0ct]*ct^,+|cedP_\0`!i 3>=<FLN^E4FLGM1<FTKM3I=<9M7A=<3,HO9;3EcKs7AFL/45L\d`uNP=s97:Kr@5TFL/4X3Ig:3I/P1C9*7A1r=<3>XPH4587A=zFL/Q13I=gi7A589*N:=r@O3I=;`uNP=KMFL/4Xd9N:KM3
7PG$1FLg^Fb1<FT39z@k3>=<FLN^E4FLGI7A5L5T\PZ_/G>3h7@O3I=FLNBEBFLGW1FLKM3>=rFL9r9;3>1I|FT1M3~B@4FL=39@k3>=<FTNBEBF8G>7:5T5L\:Z]R24F89zF89zFLKM@45L3>KM3>/Q13EcH9FL/4Xl1<243,1<FTKM3I=
YQH43IH437:9`uNP5T5LNiD9><Z V 7:GC2h1FLKr361<243@k3>=<FTNBEBF8G1FLKM3>=3>~^@FT=<3I9I|^1243G>N:=<=39;@kN:/OEBFT/X*27:/EB5L3>==<N:H41FL/436FL9aFL/^g:NPV:3IE
|^7:/Eh124361<FTKM3I=
E47A1<7M9;1=<HG$1<H4=36F89RFT/O9;3I=;1<3IEht7:GCVsFL/Q1Nr124361<FTKM3I=YPH3>H43WU9;3I36-FLXZ  Z Z4NP=3>~47AKM@45L3:|47r@O3I=FLNBEBF8Gq1<FTKM3I=Ks7\stO3931R1N ""
KW^3Gp7A/EhFb1C9a27:/EB5L3>=931a1NM@kN:5L5123613>KM@k3>=C7i1<H4=3p93>/9N:=a7A`13>=q3>g:3I=\ ""*KW^3IG6FL/Q13>=<gi7A5vZ
R2439;3s1<FTKM3I=<9*7A=<3,9;3>11N3~B@4FL=3WNP/45L\dNP/G3PZe[7A1<GC2EBNPXn1FLKM3>=C9z7A=<3,7e@kN:@H45L7:=
3>~B7:KM_\@4ct5T]*36N:ce`-^/NP./4]93p\9;240 N:h1R_21FLKr1 33I=<]9Ib5Z 46+ctdP_\`i
[]7i1CGC2EBN:X1FLKM3>=C9r7:=3hH93IEc3>~^13>/O9;FLg:3I5T\]FL/ =<3I7:5bSv1FLKM3,@4=<N:XP=<7:KM91N]EB31<3IG1MFT`71<7P9;V]KMFL9<93I9rFb1C9MEB3I7PEB5TFL/43P| 7A/OE_123>/
1<NFL/4FT1F87i1<3e3~4G3I@B1FLN:/ 27A/E45TFL/4X]@4=<N^G>3IEBH=39*H@ONP/ 7EB37:EB5LFT/3eKrF89<9>Z w/ 3~47:Kr@5T3&H93&N:`J7DR7i1<GC2OEBN:Xd1FLKM3>=s27P9MtO3I3>/

Version 2 CSE, IIT Kharagpur

f(){
wd_start(t1,exceptionhandler);

start

wd_tickle();
}

end

t1

- FLX:H4=<35JWoq93pNA`o7r[7A1<GC2E4N:XMRFTKM3>=
FL5T5LH9;1=C7i1<3IEdFT/]-FTXOZ  Z 54Zz.0/]"FLXZ  Z75B|7hDR7i1<GC2OEBN:X,1FLKr3I=pFL9p9317A1J1<243s9m1C7A=1pNA` 7nG3I=;1C7AFL/dG>=FT1F8G>7:5 `uH4/G$1<FTNP/<)2+M12=NPH4X:2
7 0$
1$<)=$ +zG>7:5T5vZ6R243  0$ 1$j)=$ !+*G>7A5L5 9;3>1<9q1243rD7A1<GC2E4N:XW1<FTKM3I=q1<Nh3>~^@FT=<3zt^\&1243M9@O3GF 3IElE43I7:E45TFL/43n1 1FLKM3
H4/Fb1C9<`u=<N:K1243W9;1<7:=;1<FT/4XnN:`f123s1<7P9;VZM. ` 1<243M`uH4/G1FLN:/ <)2+WEBN^3I9p/NA1GNPKr@5T3>13s3>gP3>/]7i`1<3> =   1<FTKM3sH4/4FT1<927g:3M3>587A@O9;3E|
1<243>/s1<243qDR7i1CGC2EBNPX61FLKr3I=f3>~^@FT=<3I9I|PFL/EBF8G>7A1FL/4Xp1<27i1 1243q1<7:9VMEB3I7PEB5TFL/43F89 KrF89<9;3Es7A/Er1<243q3>~BG>3>@B1<FTNP/s27A/OEB5TFL/4X*@4=NBG>3IEBH4=<3aF89
FL/4FT1F87i13EZo.0/hGI7:93q1<243J1<7P9;VsGNPKM@45T3>139RtO3>`uN:=<3q1<243DR7i1CGC2EBNPX1FLKM3>=R3~B@4FL=<3I96uFvZ 3PZ 12431<7P9;VWG>N:KM@45L31<3I9DaFb1<24FL/hFT1<9aEB37:EB5LFL/43|
1<243>/&123pD7A1<GC2EBNPXz1<FTKM3I=FL9R=<3I931aH9FL/4Xs7  $&%0#"*)2+pG>7A5L5vZ
 & no
    !#"k> %
$&' o) (+*  ,,  q
3`uNP=3E4FL9<GH9<9FT/4XW7:tONPHB1G>N:KMKM3>=CGF87A5
=<3I7:5bSv1FLKM3pN:@k3>=C7i1FL/4XW9\B9m1<3>Ks9>|OD 3zKzH9;1G5L3I7:=5L\,H/EB3>=C9;1<7A/OE,1<243`u37i1<H4=39a/4NP=Ks7A5L5L\
3>~^@k3IG13EdN:`7&=<3I7A5TSv1FLKr3rN:@k3>=C7i1<FT/X&9\B9m1<3>KnZsR24FL96DaFL5L57A589;N&3>/7:t45L3rHO961NeGNPKM@7A=<3z1<243r`u3I7A1H4=<3I9p9H4@4@kN:=13Et^\EBFT3>=<3>/Q1
=<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4Xe9;\B9;13>Ks9`uN:=93>5L3IG1FL/4Xe7A/]7A@4@=NP@4=F87i1<3zNP@O3I=<7A1FL/4X&9\B9m1<3>K `uNP=7A/]7A@4@5TF8G>7A1FLN:/]7i1p27A/OEZrR2FL9pDN:H5LE
7:5L9NW5L31HO9qH4/OEB3>=C9m1C7A/E&1<243MEBFb3>=<3>/OG3I9qtO3>1mD 3I3>/7W1=C7:EBFT1FLN:/O7A5NP@O3I=<7A1FL/4X,9\B9m1<3>K7A/El7W=37A5TSU1<FTKM3zNP@O3I=<7A1FL/4XW9\^9;13IKnZq.0/
1<243a`uN:5L5LNiDaFT/4XO|AD3aFLEB3I/Q1FT`u\*9N:KM3aFTKM@kN:=1<7:/P1o`u37i1<H4=39 =3YQH4FT=<3IErN:`76=<3I7:5bSv1FLKM3NP@O3I=<7A1FL/4Xp9;\B9;13IK&|Q7A/Er39;@k3IG>FL7:5T5L\1<24NP93R127A1
7:=36/4NP=Ks7A5L5L\W7At93>/Q1aFT/&1<=<7PEBFb1<FTNP/7A5NP@O3I=<7A1FL/4XM9;\B9;13>Ks9IZ
? 5LN^GCV7A/E1<FTKM3I=r93>=<g^FLG>3I9pDaFT12c7PEB3IYQH7A13W=<3I9N:5LHB1FLN:/_7:=3sNP/43WNA`a1<243WKMNP9;1zFLKM@ONP=;1C7A/Q1
F899 eH4]S3^/9p. FT/]h=<3I 7:5b+Sv1FLceKMd[3r_\ @=1*NPX:=C7AKM]KM\bFT/4i XOZ q7A=CE=37A5TSU1<FTKM3s7A@@45TF8G>7A1FLN:/_EB3Ig:3>5LN:@Kr3I/Q16N:`13I/_=3YPHFT=<3I969H4@4@kN:=1NA`1FLKr3I=z93>=<gQF8G39
DaFT12l=<3I9N:5LHB1<FTNP/&N:` 1243*N:=CEB3>=N:`7M`u3>D KMF8G=<NP93IGNP/E49IZR^1FL5T5 /43I==<3I9N:5LHB1FLN:/O9aKs7\,tk3z=<3IYQH4FL=3EhFL/GI7:93pNA`fG3I=;1C7AFL/e9;@k3IG>FL7:5
7:@4@45LFLGI7i1FLN:/O9>Zf? 5LN^GCVB9R7A/OEs1FLKM3>=C9a7A=<3J7rg^FT1<7A5@7:=;1aN:`"3>gP3>=<\M=37A5TSU1<FTKM3JN:@k3>=C7i1FL/4XM9;\B9;13IK&Z /,1243pN:1243I=R27A/E
|^1=C7:EBFT1FLN:/7:5
NP@O3I=<7A1FL/4Xs9;\B9;13>Ks9R/4NP=Ks7:5T5L\WEBNM/4NA1@=Nig^F8EB3q1<FTKM3z93>=<g^FLG>3I9DaFT12e9;H  G>FT3I/Q15L\W24FLX:2n=39;NP5TH41FLN:/
Z
0 _ 21 +|cedP_PZ\0ct]\0c b
43_g_ e`i w =<3I7:5bSv1FLKM3sN:@k3>=C7i1<FT/4Xl9\B9m1<3>KKzHO9m1*9H4@4@kN:=1*9;1<7A1F8Gs@4=<FTNP=FT1m\5L3>gP3>589>Zlwy@4=FLN:=<FT1m\5L3>g:3I5
9H4@4@kN:=13E,t^\,7:/hNP@O3I=<7A1FL/4Xr9\B9m1<3>KFL9aGI7A5L5T3Eh9;1<7A1F8GA|BDa243I/hNP/G3J123p@4=NPX:=C7AKMKM3>=R7:9<9;FLX:/O97r@4=<FLN:=<Fb1m\sgi7A5LH43J1Ns7*1<7P9;V|^1<243
NP@O3I=<7A1FL/4XJ9\B9m1<3>KEBN^3I9 /4N:1oGC2O7A/4XP3 FT1t^\zFT1<93>5T`mZ Q1C7i1<FLGR@4=<FLN:=<Fb1m\p5L3>gP3>589o7A=<37:5L9NpG>7A5L5L3I6E 587:9<;>=@?BA2CD7'EF5GAIHJ5GA2?LKM;N7)OP7);RQ$Z [d3EBF89<GH9<9
FL/e9;3G$1FLN:/  Z *127A1q7r1=C7:EBFT1FLN:/O7A5N:@k3>=C7i1<FT/4Xs9\B9m1<3>KE4\Q/O7AKMFLGI7A5L5T\hGC27A/4XP3I9 123p@4=FLN:=<FT1m\s5T3Ig:3>589RNA`-1<7P9;VB9`u=<N:K@4=NPX:=C7AKMKM3>=
7P99FTXP/43IEWg7:5TH3I9f1NrKM7A~BFTKMFL>369;\B9;13>K1<24=NPH4X:2@4HB1IZ^HOGC2,@4=<FTNP=FT1m\M5T3Ig:3I5L9f127A1R7:=3JGC27A/X:3IE,EB\^/7AKMF8G>7A5L5L\rt^\M1<243NP@O3I=<7A1FL/4X
9\B9m1<3>Ky7:=36N:t^g^FLN:H95T\s/NA1q9;1<7i1<FLGJ@4=<FLN:=<Fb1<FT39>Z
S #`,b + #`/. Z\0_1_1d b2ce]hi 4NP=q9HG>G>3I9<9m`uH45N:@k3>=C7i1FLN:/hNA`o7M=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/
|Da243>/43Ig:3I=7M24FTXP2n@4=FLN:=<FT1m\WG=<Fb1<FLGI7A51C7:9V
7:==<FTgP3I9I|o7A/3>~B3IGH41FL/4Xd5LNiD @4=<FLN:=<Fb1m\1<7P9;Vc924NPH45LEtO3nKs7:E43,1<NdFL/9;1<7A/Q1<5T\_\^FL3>58E_123l? 1<NdFT1IZR243h1FLKr3eEBH=<7A1FLN:/c`uNP=
Da24F8GC2,7z24FTXP243>=@4=<FTNP=FT1m\*1<7:9VMD7:Fb1C9ftk3`uNP=3Fb1RF89 7:5T5LNiD 3Er1Nr3~B3IG>HB13FL9YQH7A/Q1<Fb1C7i1FLg:3I5T\M3>~^@=3993IEs7P9?@9PQ8TEU587:7VCEF?BAIH<WX?BA2CD7ZY
? NP/P1<3>KM@kN:=C7A=<\p=37A5TSU1<FTKM3RN:@k3>=C7i1<FT/4X69\^9;13IKs9o27g:3 1<7P9;V*@4=<3>3>KM@B1<FTNP/z1<FTKM39oNA`k1243aNP=<E43>= NA`7`u3>D KMFLG>=Np93IGNP/E49IZ qNiD 3Ig:3>=|
FL/r1=C7:EBFT1FLN:/7:5^N:@k3>=C7i1FL/4Xp9\^9;13IKs9>|i1<243RD NP=<9;1G>7P9;3 1<7P9;V@=3I3>KM@B1FLN:/*1FLKM3aFL9o1m\Q@FLGI7A5L5T\pN:`O1<243aN:=CEB3>= N:`k769;3GNP/EZ-[d3EBF89<GH9<9
FL/,1<243p/43>~Q193IG1FLN:/W1<27i1a1<24F89a9;FLX:/4F OGI7A/Q15L\s5L7:=XP3587i1<3>/G>\sFL9aGI7AH93IEht^\W7r/4N:/BS @4=<3>3IKr@41FLg:3JV:3>=</43I5UZ . 1aX:N^3I9DaFT124NPHB1q9<7\QFL/4X
1<27i17W=37A5TSU1<FTKM3pN:@k3>=C7i1<FT/XW9;\B9;13>K/43I3IE491NW27gP37s@4=<3>3IKr@41FLg:3pV:3I=/3>57:/Ee9;2N:H458En27g:361C7:9V,@4=<3>3IKM@B1FLN:/n1<FTKM3I9NA` 1<243
NP=<EB3I=RNA`o7z`u3IDxKMF8G=<Ns9;3GN:/OE49>Z
[

Version 2 CSE, IIT Kharagpur

S
.0/Q13>=<=<H4@B1 587i1<3>/G>\MFL9REB,3 /43IEh7:912431FLKM3JEB3I5L7\Mtk31mD3>3I/W123qNBG>G>H4==<3>/OG3
:NZ` \07A_ /dctFT^ /Qb 1 3I==< tH4_ @B#1h7: /Ee1<24`,3Mb=,hH4&/b2/4_\FT/\ XhN:`b1324J3sb2G>_1N:h=<^ =
<39;i @kN:/E4FT/4X,.;J4j.0/Q13>=<=<H4@B1^3>=<g^FLG>3 4aNPHB1FL/43$Zz.0/d=37A5TSU1<FTKM3rN:@k3>=C7i1<FT/4X&9;\B9;S
1<3>Ks9>|O123H4@4@k3>=tONPH4/EeNP/&FL/Q13I==<H4@B1q587i1<3>/G>\hK*H9;1qtO3ztONPH4/EB3El7A/EnF89a3>~^@k3IG13En1NWtk35L3I9<9a1<27A/l7r`u3ID KrF8G=<NW93IGNP/E49IZ
R243,D7\d5TNiDFT/Q1<3>=<=H4@41z5L7A13I/G\dFL9*7:GC24FL3>gP3IE|-FL9zt^\@k3>=`uN:=<KrFL/4Xet4H5TV]NA`R1<243,7:G1FLg^Fb1<FT39NA`a.;J4FL/c7lEB3>`u3>=<=3E@4=NBG>3IEBH4=<3
GI7A5L5RUR?R$Z
wJ? F89J3I9<9;3I/Q1F87A5L5T\l7,1<7P9;Vn1<27i1p@k3>=`uN:=<KM9JKMNP9;16NA`f1<243M.;J 47:G$1<FTg^FT1m\:|t4H4163>~B3IGH413I967A`13>=p.;# 4 GNPKM@45T3>139
7A1J7s5LNiD 3I=@4=<FTNP=FT1m\&g7:5TH3:ZqH4=;1<243>=|9;H4@@ONP=;1`uN:=q/3I9;13IElFT/Q13I==<H4@B1C9q7:=3HO9;H7:5T5L\nEB3I9FT=<3IE
ZqR27i1JFL9I|7s=37A5TSU1<FTKM3NP@O3I=<7A1FL/4X
9\B9m1<3>K 924N:H5LEz/4NA1oN:/5T\tk3R@4=<3>3>KM@B1<FTgP3RDa24FT5L3R3~B3IG>HB1FL/4XJV:3I=/43I5^=NPHB1FL/43I9I|At4H41o924NPH45LE*tk3a@4=3I3>KM@B1<FTgP3EBH=FL/4X6FT/Q1<3>=<=H4@41 93>=S
g^F8GFL/4XJ7P9-D 3I5T5vZ"R24F89-FL9 39;@k3IG>FL7:5T5L\pFLKr@kN:=1<7:/Q1"`uNP="27:=<Ez=37A5TSU1<FTKM3R7A@4@5TF8G>7A1FLN:/9"DaFb1<2r9H4tBS KMFLG>=NQ9;3GNP/E61FLKMFT/X=<3IYQH4FL=3IKM3>/Q1<9IZ
0
0
[d327:EW7:5T=<3I7PEB\MEBFL9<GHO993IEsFL/&? 27:@B13I= p127A1FT`
=37A5TS
1<1 FT KM3a1C]97:9\V^b9fq7A]=<\ 37A5L_15TNi`aD]!3IEz\0^!1Nz_ 91 237:J=3\0ceG>h= FT1F8G>7:dP54=]93h9;NP H4=CG3I_ 9o 7: 1 KM+N:ct/4dPXJ_ 12+ 3>#Ks`)9;.L3I`5TgPi 3I9oHO9;FL/4Xp1<243a1=C7:E4Fb1<FTNP/7A54=<3I9N:H=<G>3R927:=FL/4XJ13GC24/4F8YPH3I9I|
1<243>/s1<243q=<3I9@kN:/93a1FLKM3I9 NA`1<7P9;VB9 G>7A/stk3IG>N:KM3qH/QtkN:H/EB3IEW5T37:EBFL/4Xp1<NzEB3I7PEB5LFT/43KMFL9<9;39>Z R24F89fF89NP/43qG>N:KM@O3I5T5LFL/4Xz=<3I7P9;NP/M7P9
1<N,Da2^\n3>g:3I=\nGNPKMKr3I=<G>FL7:5=<3I7:5bSv1FLKM3zN:@k3>=C7i1<FT/X,9;\B9;13IK924NPH45LE7i1q1<243rKrFL/4FLKzH4K @=Nig^F8EB3p123*t7P9;F8G@=FLN:=<Fb1m\hFT/243>=<Fb1C7A/G>3
KM3IGC2O7A/4F89;KEBF89G>H993IE*FL/W? 2O7A@B1<3>= Z ^H@4@ONP=;1N:`k@=FLN:=<Fb1m\*G3>FL5LFT/4X6@4=<NA1<NBGN:5
U?-FL97:5L9NpEB3I9FL=<7:t45T3P|AFT`k587A=<X:3a7A/OE*KMNBEB3I=<7A13
9FTI3IE&7A@4@5TF8G>7A1FLN:/9a7:=3J1NMtk39;H@4@ONP=;1<3IEZ
0
wq9`j7A=a7P9 XP3>/43I=<7:5bS @4H4=<@kNP93N:@k3>=C7i1<FT/4Xr9;\B9;13IKM9R7:=36GNP/G3I=/43E|QFb1aF89R=<7:=3
1<N _O /Ec \0NP_1/4dP3*_11h&2b27A`|1p]9E4hNQ39J/4_1NAdP1]99H4\ @4
@kN:=16#hg^ FL=;91<H_1dP7A5 _1KMh&3>b!KMi NP=\l7:/ElKM3>KMNP=\e@4=<NA1<3IG1FLN:/l`u37i1<H4=39>Z NiD3>gP3>=|k3IKztk3IE4E43IEd=37A5TSU1<FTKM3
NP@O3I=<7A1FL/4Xp9;\B9;13>Ks9o7:5TKMNP9;1o/43>gP3>=o9H4@4@kN:=1o12439;3`u3I7A1H4=<3I9IZ/45T\124NQ9;312O7i1f7A=<3RKM3I7A/Q1 `uN:=o587A=<X:3R7A/OErG>N:KM@45L3~*7:@4@45LFLGI7i1<FTNP/9
EBNOZ 43I7A5TSv1FLKr3rN:@k3>=C7i1<FT/X&9\B9m1<3>Ks9J`uN:=6587A=<X:3M7A/EKr3EBFLH4K 9FTI3IE7A@4@5TF8G>7A1FLN:/967A=<3r3~B@O3G$1<3IE1Nn@4=<NigQF8EB3*gQFL=1H7:5oKr3IKMN:=<\
9H4@4@kN:=1I|^/4N:1RNP/45L\M1NrKr3I31R123KM3>KMNP=\WEB3IKs7A/E49N:`
124362437g^\rD3>FLX:2Q1R=37A5TSU1<FTKM3q1<7:9VB9NA`"7:/h7A@@45TF8G>7A1FLN:/
|^t4H411<N*5L31R1<243
KM3>KMNP=\E43>Ks7A/E4FT/4Xe/N:/BS =37A5TSU1<FTKM3s7A@@45TF8G>7A1FLN:/9p9HGC2]7:961<3~^13IE4Fb1<N:=C9>|"3S KM7:FT59NA`1mDR7A=<3:|31<G:Zs1Nl7:5L9Nn=H/NP/1<243,9<7AKM3
@4587i1`uN:=<Kn Z FT=1H7:5RKr3IKMN:=<\d=<3IEBHOG3I9z123&7gP3>=C7AX:3sKM3IKrNP=\]7:GIG399z1FLKM3:|t4H41MEB3IX:=C7:EB39p1<243hDN:=C9;1;S0G>7:93sKM3>KMN:=<\]7:G>G>3I9<9
1<FTKM3:ZR23@k3>/7:5b1m\MN:`H9FT/4X*g^FT=1H7:5Kr3IKMN:=<\rF89f1243JNig:3I=2437:Es7P99NBGF87i13EMDaFb1<2&9;1NP=FL/4Xp1<24367:E4EB=<3I9<9f1=C7A/95L7A1FLN:/s1C7At45L37:/E
@k3>=`uN:=<KMFT/4Xn1<243Wg^FL=;1<H7A5o1<Nl@42^\B9;F8G>7:57:E4E4=39961<=<7:/95L7A1FLN:/9IZ,eNP=3INig:3>=|`u3>1<GC24FL/4Xl@7:X:39J`u=NPK1<243,93IGNP/E47:=\lKM3IKrNP=\N:/
7&@7:X:3r`j7AH45T1FL/GH4=C99FTXP/4F OG>7:/P16587i13I/G\PZWR243>=<3`uNP=3P|
N:@k3>=C7i1<FT/Xn9\B9m1<3>Ks9p9H4@4@kN:=1FL/4XngQFL=1H7:5oKr3IKMN:=<\lKzH9;1@4=<Nig^FLEB3r1<243
=<3I7:5bSv1FLKM3W7A@4@45LF8G>7i1<FTNP/9pDaFT129N:KM3WKM37A/9pN:`GN:/Q1<=NP5T5LFT/Xe@7AXPFT/4XO|"9HGC2c7:9 CD7)C H<5GK ;NH
:T<A2W
Yde3>KMNP=\d5TNBGCV^FT/Xe@4=3Ig:3I/P1C9
7h@7AXP3`u=<N:K tk3>FL/4Xn9;DR7A@4@k3IEe`u=NPK Kr3IKMN:=<\h1<Nh2O7A=CEEBF89;VZp.0/1243s7AtO9;3I/G3*NA`fKM3>KMNP=\n5LN^GCV^FL/4XW`u37i1<H4=3P|KM3>KMN:=<\e7:G>G>3I9<9
1<FTKM3I9qNA`o3>gP3>/eG=<FT1F8G>7A5=37A5TSU1<FTKM361<7P9;VB9GI7A/l924NiD 5L7:=XP3 3mFT1;1<3>=|k7P9R123z7:GIG3I9<9R1<FTKM3DN:H458E&X:=<3I7A15L\hEB3I@O3I/EnN:/eDa243>1243I=1<243
=<3IYQH4FL=3E,@O7AX:3JF89aFT/&1<243p@42^\B9;F8G>7:5kKM3IKrNP=\,N:=a27P9RtO3I3>/e9;DR7A@@O3E,NPHB1IZ
e3IKMN:=<\z@4=<NA1<3IG$1<FTNP/sFL9 7A/4N:1243I=fFLKM@ONP=;1C7A/Q1fF899H43a1<27i1/43>3E491<Ntk3G>7:=3>`uH45L5T\MGNP/9;F8EB3I=3EZ "7:GCV*NA`9H4@4@kN:=1`uN:= Kr3IKMN:=<\
@4=<NA1<3IG1FLN:/n7AKMN:/4X*1<7P9;VB9R5L3I7PE491Ns7M9;FL/4XP5T3p7:EEB=399R9@7:G>3J`uN:=7A5L512361<7:9VB9>Zowq=XPH4KM3>/Q1<9`uNP=a27g^FT/4XrN:/5T\,7M9FT/X:5L367PE4EB=<3I9<9
9@7:G>3*FL/G>5THE43M9FLKr@5TF8GFT1m\:|9<7g^FT/X,KM3>KMN:=<\et4FT1<9I|
7A/Ed5LFTXP2P16D3>FLX:2Q169\B9m1<3>KGI7A5L5L9IZzN:=p9;Ks7:5T5 3>K*tO3E4EB3Ed7:@4@45LFLGI7i1FLN:/O9>|1<243
NigP3>=<243I7PEWNA`7r`u3ID 6FL5TN \Q139aNA`oKM3>KMNP=\W@k3>=q@4=NBG>3I9<9G>7:/&tk3H4/O7:G>G>3>@B1C7At45L3:Z NiD3>g:3I=I|BDa23>/e/4NsKM3>KMNP=\W@=N:13IG1FLN:/nF89
@4=<Nig^FLE43IErt^\z1<243qNP@O3I=<7A1FL/4X9;\B9;13IK&|:1243JGNQ9m1fN:`
EB3>gP3>5LN:@4FL/4X7A/OEr13I9;1FL/4Xz7@4=NPX:=C7AKDaFT12N:HB1Kr3IKMN:=<\z@4=<NA1<3IG$1<FTNP/MtO3GN:KM39
gP3>=<\h24FLX:2eDa23>/e1<243*G>N:KM@45L3~BFb1m\&NA`o1<243*7:@4@45LFLGI7i1<FTNP/eFT/G>=37:93I9IZw589;NO|OKs7:FT/Q13I/7A/OG3zG>NP9;1qFT/OG=<3I7:93I9q7:9q7:/^\&GC27:/4X:3zFT/eNP/43
KMNBEBH45L3pD NPH458E,=<3IYQH4FL=36=<31<3I9;1FL/4Xr1243p3I/P1<FT=<3p9;\B9;13IK&Z
VfKztk3IE4EB3El=<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4X&9\B9m1<3>Ks9JH9H7A5L5T\lE4Nh/4N:19;H4@@ONP=;16g^FT=1H7:5 Kr3IKMN:=<\:-Z VfKztk3IE4E43IEl=<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4X
9\B9m1<3>Ks9>|QG=<3I7A13@42^\B9FLGI7A5L5T\rGN:/Q1<FTXPH4N:H9t45TNBGCVB9oN:`
Kr3IKMN:=<\`uN:=7A/W7:@4@45LFLGI7i1FLN:/MH4@kN:/,=3YPH3I9;1I*Z NiD3>g:3I=I|:Kr3IKMN:=<\`u=C7AX:KM3I/BS
1C7i1FLN:/&F89a7z@kNA1<3>/Q1F87A5@4=<N:t5T3IK`uN:=7r9;\B9;13>K 127A1aE4NQ39R/4NA1a9H4@4@kN:=1Rg^FL=;1<H7A5KM3>KMNP=\PZ wq5L9N|BKM3IKrNP=\s@=N:13IG1FLN:/htO3GN:KM39
EBF  GH45T11<Ns1NW9H4@4@kN:=1q7M/4N:/4Svg^FL=;1<H7A5KM3>KMNP=\hKM7:/7AXP3>KM3>/Q19\^9;13IKnZN:=R12FL9q=37:9N:/
|BFL/eKs7A/^\,3IKztk3IE4EB3En9;\B9;13>Ks9I|41<243
VP3>=</43>5 7A/El1243MH93>=J@4=<NBG3I9<93I93~B3IG>HB13rFT/1243s9<7AKM3*9@7PG3:|FvZ 3PZp123>=<3*F89J/4NhKM3IKrNP=\n@4=<NA1<3IG1FLN:/
Z q3>/G>3:|
7&9;\B9;13>K GI7A5L5
7:/En7r`uH4/G$1<FTNP/lG>7:5T5
DaFT12FT/l7:/n7:@4@45LFLGI7i1<FTNP/&7:=36FL/EBF89m1<FT/4XPH4F89;27:t45L3:Z R2FL9aKs7:V:3I9aE43>t4H4XPX:FL/4XW7A@@45TF8G>7A1FLN:/9aE4F  GH5b1|O9FT/G>37
=<H4/n7D7\s@kN:FL/Q13>=GI7A/nGNP==<H4@B1R123pN:@k3>=C7i1FL/4Xs9\^9;13IKyGNBEB3P|BKs7AV^FT/X*1<2439\^9;13I
K ;`u=3I3>> 3 4Z
w9;\^/GC24=<N:/N:H9a. P Kr37A/9q/4N:/4Svt45LNBGCV^FT/4Xs. P*ZO"=<7PEBFT1FLN:/7:5=<3I7:EURNP=qDa=<Fb1<3PUq9;\B9;S
1<1 3> KG>7A]95L\589b@kq3>]=\ `uN:=<K`
L9h\Q^ /O3GC24\0]9=NPh/4] N:HO`9R.:*0 Z4i . `7s@4=<NBG3997A1;1<3>KM@B1<91NW=<3I7PE&N:=Da=<Fb1<3pH9FT/4XW1243/N:=<KM7:5U|O9;\^/GC24=<N:/N:H9R=<3I7PE
URNP=
Da=<Fb1<3Pv9\B9m1<3>KGI7A5L5L9I|123>/Fb1p/43I3IE49J1<NhDR7AFT1pH4/Q1FL5 1243M27:=<EBDR7A=<327P9pGNPKr@5T3>13IEl1243s@2Q\B9FLGI7A5-. :*Z. 1pFL9J1<243>/FL/B`uN:=<KM3IE
N:`o1243M9;HOG>G399N:=q`j7AFL5TH=3*NA`1<243zNP@O3I=<7A1FLN:/
|7A/OEeNA`fG>N:H4=C9;31243r=3YQH4FT=<3IEE47i1C7WFL/e1243MG>7P9;3*NA`f7h9;HGIG399;`uH45-=37:EZ6R2^H9qFL/


Version 2 CSE, IIT Kharagpur

GI7:93 N:`O9;\^/GC2=NP/4N:H9"N:=-t45LNBGCVQFL/4XJ.:3>~B3IGH41FLN:/zN:`4123@=NBG399"F89 t45TNBGCVP3IEDa2FT5L3 FT1oD7:Fb1C9"`uN:=-1243R=<3I9H45T1<9-NA`41<243a9;\B9;13IKG>7A5L5vZ


qNiD 3Ig:3>=|BFT`f7s@4=<N^G>3I9<9aH93I97P9;\^/GC2=NP/4N:H9   
kUN: =    ^U9\B9m1<3>KG>7:5T589zUG>7A5L5L3I
E    
kU7:/E   B^v
FL/9N:KM3hN:@k3>=C7i1FL/4X]9;\B9;13IKM9C$|1243I/1<243e9;\B9;13>KGI7A5L5RDaFT5L5a=3>1H4=</FLKMKM3IEBF87i1<3>5L\_N:/G>3,1<243n. :=<3IYQH43I9;1M27:9rtk3>3>/@7P993IE
EBNiDa/1<N]1243l2O7A=CEBD7:=3&N:=WYQH43IH43IEFL/ 1243N:@k3>=C7i1FL/4X_9\^9;13IKn| 1m\^@4F8G>7:5T5L\ctk3`uNP=3n1<243l@42^\B9;F8G>7:5a. :N:@k3>=C7i1<FTNP/ 27P9s3>gP3>/
tk3>XPH4/
ZR243r3~B3IG>HB1FLN:/NA`1<243M@4=NBG>3I9<9F89/NA16t45TNBGCVP3IE|tk3IG>7:H93zFT1pE4NQ39q/NA16/43>3Ee1N&DR7AFT1q`uN:=J1<243*=<3I9H45T1<9NA`1<243M9;\B9;13>K
GI7A5L5UZ".0/9m1<3I7PE|AFT1oGI7A/rGN:/Q1<FT/^H433~B3IG>HB1FL/4X67A/E1243I/*=<3IG>3>FLg:3f1243R=<3I9H45b1C9-NA`41<243R. :NP@O3I=<7A1FLN:/587i1<3>=|iN:/G>3f1<243>\z7:=37gi7AFL5L7:t45T3PZ
0
0
VK*tO3E4EB3IEd7A@4@5TF8G>7A1FLN:/9JH9H7A5L5L\
27gP3*c G>baN:ce]/h9;1 =C 7AFL/Q1<_ 9 N:/dc \0G>_1NPdP9;1I_1|h&9FTb2I`3:|
q]97A/O\El
@kd NiD 3I_ =JG>N:_ / 9H4KM_ @B 1 2FLN:1 +/Z ced[V_ Kztk0 3IEEB_\3IE#b2=ce3h7A 5TSU1<1 FTKM
L`23rb2_1N:dP@k3>`=C7ii 1FL/4X&9;\B9;13>Ks9J7A=<3z1<243>=<3`uNP=3*NA`1<3>/
=<3IYQH4FL=3E*1Nztk3qGI7A@7:t45T3qNA`
EBF89;V^5L3I9<9N:@k3>=C7i1<FTNP/
Z R24FL9fFL9ftO3G>7:H9;3EBFL9VB9f7:=3aH9H7:5T5L\z1<N^Nt4H45LV^\*1<NH93FL/W3>K*tO3E4EB3IE,9;\B9;13>Ks9I|
FL/G=<3I7P9;3q@ONiD3>=GN:/O9;H4KM@B1<FTNP/
|^7A/EW7:5L9NzFL/G>=37:93R12436GNQ9m1NA`EB3I@45TNi\^KM3>/Q1Z-N:= 124F89f=<3I7P9;NP/
|QNA`
587i13q}O7:92WKM3>KMNP=\rFL9 tk3>FL/4X
FL/G=<3I7P9;FL/4XP5T\sH93IEh`uNP=R124F89a@4H4=<@kNP93:Z
VfKztk3IE4EB3EN:@k3>=C7i1FL/4X_9\^9;13IKs9sH9H7A5L5T\=39;F8EB3eN:/ 3IFb1<243>=s}k7:92KM3IKrNP=\N:= 4J_ZfN:=WG>3>=1<7AFL/7A@4@5TF8G>7A1FLN:/9MDa24F8GC2
=<3IYQH4FL=3M`j7P9m1<3>=*=39;@kN:/93:|-FT1*Ks7\dtk3,/3IG399<7A=<\e1<N=<H4/]1243h=37A5TSU1<FTKM3sNP@O3I=<7A1FL/4X9\^9;13IK NP/c7 4w_Z-R2FL9zD NPH45LE]=<3I9H45T1
FL/l`j7P9m1<3>=q3>~B3IGH41FLN:/
|9FT/G>31<243r7PG>G>3I9<9a1FLKM3*N:`f7 4wF89q5LNiD3>=1<27A/l127A1JN:`f7 4J_Zk.0==<3I9@O3G$1<FTgP3NA`Da243>1243I
= 4J NP=
4w FL9RH93IE
|47A5L5.?97A=<33>~B@O3I/9;FLg:3PZoR243>=<3`uNP=3P|P`uNP=a=37A5TSU1<FTKM3JN:@k3>=C7i1<FT/4Xs9\B9m1<3>Ks9aEB3I9FLX:/43Es`uN:=a3IKztk3IE4E43IEn7A@4@5TF8G>7A1FLN:/9I|
FT1rF89MEB3I9FL=<7:t45T3,1N27g:3&7:9r9;Ks7:5T5a7`uNQN:1r@=FL/Q1njKr3IKMN:=<\HO97:X:3z7:9r@kNP9<9;FLt45L3:Zc^FL/G3&3>K*tO3E4EB3IE @4=<NBEBHG$1C9M7A=<3W1m\^@4F8G>7A5L5L\
Ks7A/^HB`j7PG$1<H4=3EM5L7:=XP3q9<G>7A5L3:|P3>gP3>=<\*=<H4@k3>3q9<7g:3EMN:/sKM3>KMN:=<\M7A/EsN:1243I=f27:=<E4D7:=3a=<3IYQH4FL=3IKM3>/Q1<9oFLKM@7:G1<9 KMFT5L5TFLN:/O9fN:`=<H4@k3>39
FL/n@4=!N 41IZ

 (e  p   
 !#"k> %
$&' o) (+*  ,, -q
q/4Fb~cF89r7@kN:@4H5L7:=*XP3>/43I=<7:5f@4H4=<@kNP93,N:@k3>=C7i1<FT/X9;\B9;13IK127A1rDR7:9zN:=<FTXPFT/7:5T5L\]EB3>gP3>5LN:@k3IE]`uNP=*1<243&KM7:FT/4`u=<7:Kr3&GNPKr@HB13I=<9IZ
qNiD 3Ig:3>=|Oq/4FT~7A/EeFT1<9gi7A=<FL7:/Q1<927g:3/NiD @k3>=<KM3I7A13IEe1NnEB3I9VQ1N:@d7A/Ee3Ig:3I/l27A/OEB243>58ElG>N:KM@4HB1<3>=C9>Zp^FL/G3r/4FT~7A/ElFb1C9
gi7A=<F87A/Q1<9RFL/43~B@k3>/9FLg:37A/OEe7A=<3JDaF8EB3I5T\n7gi7AFL5L7:t45T3P|BFb1FL9aDN:=12^Da24FL5L361NsFL/QgP3I9;1FLXP7A136Da2431<243>=J/4FT~eG>7A/ntk3H93IE&FL/e=37A5TSU1<FTKM3
7:@4@45LFLGI7i1FLN:/O9>ZpR24F89JFT/^g:39m1<FTXQ7i1<FTNP/eD NPH45LE5T37:EeHO9q1<N&9N:KM3r9;FLX:/4F OGI7A/Q1 /OEBFT/XP967A/ED NPH458EeX:FLg:3*H969;NPKr3MG=<HG>FL7:5"FL/9FTXP2P1C9
FL/Q1Nr1243G>H4=<=3I/P1q/4Fb~^S t7:93IEh=<3I7A5TSv1FLKr36NP@O3I=<7A1FL/4Xr9\B9m1<3>Ks912O7i1q7A=<3pGH4=<=<3>/Q15L\,GNPKMKr3I=<G>FL7:5T5L\W7gi7AFL5L7:t45L3:Z
R243J1<=<7PEBFb1<FTNP/7A5
q/4FT~hN:@k3>=C7i1<FT/Xr9\B9m1<3>K9HB3>=C9`u=NPKy93>g:3I=<7:59;24NP=;1CGNPKrFL/4XQ9 Da23>/nH93IEhFT/n=<3I7A5TSv1FLKr3p7:@4@45LFLGI7i1FLN:/O9>Z
  "! $#%&'(*),+- .#/0! 213'40+- 3! #5 6768'(6- 9;:<! =13'4$>*'46!?!3'A@B6CDE#53:<- 2)#:<F>HG F$: I
@J'K'4E6- 9L;:<! 2611,- : CE6;: 0F # 63'4MF 0F9;13'(E3!?1;: N MG F$: IPO$'F 3-*6FQHQ$RF 6!S: CE6-T- RUC3 6F >:<F >13'B: 9
'B: ;: .#K3@V%6 #DOE#EW

[3p3>587AtkN:=C7i1<3q1<243I936@4=NPt45L3>Ks9RFT/&1<2436`uN:5L5TNiDaFL/4Xr1mDNr9H4t93IG1FLN:/9IZ
& ;=:
X AGKYOQK#ISI ( N6H#T I[Z ISKG6IS?

/43qNA`1243t4FLX:X:39m1@=NPt45T3IKs9 127A1 =<3I7:5bSv1FLKM3a@4=NPX:=C7AKMKM3>=C9-`j7:G>3Da24FL5T3HO9;FL/4Xzq/4Fb~r`uN:= =37A5TSU1<FTKM37:@4@45LFLGI7i1FLN:/WE43>g:3I5TNP@4KM3>/Q1


F89612O7i1z/Fb~]V:3I=/43I5G>7:/4/4NA1ptk3W@4=<3>3IKr@413IE
Z,R27i1F89I|"7A5L5FL/Q13>=<=<H4@B1<9z7A=<3ME4FL9<7At45L3IEdDa243I/]7:/^\N:@k3>=C7i1<FT/Xn9\B9m1<3>K=<N:H41FL/43
=<H4/9IZoNW931R12FT/4XQ9aFL/&@=NP@O3I=@k3>=C9@O3G$1FLg:3P|45L31H9R3I5L7:tONP=<7A13124F89aF899H43:Z
wq@4@45LFLGI7i1FLN:/@4=<N:XP=<7:KM9G>7:/dFL/^g:N:VP3zNP@O3I=<7A1FL/4X&9\B9m1<3>K93>=<g^FLG>3I912=NPH4X:2 Q:KPQG?@7VC
:9<;2;RQ$Z Vo~47AKM@45L3I9JN:`9\^9;13IKG>7:5T589JFT/4S
G>5THE431<2436N:@k3>=C7i1<FT/4XM9\^9;13IK 9;3I=g^F8G39`uNP=RG>=37i1<FT/4XM7*@4=NBG>3I9<9>|^FL/P1<3>=<@4=<N^G>3I9<9 G>N:KMKzH/4FLGI7i1<FTNP/
|^. : NP@O3I=<7A1FLN:/9I|^31<G:Zowa`13I=7
9\B9m1<3>KG>7A5L5
F89FL/^g:N:VP3IEht^\&7:/n7:@4@45LFLGI7i1<FTNP/
|41<243z7A=<X:HKr3I/Q1<9RX:FLg:3I/et^\W123z7A@4@5TF8G>7A1FLN:/nDa24FL5T3FL/^g:NPVQFL/4XM1<243z9\^9;13IKGI7A5L57A=<3
GC243GCV:3Ej93>3p-FLXZ  Z PZ {q3~^1I|O7r9@k3IGF87A5FL/9;1=<HG$1<FTNP/&GI7A5L5T3Eh7 uN:=a7
F89R3~B3IG>HB13EZowq9a9NQNP/&7P9
1<243J1=C7A@&FT/9;1=<HG1FLN:/,F89R3~B3GHB1<3IE|^1<243627A/E45T3I==<N:H41FL/43pGC27A/4XP3Ib,9f\5 124 36@4=<NBG3`a9] 9~N:b]=R\ 9mJ1C7i\01<_ 3ct`uh&=<N:b2__
K \\ ^ Q)7)5 b CDH`7p1N T7)5GWF7); C HE`
7WuNP=
Q^ZE 7V5GOZA Q)H<5 C HE`
7$|O7:/E,1243p3>~^3GHB1<FTNP/hN:`"1<243p=<3IYQH4FL=3EWV:3I=/3>5=<N:HB1<FT/43p9;1<7:=;1C9>ZoR243GC27:/4X:36N:`"KMNBEB3EBH4=<FT/XM7M9\B9m1<3>KyGI7A5L5
a

Version 2 CSE, IIT Kharagpur

27P9a9GC23>Ks7i1<FLGI7A5L5T\stk3>3I/lEB3>@4F8G$1<3IE&FL/&-FLXZ  Z 4Z
System

call

check parameters
OS Service
(kernel mode)

Trap

Application Program
(user mode)
system call
next statement

- FLX:H4=<38 #Wo.0/^g:NBGI7i1FLN:/hNA`ow/@k3>=C7i1FL/4Xs^\B9m1<3>K^3>=<g^FLG>36R2=NPH4X:2&w^\B9m1<3>K?7:5T5
w1*1243&=F89VN:`qEBFLX:=<3I9<9;FL/4Xe`u=<N:K 123W`uNBGH9rN:`a124F89MEBFL9<GHO99FTNP/
| 5T3>1rHO9zH4/OEB3>=C9m1C7A/E7A/cFLKM@ONP=;1C7A/Q1*NP@O3I=<7A1FL/4Xd9\B9m1<3>Ks9
G>N:/G>3>@B1Zn? 3>=1<7:FT/N:@k3>=C7i1<FTNP/9p9HGC2_7:9p27:/EB5LFT/XlEB3>g^F8G3I9I|"G>=37i1<FT/4Xn@4=<NBG3993I9IL| 5L3sN:@k3>=C7i1<FTNP/9I|
31CGAZ&/43>3E1<NetO3hEBN:/43sFL/
1<243V:3I=/3>5KMNBEB3N:/5T\PZ R27A1FL9I|7A@@45TF8G>7A1FLN:/n@4=<N:XP=<7:KM9R7:=3p@4=<3>gP3>/Q13EW`u=<N:KG>7:==<\^FT/4XrN:H4112439;3pNP@O3I=<7A1FLN:/9I|7:/E&/43>3E,1<N
=<3IYQH439m11243MN:@k3>=C7i1<FT/X,9;\B9;13IK12=NPH4X:27&9\^9;13IK G>7A5L5a1<N&GI7A=<=\&N:HB1J123*=<3IYQH4FL=3EeN:@k3>=C7i1<FTNP/
ZpR24F89=<3I9;1=<F8G$1FLN:/3>/7:t45T39
1<243hVP3>=</43>5f1Nd3>/B`uNP=<G>3hEBF89G>FT@5TFL/43h7:KMN:/4XE4Fb3>=<3>/Q1M@4=NPX:=C7AKs9pFL/7:GIG399FT/Xe12439;3hN:Jt 3m3G$1C9>Zd.0/ G>7P9;3h9;HGC2N:@k3>=C7i1FLN:/O9z7A=<3
/4N:1p@O3I=;`uNP=KM3IEFT/1<243MV:3>=</43I5-KMNBEB3P|EBFTk3I=3I/P1z7:@4@45LFLGI7i1<FTNP/@4=<N:XP=<7:KM9KMFTXP2Q1JFL/Q13>=`u3>=<3MDaFb1<2d37:GC2dNA123>= $ 96NP@O3I=<7A1FLN:/
Zrw/
3>~B7:KM@45T3sN:`7A/_N:@k3>=C7i1<FT/Xl9;\B9;13>K Da243>=<3,7:5T5NP@O3I=<7A1FLN:/9D 3I=3s@k3>=`uN:=<KM3IEFT/_HO9;3I=zKMNBEB3WF8961243hN:/G>3s@ONP@4H4587A=NP@O3I=<7A1FL/4X
9\B9m1<3>K p6n1<24N:HX:2Wp6rFL9o/3I7A=<5L\zN:tO9;NP5T3>13R/4NiDq$Z .0/sp6|P7:@4@45LFLGI7i1FLN:/M@4=<N:XP=<7:Ks9-7:=3R`u=<3>3R1<NzG>7:==<\NPHB1f7A/^\zNP@O3I=<7A1FLN:/
FL/H93>=6KMNBEB3 A|
FL/G5LHEBFL/4XnG=C7:924FL/4XW1<243r9\B9m1<3>K t^\lEB3I5T3>1FL/4X,1<243s9;\B9;13IK 5T39>ZR23*FL/9;1<7AtFT5LFb1m\n1<24F89pG>7A/dt4=<FT/4X&7AtkN:HB16F89
G>5T37A=<5T\6H4/7PG>G>3>@B1C7At45L3fFL/z=<3I7:5bSv1FLKM3f3>/^g^FL=NP/4KM3>/Q1I|i7A/OEF89H9H7:5T5L\GNP/9;F8EB3I=3E6H4/9<7i1F89;`j7:G$1<N:=<\6FT/*X:3>/3>=C7A5P7:@4@45LFLGI7i1<FTNP/9"7P9D3>5L5vZ
.0/]/4FT~|7&@4=<N^G>3I9<9J=H4//4FT/X&FL/V:3>=</43I5oKrNBEB3sGI7A/4/4N:1Jtk3s@4=<3>3IKr@413IEdt^\lNA1<243>=p@=NBG3993I9IZ.0/]NA1<243>=6DN:=CE49I|1243Wq/4Fb~
VP3>=</43>5F89 WFH<W = EF587:7)C EU?LA2O<7>Z/,1<2436NA1<243>=a27:/E|^1<243/4FT~h9\B9m1<3>KyEBN^39R@4=3I3>KM@B1@4=<NBG3993I9 =H/4/4FL/4XMFT/&123JHO9;3I=aKrNBEB3PZw
G>N:/93IYQH43I/G3pN:`-1<24F89F89a12O7i1q3Ig:3>/eDa23>/l7M5LNiD @=FLN:=<Fb1m\,@4=NBG>3I9<9aKs7AV:397W9\B9m1<3>KGI7A5L5U|1243*24FLX:2n@4=<FTNP=FT1m\,@4=<NBG3993I9aDN:H5LE
27gP3z1<NeD7:Fb1pH4/Q1<FT5o1<243W9\^9;13IK GI7A5L5otQ\l1243s5LNiD @4=<FLN:=<Fb1m\l@=NBG3996G>N:KM@45L3139>ZWN:=p=<3I7:5bSv1FLKM3M7:@4@45LFLGI7i1<FTNP/9>|
124F89G>7:H93I967
@4=<FLN:=<Fb1m\FL/^g:3I=<9FTNP/
Z"R23a5TNP/4X:39m19\^9;13IK GI7A5L5L9oKs7\z1<7AVP3RH4@M1N93>gP3>=C7A5^2^H4/EB=<3IE49NA`KrFL5L5TFk9;3GN:/OE49-1NG>N:KM@45L313PZ [dNP=<9;1;S0G>7P9;3
@4=<3>3IKM@B1FLN:/h1FLKM3I9RNA` 9;3Ig:3I=<7:5O2^H4/E4=3E49NA`"KMFL5T5LF89;3GN:/OE49RG>7A/&3I7P9;FL5L\WG>7AHO9;3J24FLX:2,@=FLN:=<Fb1m\M1C7:9VB9 DaFT12n924N:=1RE43I7:E45TFL/43I9RN:`1<243
NP=<EB3I=RNA`o7z`u3IDxKMFL5T5LF89;3GN:/OE491NsKMF8991<243>FL=EB3I7PEB5LFT/439>Z
31oH9 /4NiD FT/^g:39m1<FTXQ7i1<3:|iDa2^\p123/4FT~zV:3I=/3>5BDR7:9 EB3I9FLX:/43E1<NJtk3a/4NP/BSv@=3I3>KM@B1FLg:3FL/z1<24 3 =C9m1o@4587:G>3:Z-.0/rq/4Fb~|PDa243>/M7
VP3>=</43>5P=NPHB1FL/43 9;1<7:=;1C91<Nq3~B3GHB1<3:|A7A5L5QFT/Q13I==<H4@B1C97:=3fE4FL9<7At45L3IE
Z"R243FT/Q1<3>=<=H4@41<97:=3f3>/7:t45T3EpN:/5T\p7i`1<3>="1243 N:@k3>=C7i1<FT/4X9;\B9;13>K
=<N:HB1<FT/3GN:KM@45L31<3I9IZ-R2FL9fD7P9o7pg:3I=\3  GFL3>/Q1fDR7\NA`@4=<3I93>=<gQFL/4XJ123FT/Q1<3>X:=<FT1m\zNA`k123V:3I=/43I5E47A1<7p9;1=<HG$1<H4=39>Z-. 1 9<7g:3E1<243
NigP3>=<243I7PE49"7P99NBGF87i1<3IEDaFT12s9311FL/4Xp7A/E*=3I5T37:9FT/XN:`O5LN^GCVB9o7:/Ez=<3I9H45T13EzFL/*5LNiD3>=o7g:3I=<7:X:3o1C7:9V@4=<3>3>KM@B1<FTNP/z1<FTKM39>ZoR24NPH4X:2
7M/4NP/BS @4=3I3>KM@B1<FTgP3JVP3>=</43>5
GI7A/n=<3I9H45b1aFL/eD NP=<9;1;S0G>7P9;3q1<7P9;Vh=39;@kN:/93J1FLKM3pNA`oH4@&1NW7s93IG>N:/E|BFT1qDR7:9aG>N:/9FLE43>=<3IE&7:G>G>3>@B1C7At45L3
t^\1243&/4FT~cEB3I9FLX:/43I=<9IZlw1z1<27i1*1FLKr3P|o123h/Fb~cEB39;FLX:/43I=<9zEBFLE/4NA1z`uN:=<3I93>3WH9<7AXP3WNA`qq/4FT~]FL/c=<3I7:5bSv1FLKM3,7A@4@5TF8G>7A1FLN:/9IZ
q`fG>N:H4=C9;3P|FT1JG>N:H458En27g:3ztO3I3>/l@kNP9<9;FLt45L3p1Nh3>/9H4=<3zGNP==<3IG1/4399RN:`V:3I=/43I5"E47A1<7W9;1=<HG1H4=<3I9qtQ\&H9FT/X,5LN^GCVB97A1J7:@4@4=<N:@4=<FL7A13
@4587:G>3I9q=<7A1243I=q1<27A/E4FL9<7At45LFL/4XWFL/P1<3>=<=H@B1<9I|t4HB16Fb1JD NPH45LEl27g:3=<3I9H45T13EeFT/FT/G>=37:9FT/Xs1243M7g:3I=<7:X:3J1<7P9;Vn@4=<3>3IKM@B1FLN:/e1<FTKM3PZ
.0/]^3IG:Z  Z [OZ [WD3zFL/^g:39m1<FTXQ7i13z24NiD KMN^E43>=</l=37A5TSU1<FTKM3*N:@k3>=C7i1FL/4X,9\B9m1<3>Ks9KM7:V:3z1243*V:3>=</43I5"@4=<3>3IKM@B1FLg:3*DaFb1<24N:HB1J12=NPH4X:2
H936NA` V:3I=/43I5bS 5L3>g:3I57A/E&9;@FT/n5LN^GCVB9IZ
z }oxB0y7z 6xtsr~s<y7uLnvzm nvzs<Dn,{s<n}#nv srqxty7nvz0y svpvsBrtzsmJ}z{/wu~srLDn2{asBuS}rts<y7z{y7utxty7zvwy7ut0}m7sv

Version 2 CSE, IIT Kharagpur

& ;

6G ( T=COQK9TAjKTHI I?BR

.0/,1=C7:EBFT1FLN:/7:5Oq/4Fb~,9\B9m1<3>Ks9I|Q=<3I7:5bSv1FLKM3a1<7P9;VB9G>7:/W/4NA1tO367:9<9FTXP/43IEW9;1<7A1F8G@4=<FLN:=<Fb1m\rgi7A5LH43I9IZ^N^N:/,7A`13>=R7@=NPX:=C7AKMKM3>=f931C9
7*@4=<FTNP=FT1m\*gi7:5TH43`uN:=a71<7:9V|Q1243JN:@k3>=C7i1<FT/4Xr9;\B9;13IKV:3>3I@9 N:/h7:5b1<3>=<FT/XzFT1aE4H4=FL/4Xz1243pGNPH4=C9;3N:`3~B3GHB1<FTNP/,NA`12431<7P9;VZoR24F89
Ks7AVP3I9oFT1fgP3>=<\*EBF  GH45T1f1<Nz9GC23IEBH45L3=<3I7:5bSv1FLKM3R1<7:9VB9oH9FT/Xz7A5LX:NP=FT124Ks99HGC2s7:9 4lwNP= VfJ|Q9FL/G3tkNA1<2M12439;39GC243EBH45L3>=C9
7P99H4KM31<27i1RN:/G>31C7:9V*@4=<FLN:=<Fb1<FT39 7:=3q7P99FLX:/43E|PFT1a9;24NPH458Es/4NA1Rtk3J7:5b1<3>=<3IEMt^\W7A/^\rNA123>=@7A=1<9 NA`
1<243qNP@O3I=<7A1FL/4X*9\B9m1<3>KnZ . 1
F89RFT/O9m1<=HG1FLg:361<NrH/EB3>=C9;1<7A/OE,Da2^\hq/4FT~h/43I3IE491<NWEB\^/7AKMF8G>7A5L5L\WGC27A/4XP3J1243p@4=<FLN:=<Fb1m\sgi7A5LH439RNA`-1<7:9VB9>Z
q/4Fb~HO9;39"=<N:H/E=<N:t4FL/z9<GC243IE4H45TFL/4XJNA`41C7:9VB9"DaFT12*KzH45T1FL5L3>g:3I5^`u3>3EBt7:GCVZ".0/12FL9o9<GC243>KM3P|1243R9GC23IEBH45L3>=o7:==C7A/4XP3I91C7:9VB9"FL/
K*H45b1<FT5L3>gP3>5kYPH3>H439f7:9f9;24NiDa/MFL/W-FTXOZ  Z [OZ-w1 3>g:3I=\*@4=<3>3>KM@B1<FTNP/M@ONPFT/Q1I|P1239<GC243IEBH5T3I=f9GI7A/9o1243K*H45T1FL5T3Ig:3>5kYQH43>H43`u=NPK 1<243
1<N:@j24FTXP243I9;1f@4=<FLN:=<Fb1m\4o7:/EW93>5L3IG$1C9o1<2431C7:9Vr7A11243J2437:EMNA`1<2463 O=<9;1f/4NP/BSv3IKM@B1m\rYQH43IH43:<Z V 7:GC2r1<7P9;VMF89f7A5L5LNiD 3Ez1<Nz=<H4/M`uN:=7
4~B3Ep1FLKM3aYPHO7A/Q1H4KuN:="1FLKM3a9;5LFLG>3"7i17q1FLKr3PZ-q/4FT~z/4N:=<Ks7A5L5T\6H93I9-NP/4393IG>N:/Ep1FLKr3a95TF8G3PZ-R2O7i1 FL9I|AFT`123 =<H4/4/4FL/4XJ@4=<N^G>3I9<9
EBN^39 /NA1at45LN^GCVsNP=aGN:KM@45L31<3DaFT12FT/nN:/3J93IG>N:/E,NA`"FT1<9R9;1<7:=;1<FT/4Xr3~B3GHB1<FTNP/
|BFb1aF89@4=3I3>KM@B1<3IE&7A/E,1243p9<GC243IE4H45T3I=93>5L3IG1<91<243
/43>~^1a1<7:9Vs`uNP=EBFL9@7A1<GC24FL/4XZoq/4Fb~n9;\B9;13IKy24NiD3>gP3>=R7A5L5TNiD9aG>N:J/ XPH4=<FT/4X*123EB3`j7:H45b1NP/43p9;3GNP/EW1<FTKM395TF8G3E4H4=FL/4X `
L`,ba_d
R23V:3I=/43I5
@4=<3>3IKr@41<97s@=NBG399a127A1EBN^3I9a/NA1G>N:KM@45L313zDaFb1<24FT/eFT1<9J7:9<9FTXP/43IE,1FLKM3*YQH7A/Q1<H4Kn|=<3IGNPKM@4HB139
FT1<_19oh@_=\5FLN:J=<b2Fb1mct]9\P|Ah 7A /ErFL/93>=1<9 FT1t7:GCVFL/Q1N6N:/3N:`O1<243a@4=<FTNP=FT1m\YQH43>H3I9oEB3I@O3I/EBFL/4XN:/*123a=3GN:KM@4H413IE*@4=<FTNP=FT1m\pgi7A5LH43aNA`k123R1<7:9VZ
Tasks

Priority Level

Task Queues

2
3
4
5
6

- FTXPH4=3 [9W lH45b1<FbS


3Ig:3I543I3IEBt7PGCVXH43IH43I9
q/4Fb~l@k3>=<FLN^E4FLGI7A5L5T\lG>N:KM@4HB1<3I91243M@4=<FLN:=<Fb1m\nNA`7W1C7:9Vet7:93IEN:/l1<243r1m\^@O3MNA`f1243r1<7P9;Vl7:/ElFT1<9J3>~^3GHB1<FTNP/d2FL9;1NP=\PZR243
@4=<FLN:=<Fb1m\sN:` 7*1<7P9;Vd
UF89a=<3IGNPKM@4HB13Eh7A1a1243p3I/EhNA` Fb1C*9 3012&1FLKM39;5LF8G3pH9FT/X*1<2436`uN:5L5LNiDaFT/4X*1mDNr3>~B@4=399FLN:/29 W
  $
^ =^
v  s
Q! #" %$D^
j &'&(&  &
 M)
* +,^-  M
5 /.   M)
*5 +,/.
&(&'&I  &75:
Da243I=3   $
+,^FL9123r@=FLN:=<Fb1m\nN:`f123z1C7:90V
* R7A11<243M3>/EdNA`fFT1<19 
+21FLKM3s9;5LFLG>43 35s
QF891243MHB1<FT5LFT7i1<FTNP/NA` 1243r1C7:9V

o`uNP=FT1<96
+2l1FLKr3r9;5LF8G3:|7:/7E  M)
* 8,^FL9q1243rD3>FLX:2Q13En24FL9;1NP=\nN:`?fH41FL5TFLI7A1FLN:/lN:`1243z1<7P9;9V
f7A11<243z3I/ElN:`Fb1C9
301<2e1FLKM3z9;5LF8G3:6Z =^
aF89R1243*t7:93p@4=<FTNP=FT1m\,N:` 1243p1C7:9V)
a7:/9
E " %$D^
RF89a1<243/4F8G3zg7:5TH3z7:9<9;NBG>FL7A13IE&DaFT102
Z9;3I=
@4=<NBG3993I9JG>7:/27gP3*/4NP/BS /43>XQ7i1FLg:3z/4FLG>3Mg7:5TH3I9IZzR2^H9>|33IG$1<FTgP3>5L\n1243M/4F8G3Mgi7A5LH43r5TNiD3>=C9q1243M@4=<FTNP=FT1m\ngi7A5LH43MNA` 7h@4=<N^G>3I9<9
jFUZ 3:Zotk3>FL/4Xs/4F8G361<N*1<243pNA1<243>=a@=NBG3993I9C$|
V~^@=IZ  7Z 5*27:9Rtk3>3I/&=<3IG>H4=C9;FLg:3I5T\WEB,3 /43EZ/B`uNP5LE4FT/4XM1<243p=<3IGH=<9FTNP/
|^D 36XP321 W
 M)
* +,^  M
5 :.  M)
,[ /. 5P ;&'&(& &'&(&>  & P
. 1 GI7A/stk33I7P9;FL5L\*93>3>/M`u=<N:K Vo~B@4=Z  Z J1<27i1 FT/M1<243G>N:KM@4HB1C7i1FLN:/MN:`k1<243D3>FLX:2Q13EM24F89m1<N:=<\zNA`"? HB1FL5TFLI7A1FLN:/sN:`7p1<7:9V|A1<243
7PG$1FLg^Fb1m\duFvZ 3PZo@4=NBG>3I9<9;FL/4XMN:=R. :6 N:`"1<24361<7P9;VWFL/&1243pFLKMKM3IEBF87i1<3>5L\hGNP/G5LHEB3E,FL/Q13I=gi7A5F89aXPFTgP3>/W1<243pKs7i~BFLKzH4KD 3IFTXP2P1C7AXP3:Z
<

Version 2 CSE, IIT Kharagpur

. `o71C7:9VWH93I9RH4@l?fx`uNP=R1243J`uH45L5EBH4=C7i1<FTNP/,N:`-FT1<9a7:5T5LNA113IE,1FLKM3p9;5LFLG>3suFvZ 3PZ ""?f HB1<FT5LFT7i1<FTNP/O$|B1<243>/  M)


,^ F89
G>N:KM@4HB1<3IE]ut^\ V~^@=IZ  Z Pf1<NstO37r24FLX:2ngi7A5LH43  FL/EBF8G>7i1<FT/XM7r5LNiD 3I=FL/4XrNA`-1243p@=FLN:=<Fb1m\sN:`1<24361<7P9;VZ /h1243pN:1243I=a27A/E
|
FT`
123q1C7:9V*FLKMKr3EBF87i13Jt45LNBGCV:3IEs`uN:=f. P 7:99;N^NP/W7:9 Fb1a9m1C7A=13EsGN:KM@4H41FL/4XrE4H4=FL/4X*Fb1C9 7:5T5LNA113IEs1FLKr3695TF8G3P|P1<243>/9 M
,^
DN:H458Entk3*GNPKM@4HB13Ee7:97s5TNiD gi7A5LH43:|kFL/EBF8G>7i1<FT/X,7A/eFL/G=<3I7P9;3pN:`o1243z@4=FLN:=<FT1m\,NA`o1<243p1C7:9VkZtO9;3I=gP36127A11243r7:G1FLgQFT1FL3I9qNA`
1<243r1<7:9VlFL/1<243s@4=<3IG>3IEBFL/4X&FT/Q13I=gi7:5L9JX:3>1p@4=NPX:=<3I9<9;FLg:3I5T\&5LNiD 3I=D3>FLX:2Q1<7:X:3PZz. 19;2N:H458Etk3sG5L3I7:=1<27i1  M)
QJGI7A@B1<H4=39
1<243pD 3IFTXP2Q13IEh24F89m1<N:=<\WNA`?f HB1<FT5LFLI7i1<FTNP/hN:`"1<24361<7P9;V
7A1R1243p3I/E&NA`"FT1<<9 3012n1FLKM39;5LF8G3:Z
{qNiDp|49;H4tO9m1<Fb1<HB1FL/4X Vo~B@4=  Z rFL/ V~B@4=IZ  Z |BD 36X:3>21 W
  $
,^ = E^)
  M
5 :.  M)
* +,[ /. 5P ;&'&(&  " %$D^
&'&(&I  & [Q
R243J@4H4=<@kNP93N:`123JtO7:93@4=<FLN:=<Fb1m\r13I=K ) 2 ^
 FT/h12436@4=<FLN:=<Fb1m\sGNPKM@4HB1<7A1FLN:/&3~B@4=<3I9<9;FLN:/de Vo~B@4=Z  Z [QfFL9 1<NME4FTg^F8EB3
7:5T5B1C7:9VB9oFT/Q1<N7p9;3>1NA&` 4~B3IErt7:/E49oN:`@=FLN:=<Fb1m\z5T3Ig:3>589IZo/G>37J1<7P9;VF89f7P99FLX:/43E1<N76@4=FLN:=<FT1m\5T3Ig:3I5U|PFb1fF89o/4N:1f@kNP9<9;FLt45L3R`uN:=o1<243
1C7:9Vz1<NzKMNig:3aNPHB1f`u=<N:KFb1C9 7P99FLX:/43EMt7A/Er1<NzN:1243I=f@4=<FTNP=FT1m\ztO7A/E49EBH43q1NzE4\Q/O7AKMFLGq@4=<FTNP=FT1m\z=<3IG>N:KM@4HB1C7i1FLN:/O9>Z R243gi7A5LH439
N:` s
Q7A/E " %$D^
GN:KM@kN:/43I/Q1<97:=3sEB3I5TFLtO3I=<7A13I5T\=39m1<=F8G$1<3IEd1Netk3,9Ks7A5L5f3>/N:H4XP2d1<Ne@4=<3>g:3I/Q1z7n@4=NBG>3I9<96`u=NPKKMFTS
XP=<7A1FL/4XR`u=NPK Fb1C9"7P99FTXP/43IE6tO7A/EZ-R243ftO7A/E4927g:3ftO3I3>/zEB39;FLX:/3IEJ1NN:@B1<FTKMFL>3 . : GNPKr@5T3>1FLN:/p1<FTKM3I9I|3I9@O3GF87A5L5T\6t45LNBGCV. P*Z
\^/7AKMF8G*=<3IG>N:KM@4HB1C7i1<FTNP/dN:`@4=<FLN:=<Fb1<FT39DR7:96KMN:1FLg7A13E`u=<N:K1243M`uNP5T5LNiDaFT/XnG>N:/9F8EB3>=C7i1<FTNP/
Zrq/4FT~EB39;FLX:/43I=<96NPt93>=<g:3IE
1<27i1WFL/7A/^\cGNPKr@HB13I=W9;\B9;13>Kn|. :1=C7A/9;`u3>=M=C7i13nF89M@4=<FTKs7A=<FL5T\c=<3I9@kN:/9FTt5T3h`uN:=W7:/Q\ 9;5LNiDy=<3I9@ONP/93,1<FTKM3:Zf=NBG>3I9<9;NP=<9
7:=3r3~^1=<3>KM3I5T\n`j7P9m1GNPKM@7A=<3IEl1N&1243r1<=<7:/9m`u3I=6=<7A13I9JN:` . :EB3>g^F8G3I9IZ*3>587\lG>7:H93IEdtQ\e. P 1=C7A/O9m`u3I=<9123>=<3`uN:=<3M7A=<3z1<243
tkNA115L3>/43GCV,FL/n7PGC24FL3>g^FT/Xz`j7P9m1<3>=a1C7:9VW=39;@kN:/O9;3J1FLKM3I9IZNsKMFT1FLXP7A13J124F89@=NPt45T3IKn|BFb1F89EB39;FL=<7:t45L31<NMV:3>3I@n. : GC2O7A/4/43I5L9a7P9
t4HO9;\,7P9R@ONQ99FLt45T3PZR24F89G>7:/htk37:GC24FL3>gP3IE,tQ\h7:9<9;FLX:/4FL/4Xr123J. P tkN:H4/OE,1C7:9VB9R24FTXP2h@=FLN:=<Fb1<FT39>Z
w9-7:5T=<3I7PEB\6KM3>/Q1FLN:/43E|A/Fb~z2O7:9 7931 NA`k@4=<FTNP=FT1m\6t7A/E91<NDa2FLGC2rEBFb3>=<3>/Q1 1m\^@O39-NA`41C7:9V^9 7:=37:9<9;FLX:/43EZ"R23EBFT3>=<3>/Q1
@4=<FLN:=<Fb1m\rt7A/OE49H4/EB3I=Rq/4FT~WFT/&EB3IG>=37:9FT/4XzN:=CEB3>= NA`@4=<FLN:=<Fb1<FT39 7:=3 W-9D7:@4@k3>=|Pt45LNBGCVM. :*| 5T3JKs7A/4FL@4H4587i1<FTNP/
|BGC27A=C7:G13I=f. :
7:/E]EB3>g^F8G3,G>N:/Q1=<N:5v|7A/OE]H9;3I=@4=<NBG3I9<93I9IZ,"7P9;VB96@k3>=`uN:=<KMFT/4Xet5TNBGCV. P 7:=3s7P99FTXP/43IEd1<243W24FLX:2439m1@=FLN:=<Fb1m\t7A/E
Z HB1|
Da243I/7:=3ht45LN^GCV_. P=<3IYQH4FL=3 E "NdXPFTgP3&7:/3>~B7:KM@45T3&NA`t45TNBGCV_. P*| G>N:/9F8EB3>=r123h. P127A1sN^GIGH4=C9rDa24FL5T3&27A/OEB5TFL/4X]7
@7:X:3z`j7AH45T1JFL/d7,g^FT=1H7:5"KM3IKrNP=\e9\B9m1<3>Kn
Z 5LNBGCV&. P H93I9JlwSvtO7:93IEn1<=<7:/9m`u3I=I|7:/Ee243I/G3rKs7AV:393  G>FT3I/Q1JH93zN:`f. :
GC27:/4/43I5UZ,? 27:=<7PG$13I=6. :FL/G>5THE43I9pKMN:HO9;3s7A/OEVP3>\^tONQ7A=CEe1<=<7:/9m`u3I=<9IZsR243M@4=<FTNP=FT1m\lt7:/E496D3>=<3ME43I9FTXP/43IE1Nn@4=<Nig^FLEB3r1<243
KMNP9;1a33IG1FLg:3pH936NA`-1243p. P GC27:/4/43>589IZ
"N*VP3>3I@W123J. P GC27:/4/43>589t4H9\:|47:/Q\M1C7:9Vs@O3I=;`uNP=KMFL/4Xr. : 924N:H5LEh/4NA1Rtk3pV:3>@41DR7AFT1FL/4Xrg:3>=<\s5LN:/4X*`uN:=q?fzZ44NP= 1<24F89
=<3I7P9;NP/
|O7P99N^N:/7P9q7s1C7:9Vnt45TNBGCVB9q`uN:=q. P*|OFT1<9@4=<FTNP=FT1m\&FL9JFL/G=<3I7P9;3EntQ\&1<243z@4=<FLN:=<Fb1m\&=3GNPKr@HB1<7A1FLN:/l=<H45L3zX:FLg:3I/eFT@/ Vo~B@4=Z
 Z [O Z qNiD 3Ig:3I=I|4FT`f7r1<7P9;V&Ks7AVP3I9R`uH45L5-H9;3zNA`FT1<9587:9;17P99FTXP/43IEh1<FTKM3*95LFLG>3:|FT1F89qE4313I=KMFL/43IEe1NWtk3zGNPKM@4HB1<7A1FLN:/BS tkN:H4/Ee7:/E
FT1<9R@4=<FLN:=<Fb1m\MF89 =<3IE4HG3EZoR2QHO9f1<2436t7:9F8Gq@42FT5LNP9N:@42^\MNA` /4FT~WN:@k3>=C7i1<FT/Xr9\B9m1<3>KF89f1<27i1R1<2436FT/Q13I=<7PG$1<FTgP31<7P9;VB9R7A=<3qKs7PEB3q1<N
7P99H4KM3p24FLX:243I=@4=<FTNP=FT1m\,5L3>gP3>5897A/Ee7:=3p@=NBG3993IEn7A1a1243*3I7A=<5LFT39m1ZR24F89XPFTgP3I91<243zFL/Q13>=C7:G1FLg:36H93>=C9aX:N^NBEn=<3I9@ONP/9;361<FTKM3PZ
R24F89o1<3IGC24/FLYQH4327:9o/NiDtk3IG>N:KM3q7:/,7:GIG3>@413IEMDR7\zN:`
9GC243EBH45LFT/Xz9;N:`1f=<3I7A5TSv1FLKr31<7:9VB97:G>=NQ99f7A5LKrNQ9m1f7:5T5k7gi7AFL5L7:t45T3aXP3>/43I=<7:5
@4H=@kNP936N:@k3>=C7i1FL/4Xs9\^9;13IKs9>|49HGC2n7:9aeF8G=<NP9NA`1 $ 9[FL/EBNiD9aNP@O3I=<7A1FL/4Xr9\B9m1<3>Ks9IZ
[3*GI7A/e/4NiD 9;1<7i1<3`u=<N:K1243r7AtkNig:3pNPt9;3I=gi7A1FLN:/9127A1q123zNig:3I=<7:5T53>k3G$1JNA`@k3>=<FTNBEBF8G=<3IG>N:KM@4HB1C7i1FLN:/eN:` 1<7:9V&@4=FLN:=<FT1m\
gi7A5LH439RH9;FL/4X Vo~B@4=Z  Z [MFL97P9`uN:5L5TNiD
9 W
 F G5F3: I Q3RF6!S: C 13'B: 'J: LRHC.0!?1)E%6;: *F# EC 6)#/ 
<: FE$F#: N %6 #.O.#   ! : >0' 6   3: >*$'
6FQ $: >0 3' 1$'J: 'B: R- DN 3- #    3'4E6 # VG 9%<: FE$F#: N %6 .# O.#?6$'(! 6Q$  #/. $OP-   $' 13'B: 'J: LR
- .N$- #EW

{qNrEBNPH4tB1127A1R1243p7A@@4=NQ7:GC2M1C7AV:3I/,t^\W/Fb~,F89g:3I=\s7A@@4=NP@4=<FL7A13`uNP=RKM7A~BFTKMFL>FL/4Xz1<24367g:3>=C7AXP3a1<7P9;VM1<24=<N:H4XP24@4HB1|^7:/E
BE N^39aFT/OEB3>3En@4=Nig^F8EB36X:N^NBEn7g:3>=C7AXP3=<3I9@kN:/93I91<FTKM3p1<NsFT/Q13I=<7PG$1<FTgP3MU9;N:`1q=<3I7A5TSv1FLKr3 1<7P9;VB9IZf.0/&`j7:G1I|O7:5TKMNQ9m13Ig:3>=<\WKMNBEB3>=</
NP@O3I=<7A1FL/4Xd9\B9m1<3>KEBN^3I9*g:3I=\_9FTKMFL5L7:=sEB\^/7AKMF8GW=<3IGNPKM@4HB1<7A1FLN:/ NA`1<243,1C7:9V]@4=FLN:=<FT1FL3I9z1NKM7A~BFTKMFL>3h1243&Nig:3I=<7:5T59;\B9;13>K
1<24=NPH4X:2@4HB1J7:/En1<N,@4=<Nig^FLEB3zX:N^NBEe7g:3>=C7AXP3p=39;@kN:/O9;3p1<FTKM3z1NW1<243rFT/Q13I=<7PG$1<FTgP3p1<7P9;VB9IZ/NiD3>gP3>=|B`uN:=J27:=<Ee=<3I7:5bSv1FLKM3p1<7P9;VB9I|


Version 2 CSE, IIT Kharagpur

EB\^/7:KMFLGR924Fb`1<FT/XJN:`O@4=<FLN:=<Fb1m\pgi7A5LH439 FL9oG>5T37A=<5T\6FL/7A@4@=NP@4=F87i1<3:|A7P9 Fb1o@4=<3>gP3>/Q1<9"1<7P9;VB9-tk3>FL/4Xp9GC243EBH45L3IEr7i1o24FLX:2r@4=<FTNP=FT1m\p5T3Ig:3I5L9I|


7:/Eh7:5L9NM@4=<3>g:3I/Q1<9R9GC23IEBH45LFL/4XMH4/EB3I=@ONP@4H4587A=a=<3I7:5bSv1FLKM31C7:9V,9<GC243IEBH5TFL/4Xs7A5LX:NP=FT124Ks9R9HGC2&7PD9 VfJ7:/E 4qlwZ
& ;&

fH 6ILK; I
CTIGCTIR AG/T

6;=:

 HJISGR1TAGR

[3M27g:3r9;Nh`j7A=pEBF89G>H9<9;3Ee1mDNhXP5L7:=FL/4Xh924NP=;1CGN:KMFL/4XP9qNA`R/4FT~FL/27:/EB5LFT/4X&1<243*=<3IYQH4FL=<3>KM3>/Q1<9JN:`f=37A5TSU1<FTKM3M7A@4@5TF8G>7A1FLN:/92W
EB\^/7:KMFLGJ@4=<FTNP=FT1m\s=<3IGNPKM@4HB1<7A1FLN:/9R7:/E,/N:/BS @4=<3>3>KM@B1C7At45L3JV:3>=</43I5UZ [3p/4NiD EBF89G>H9<9a7z`u3ID N:1243I=EB(3 OG>FT3I/GFL3I9RN:`-q/4Fb~h127A1
G>=NP@hH4@nDa24FL5L31<=\^FL/4Xr1NsH93p/4FT~hFL/n=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/9IZ
(h` 
P^ce_1h&b _gLct^!_ \0ceg9_\1*]\b4 .0/c/4FT~u=<3>KM3>K*tO3I=p127A1zD3,7A=<3M1<7:5TV^FL/4XeN:=p1<243WNP=FLX:FL/7A5q/4FT~_^\B9;13IK 6
EB3Ig^FLG>3JEB=<FLg:3>=C9 =H4/hFT/hV:3I=/43I5KrNBEB3PZoR243>=<3`uNP=3P|QFT`"9H4@4@kN:=1 `uNP=a7z/43ID EB3IgQF8G3JF89f1<NMtO367:E4E43IE|^1<243>/,1243pEB=<FTgP3>=KMN^E4H45T3627P9
1<Nhtk3M5TFL/4V:3Ee1<N,1<243*VP3>=</43>5-KMNBEBH45L3I9  /43IG>3I9<9;FT1<7A1FL/4Xh7&9\^9;13IK X:3I/43>=C7i1<FTNP/9m1<3>@
Zw9p7W=<3I9H45T1I|@4=<Nig^FLEBFL/4X&9;H4@@ONP=;1J`uN:=67
/43ID E43>g^FLG>36FT/e7A/n7A5L=<3I7:E4\WEB3>@45LNi\:3Eh7:@4@45LFLGI7i1<FTNP/hF89aGH4K*tO3I=<9N:KM3PZ
0
S
.0/dq/4FT~L| 5T3rt45LNBGCV^9J7A=<3M7A5L5TNBG>7A13El7:967A/OElDa243I/l123>\l7A=<3z=<3IYQH439m1<3IEtQ\l7:/d7:@BS
@435L#F8G>^Z7i. 1<FTNP] /
 Zwq_ 96 7&1 +GNPctdP/9;_3YQH43>c e/_ G>3:1L|_Da\24gLFLce5T^3M_17,`4 1<7:9VeF89Da=<FT1FL/4XW1<N&7 5L3:|FT16Ks7\n3>/OGN:H/P1<3>=p7A/3>=<=NP=Da243I/l1<243rE4FL9Ve=H/9JN:HB16NA`
9@7:G>3:Z .0/nNA1<243>=aDN:=CE49I|Q/NrXPH7A=C7A/Q1<3>3JFL9RXPFTgP3>/h127A1qEBFL9V,9@7:G>36D NPH45LEhtk37g7:FT587At5T3JDa243>/e7*1<7P9;V,Da=FT139a7*t5TNBGCVs1<NW|7 O5T3PZ
"=<7PEBFT1FLN:/7:5 5L3Da=FT1FL/4X,7:@4@4=<NP7PGC243I9a7:5L9Ns=39;H5b1FL/95TNiD Da=FT1399FT/G>3=<3IYQH4FL=3E&9@7PG327P9R1N,tO3z7:5T5LNBG>7A13IEntk3`uNP=3pDa=<FT1FL/4X
7,t45TNBGCVZ6w/4N:1243I=@4=<N:t5T3IKDaFT121243*1=C7:E4Fb1<FTNP/7AS5 5T3M9\^9;13IKs9qF891<27i16t45LNBGCV^9qNA`o1<243r9<7AKM|3 5T3rKs7\h/NA16tO3MGNP/P1<FTXPH4N:HO9;5L\
5LNBG>7i1<3IEN:/c1<243eEBF89;VZR24F89rD NPH458Ec=<3I9H45b1MFL/ =<3I7PEcN:@k3>=C7i1<FTNP/9z1<7AV^FL/4XH/4@4=<3IEBF8G$1C7At45L3&1FLKr39>| =39;H5b1<FT/4XdFT/ 3mFT1;13I=sFT/ E47A1<7
7PG>G399IZq.0/d=37A5TSU1<FTKM|3 5T3r9;\B9;13IKM9J9FTXP/4F kG>7A/Q1J@O3I=;`uNP=Ks7A/OG3FLKM@4=NigP3>KM3>/Q1GI7A/dtO3r7:GC24FL3>gP3IEet^\e9m1<N:=<FT/X 5L3I96GNP/P1<FTXPH4N:HO9;5L\
NP/,1<243EBF89;VZf^FL/G361<243 5L39;\B9;13IK @4=<3I7A5L5LN^GI7i1<3I9R9;@O7:G3P|^124361<FTKM39R`uN:=a=<3I7PE,7A/OEhDa=<FT136N:@k3>=C7i1<FTNP/9a7A=<3KMNP=36@4=<3IEBF8G$1C7At45L3:Z
.0/q/4FT~]9\B9m1<3>Ks9>|-=<3I7A5TSv1FLKr3M1<FTKM3I=r9H4@4@kN:=1FL9zFT/O9;H  G>FT3I/P1*`uN:=Ks7:/Q\27:=<E
=<(h3I7: 5bSv1_ FLKM 3J7Aba@4_2@45L+F8G>ce7idP1<FTNP_/\ 9IZ1L_R\24gL3rce^G_5LNB` GCV,1*=<3I9N:5L]HB\1bFLN: /&12O7i1qF89@4=<Nig^FLE43IEh1N,7:@4@45LFLGI7i1<FTNP/9aF89 "MKMFL5T5LF 9;3GN:/OE49>|Da24FLGC2eF89a1<N^N,GNQ7A=C9;3
`uNP=aKM7:/^\W27A=CEh=37A5TSU1<FTKM3p7A@4@5TF8G>7A1FLN:/9IZ

 (e  "+p"
   !#"k> %
$ &dq'  ) (+*  ,, -q
[3z27gP3z7A5L=<3I7:E4\h93>3>/FT/e1<243r@4=3Ig^FTNPH993IG$1<FTNP/e12O7i1q1<=<7PEBFT1FLN:/7:5"/Fb~l9\^9;13IKs97:=3/NA1J9H4FT1<7:t45T3`uN:=JtO3IFT/4XhH93IEeFL/l27:=<E
=<3I7:5bSv1FLKM367:@4@45LFLGI7i1<FTNP/9>Z-.0/&124F8993IG1FLN:/
|BD3pEBFL9<GHO991<243pEBFb3>=<3>/Q1q7:@4@4=<NP7:GC23I9f127A1R2O7g:36tO3I3>/&H4/EB3I=;1C7AVP3>/h1NMKs7AV:3pq/4Fb~
9H4FT1<7At5T3J`uN:=q=37A5TSU1<FTKM367A@4@45LF8G>7i1<FTNP/9IZ
' A ' I ' K  /TH#TAG<?G/T
Z ILKGIS?

w /O7AFLg:3z7A1;13IKM@B1qKs7:EB3zFT/n1<243z@7P9m1a1<NWKs7AVP361=C7:EBFT1FLN:/7:5/Fb~l9H4Fb1C7At45L3p`uNP==37A5TSU1<FTKM37:@4@45LFLGI7i1FLN:/O9aD7P9at^\&7PE4EBFL/4X,9N:KM3
<= 3I7:5bSv1FLKM3,G>7:@7At4FL5LFb1<FT39zNigP3>=1<243,tO7:9FLG,V:3>=</43I5UZR243I93h7PE4EBFT1FLN:/7:5T5L\]FTKM@45L3>KM3>/Q1<3IEGI7A@7:t4FL5TFT1FL3I9*FT/OG5LHEB3IE=37A5TSU1<FTKM3s1<FTKM3I=
9H4@4@kN:=1I|47r=<3I7A5TSv1FLKr31<7P9;VW9<GC243EBH45L3>=Rt4H4FL5b1NigP3>= 1243pq/4Fb~n9GC23IEBH45L3>=|^31CGAZjNiD3>gP3>=|:1<243I9363~^13I/9FTNP/9REBNM/4NA17:EEB=399 1<243
`uH4/OE47AKM3>/Q1C7A54@4=<N:t5T3IKM9 DaFT12r1<243/4FT~s9;\B9;13>K127A1D 3I=3R@kN:FL/P1<3IErN:H41FT/r123a5L7P9m1f93IG1FLN:/ 3P/7AKM3>5L\:|:/4N:/BS @4=<3>3IKr@41FLg:3RV:3I=/43I5
7:/E_EB\^/7AKMF8GM@4=<FTNP=FT1m\l5L3>g:3I5L9IZn{NeDN:/EB3I=p12O7i1*9H4@k3>== OGF87A53>~^13>/O9;FLN:/9p1Ne1<243,G>7:@7AtFT5LFb1<FT39pNA`R1<243,/Fb~]V:3I=/43I5DaFT124NPHB1
7PE4EB=<3I9<9;FL/4Xl1<243h`uH4/E47:Kr3I/Q1<7A5E4(3 OG>FT3I/GFL3I9rNA`q1243e/Fb~9\B9m1<3>K`u3>5L5aDaF8EB3e9;24NP=;1rNA`1<243n=3YQH4FT=<3>KM3I/P1C9zN:`q27:=<E=37A5TSU1<FTKM3
7:@4@45LFLGI7i1FLN:/O9>Z


6;

ARHY ' *K#UjIH N/NK#A-*C!

qNP9;1;Sv1<7A=<X:3>1NP@O3I=<7A1FL/4X&9\B9m1<3>Ks967A=<3*@kN:@H45L7:=5L\ntO3IFT/XnE43>@45LNi\:3ElFL/d3IKztk3IE4EB3Ed7:@4@45LFLGI7i1<FTNP/9>Zz.0/1<24FL9p7:@4@4=<NP7PGC2
|1<243M=37A5TS
1<FTKM3s7A@4@5TF8G>7A1FLN:/dE43>g:3I5TNP@4KM3>/Q16FL96EBNP/43*NP/7h24NQ9m16Ks7:GC24FL/43:Z*R243M24NP9;1JKs7PGC24FT/3*F89J3>FT1243I=7W1<=<7PEBFb1<FTNP/7A5 /Fb~NP@O3I=<7A1FL/4X
9\B9m1<3>KN:=67W[FL/EBNiD9J9;\B9;13IK&Z6R243*=37A5TSU1<FTKM3*7:@4@45LFLGI7i1<FTNP/lFL9JEB3Ig:3>5LN:@k3IElN:/e1<243*2NP9;1J7A/OEe123*EB3Ig:3>5LN:@k3IE7A@4@45LF8G>7i1<FTNP/lF89
EBNiDa/5TNQ7:EB3E]N:/Q1N7l1<7:=XP31ztkNP7:=<E]1<27i1rFL9z1NdtO3&3>K*tO3E4EB3E_FT/7e=<3I7A5TSv1FLKr3&9;\B9;13IK&Zw 4JnS =39;F8EB3I/P1r9;Ks7A5L5=37A5TSU1<FTKM3
VP3>=</43>5F89RH93IE&FT/&1<24361<7:=XP31RtONQ7A=CEZoR24FL9q7A@4@4=<NP7PGC2,27P9a9GC23>Ks7i1<FLGI7A5L5T\stk3>3I/n924NiDa/&FT/e-FLXZ  Z  Z

"

Version 2 CSE, IIT Kharagpur

ROMresident
operating system

TCP/IP
Embedded
processor

Host System

" FLX:H=3  WBGC23>Ks7i1<FLG84a3I@4=<3I93>/Q1<7A1FLN:/,N:` 7 qNP9;1;S0"7:=XP31^\B9m1<3>K


R243MKs7AFL/FLEB37,tk3>2FT/Ed1<24FL9p7:@4@4=<NP7PGC2F89q1<27i1p1<243M=37A5TSU1<FTKM3rN:@k3>=C7i1<FT/4Xn9\^9;13IK=<H4/4/4FL/4XnN:/d1243r1C7A=<X:316tkNP7A=CEl/3>3IE9
1<N,tk3zV:3I@B1J7P9q9Ks7A5L5"7A/OEl9;FLKM@45L3*7:9q@ONQ99FLt45T3PZqR24F89qFLKM@45LFT391<27i11243*N:@k3>=C7i1FL/4X,9\B9m1<3>KN:/e1<2431C7A=<X:3>1qtONQ7A=CEnD NPH458En5L7PGCV
g^FL=;1<H7A5KM3>KMN:=<\MKs7A/7:X:3>KM3I/P1a9H4@4@kN:=1I|^/43>FT123>=RD NPH458EWFT1a9H4@4@kN:=1a7A/^\MHB1FL5TFT1FL3I9a9HGC2&7:9RGNPKr@FT5L3>=C9>|^@4=<N:XP=<7:K 3EBFT1N:=C9I|Q3>1<G:Z
R243p@=NBG399N:=N:/h12361<7A=<X:3>1atONQ7A=CE,DN:H458Eh=H4/h123p=37A5TSU1<FTKM36N:@k3>=C7i1<FT/4Xs9\B9m1<3>KnZ
R24324NQ9m1o9;\B9;13IKFL9 7J/4FT~zNP=-[FL/EBNiD9;S t7:93IE9\B9m1<3>K 9H4@4@kN:=1FL/4X1243R@4=<N:XP=<7:K E43>g:3I5TNP@4KM3>/Q1 3>/^g^FT=<N:/4KM3I/P1|iFT/OG5LHEBFL/4X
G>N:KM@4FL5T3I=<9I|3IEBFT1NP=<9I|5TFLt4=C7A=<\:|G=<NP9<9;S G>N:KM@4FL5T3I=<9I|kE43>t4H4XPX:3I=<931CGAZzR2439;3M7A=<3zKM3IKrNP=\lE43>Ks7A/E4FT/4Xn7A@@45TF8G>7A1FLN:/91<27i16=3YQH4FT=<3
g^FL=;1<H7A5oKM3>KMNP=\9H4@4@kN:=1IZsR243M24NQ9m1F896H9H7A5L5L\GNP/4/43IG13El1<Nn1243M1C7A=<X:316H9FT/Xn7n93>=<FL7:5o@ONP=;1pNP=7&q? .m GNP/4/43IG1FLN:/
U9;3I3r-FLXZ  Z  ZJR243r=<3I7A5TSv1FLKr3*@4=<N:X:=C7AKF89EB3Ig:3I5TNP@O3ElN:/l1243r24NP9;1IZ6. 16FL91<243>/G=<NP9<9mS0GNPKr@FT5L3IE&1<NhXP3>/43I=<7A13zG>N^E43`uN:=J1<243
1C7A=<X:31p@4=<NBG399N:=Zr^Ht9;3YQH43>/Q15L\:|1243s3>~B3IGH41<7At5T3MKMNBEBH45L3sFL9pEBNiDa/5TNQ7:EB3El1<Nh1<243M1<7:=XP31ptkNP7A=CEZs-7:9V^967:=3M3~B3GHB1<3IEdN:/
1<2431C7A=<X:31tONQ7A=CEs7A/Es12433~B3IG>HB1FLN:/WF89GN:/Q1<=NP5T5L3IEs7A1f123q24NQ9m1R9;F8EB3qHO9;FL/4X*7*9;\^K*tONP5TF8GG=<NP9<9;S EB3It4H4XPX:3>=Z-/G>31<243q@4=<N:XP=<7:K
DN:=<VB99HGIG3I9<9;`uH45T5L\:|BFT1F89R`uH93IE&N:/n7 4aJ N:=R}k7:92hKM3>KMNP=\,7:/EhtO3GN:KM39a=37:EB\M1<NstO3E43>@45LNi\:3EWFL/n7:@4@45LFLGI7i1<FTNP/9>Z
? NPKrKM3I=<G>FL7:5-3>~47AKM@45L3I96NA`R24NQ9m1SU1C7A=<X:316=<3I7A5TSv1FLKr3MNP@O3I=<7A1FL/4Xe9;\B9;13>Ks96FL/G5LHEB3W6| q~^[N:=<VB9>|"7A/E /4 R*Z
[d3,3~^S
7:KrFL/43&123I93nG>N:KMKM3>=CGF87A5R@4=<NBEBHG$1C9MFT/^3G$1FLN:/  Z
^Z [d3eDN:H5LE@ONPFT/Q1WN:H41r1<27i1M1<243&1<7A=<X:3>1rNP@O3I=<7A1FL/4X]9;\B9;13>Ks9sEBH3h1<N
1<243>FL=q9KM7:5T5"9;FL>3P|5LFTKMFT13IE&`uH/G$1<FTNP/7A5LFb1m\P|O7:/E&N:@B1<FTKs7A5"EB3I9FTXP/e7:GC24FL3>gP3JK*HGC2ntO3>1;1<3>=q@k3>=`uN:=<Ks7A/G>
3 X:H4=<3I9a127:/h`uH5T5TSU}O3IEBXP3IE
NP@O3I=<7A1FL/4X,9\^9;13IKs9>ZJ4N:=J3~47:Kr@5T3P|1<243z1C7:9Vn@4=3I3>KM@B1<FTNP/e1FLKM3I9NA`o123I93*9\^9;13IKs97:=3N:`o1243rN:=CEB3I=qNA`o`u3IDKMFLG>=Nh9;3GN:/OE49
G>N:KM@7A=<3IEW1NW93>gP3>=C7A52^H4/EB=<3IE49RN:`"KMFL5T5LF"93IG>N:/E49 `uNP=R1=C7:EBFT1FLN:/7:5
/4FT~&9\B9m1<3>Ks9IZ
Target Board

&

6;

O K#ILI ( N6H#TBAG O AT=GH

NNKA<C 

[3,27gP3,7A5L=<3I7:E4\@kN:FL/P1<3IE_NPHB1z1<27i1rN:/43hNA`a1<243,Ks703mNP=z924N:=1<G>N:KMFT/XP9N:`R1243h1=C7:EBFT1FLN:/O7A5 q/4FT~GNBEB3&7A=<FL93I96`u=<N:K 1<243


`j7PG$1R127A1EBH4=<FT/4XM7M9;\B9;13IK G>7A5L5v|47A5L5FT/Q13I==<H4@B1C9R7A=<3Ks7:9V:3E
jE4FL9<7At45L3IEOo`uNP= 1<24363>/Q1FL=<36E4H4=<7A1FLN:/hNA`"3>~B3IGH41FLN:/,N:`1<243p9;\B9;13>K
GI7A5L5UZoR24F89f5L3I7PE49f1NrH4/7:GIG3I@B1<7:t45T3D NP=<9;1 GI7:931<7P9;VM=<3I9@ONP/931FLKM3I9NA`1<243JN:=CEB3>= NA`"7*9;3GN:/OE|^KM7:V^FT/4Xr/4FT~^SvtO7:93IEW9\B9m1<3>Ks9
H4/O7:G>G>3>@B1C7At45L3J`uN:=aKMNP9;127:=<Eh=37A5TSU1<FTKM367A@4@5TF8G>7A1FLN:/9IZ
wq/7:@4@4=<NP7:GC2c127A1M2O7:9rtO3I3>/ 1<7:V:3>/t^\c7d`u3>DygP3>/E4N:=C91<NFLKM@4=<Nig:3W1<243n=37A5TSU1<FTKM3&@O3I=;`uNP=Ks7:/G3&NA`J/4N:/BS @4=<3>3IKr@41FLg:3
VP3>=</43>589FL91<243pFT/Q1<=NBEBHG1FLN:/&NA`-@4=3I3>KM@B1<FTNP/h@kN:FL/Q1<9RFL/n9\B9m1<3>K =<N:H41FL/43I9IZo=<3>3>KM@B1<FTNP/,@kN:FL/Q1<9RFL/h1<24363~B3IG>HB1FLN:/&NA` 7M9;\B9;13>K
=<N:HB1<FT/3M7:=3r1<243sFT/O9m1C7A/Q1<97A1pDa24FLGC21<243sV:3I=/43I5E47i1C7e9m1<=HOG$1H=3MF89pGN:/O9;F89m1<3>/Q1IZWw1z9HGC2]@kN:FL/P1C9>|1243sVP3>=</43>5GI7A/]97A`u3>5L\tk3
@4=<3>3IKM@B13El1<N&Ks7:V:3MD7\n`uNP=p7A/^\lDR7AFT1FL/4Xh2FTXP243>=p@4=<FLN:=<Fb1m\e=<3I7:5bSv1FLKM3z1C7:9V^91<N&=<H4/DaFb1<24N:H41zGN:=<=<H4@B1FL/4Xn7A/^\eV:3I=/3>5E47A1<7
9;1=<HG$1<H4=<3I9IZq.0/l1<24F897:@4@4=<NP7:GC2|ODa243I/e123*3>~^3GHB1<FTNP/lNA`f7h9;\B9;13IKGI7A5L5"=<3I7PGC243I97W@4=<3>3IKM@B1FLN:/l@kN:FL/Q1I|k123*VP3>=</43>5-GC243IGCVB9a1<N
93>3FT`7A/^\&24FTXP243>=q@4=FLN:=<FT1m\W1<7P9;VB9a2O7g:3ptk3IGNPKM3=37:EB\PZ . `o1<243>=<3pF89q7i15T37:9;1qN:/43P|FT1@4=<3>3IKM@B1<9R1<243z@=NBG399FL/4XsNA` 123V:3I=/43I5
=<N:HB1<FT/3h7A/OEcEBF89;@7A1<GC24391<243&D7:Fb1<FT/4Xd24FLX:2439m1r@4=FLN:=<FT1m\1C7:9VFLKMKM3IEBF87i1<3>5L\:Z]R243hDN:=C9;1;S0G>7:93s@4=<3>3IKr@41FLN:/c587i1<3>/G>\FL/c1<24F89
1<3IGC24/4F8YQH43R123>=<3`uN:=<3RtO3GNPKr39 123a5TNP/4X:39m1o1<FTKM3atk31mD3>3>/r1mDNpGN:/O9;3GHB1<FTgP3@=3I3>KM@B1FLN:/M@kN:FL/Q1<9IZ w97J=39;H5b1|A123D NP=<9;1;S0G>7P9;3
=<3I9@ONP/93o1FLKM3I9"NA`B1<7P9;VB9FTKM@4=<Nig:39
9;3Ig:3I=<7:5i`uN:58E49-GN:KM@7:=3EJ1Nq124NQ9;3o`uNP=1<=<7PEBFT1FLN:/7:5:N:@k3>=C7i1<FT/Xq9;\B9;13IKM9DaFb1<24N:H41"@4=<3>3IKr@41FLN:/
@kN:FL/Q1<9IZ R24F89Ks7AVP3I9R@4=<3>3IKM@B1FLN:/e@kN:FL/Q1;S t7:93IEhN:@k3>=C7i1<FT/4XW9\B9m1<3>Ks99H4FT1<7At5T36`uNP=H93FT/nKs7A/^\&G>7i1<3>XPN:=<FT39RNA` 27A=CE&=37A5TSU1<FTKM3
7:@4@45LFLGI7i1FLN:/O9>|1<24N:H4XP2*FT1f9;1FL5T5^`j7:5T589o9;2N:=1-N:`123=<3IYQH4FL=<3>KM3>/Q1<9-N:`O27:=<E*=37A5TSU1<FTKM3R7A@4@5TF8G>7A1FLN:/9-=<3IYQH4FL=FL/4XJ@4=3I3>KM@B1<FTNP/z587i13I/G\
N:`"1<243N:=CEB3I=aNA`o7r`u3>D KrF8G=<NW93IGNP/E49RNP=5T399IZfwq/4NA1<243>=q7PEBgi7A/Q1<7:X:36NA`-123@4=<3>3>KM@B1<FTNP/n@ONPFT/Q1q7A@@4=NQ7:GC2&FL9a127A1Fb1qFL/^g:NP5TgP3I9
:

Version 2 CSE, IIT Kharagpur

NP/45T\MKMFL/4N:=RGC27A/X:3I91N*tO3JKs7:EB3q1N*1243JV:3I=/43I5OG>N^E43:Zol7A/^\MN:@k3>=C7i1<FT/Xz9;\B9;13IKM9 FL/W`j7:G12O7g:3a1C7AV:3I/s123@4=<3>3IKM@B1FLN:/W@kN:FL/Q1
7:@4@4=<NP7:GC2hFT/&1<243p@7:9;1IZof=NPKrFL/43I/P1G>N:KMKM3>=CGF87A53~47AKM@45L3I9RN:`"1<24F89a7A@4@4=<NP7PGC2,FL/G5LHEB3 oS07:/E,[FL/EBNiD9q? VqZ
6; 

IS? /Y ARH DRHJI ( R

q/45TFLV:3*123r2NP9;1;Sv1<7A=<X:3>1J7:@4@4=<NP7:GC2eDa23>=<3r7:@4@45LFLGI7i1FLN:/dEB3>gP3>5LN:@4KM3>/Q16FL96GI7A=<=FL3IEeNPHB16N:/d7&93>@7:=<7A13z2NP9;1JKs7:GC2FT/43*=H/4/4FL/4X
1<=<7PEBFb1<FTNP/7A5k/4FT~|^FT/,93>5T`S 24NP9;1 9\^9;13IKs9 7p=<3I7:5bSv1FLKM3q7A@@45TF8G>7A1FLN:/sF89 E43>g:3I5TNP@O3EsN:/M1<2439<7AKM3J9;\B9;13>KN:/,Da24FLGC2W1243=37A5TSU1<FTKM3
7:@4@45LFLGI7i1FLN:/]DN:H458E /7:5T5L\d=<H4/
Zlq`aGN:H=<93:|"Da24FT5L3,EB3I@45LNi\QFL/4Xn1<243,7A@@45TF8G>7A1FLN:/
|1243,N:@k3>=C7i1FL/4Xl9\B9m1<3>KKMNBEBH45L3I9127A1*7A=<3
/4N:13I9<9;3I/Q1F87A5
EBH4=<FL/4XM1<7P9;VW3>~B3IGH41FLN:/e7A=<363~4G5LHEB3E&E4H4=FL/4XWEB3I@45LNi\QKM3I/P1a1<NsKMFT/4FLKMFTI361243*9;FL>36NA`-123N:@k3>=C7i1<FT/4Xs9\B9m1<3>KyFL/
3IKztk3IE4EB3E]7A@4@45LF8G>7i1<FTNP/
Z 4a3IKr3IKztk3>=p1<27i1FL/_24NQ9m1SU1C7A=<X:31p7A@@4=NQ7:GC2
|1<243s1C7A=<X:31p=<3I7:5bSv1FLKM3rNP@O3I=<7A1FL/4Xn9;\B9;13>K D7P9p7&5T37A/
7:/EM3  GFL3>/Q1R9;\B9;13>K 12O7i1G>N:H458EMN:/5T\M=<H4/M1243J7A@4@5TF8G>7A1FLN:/st4HB1REBF8Es/4NA1 FT/G>5THOEB3q@4=<N:XP=<7:K EB3Ig:3I5TNP@4KM3>/Q1o`j7:G>FT5LFb1<FT3(9 3^@4=<N:XP=<7:K
EB3Ig:3I5TNP@4KM3>/Q1JDR7:96GI7A=<=FL3IEeNPHB1pN:/1243M24NQ9m1p9;\B9;13IK&ZrR24F896KM7PEB3M7A@4@45LF8G>7i1<FTNP/dEB3Ig:3I5TNP@4KM3>/Q17A/EdEB3>t4HX:X:FL/4XnEBF  G>H45T1p7:/E
=<3IYQH4FL=3EnG=<NP9<9mS0GNPKr@FT5L3>=a7A/OEeG=<NP9<9mS0EB3>tH4X:XP3>=a9;H@4@ONP=;1ZRB3>5T`Sv24NQ9m1J9;\B9;13>Ks9R1C7AVP37WEBFTk3I=3I/P1J7A@4@4=<NP7PGC2
Z R23=37A5TSU1<FTKM37:@BS
@45LF8G>7i1<FTNP/WF89E43>g:3I5TNP@O3EsN:/W1243`uH45L5bSv}3IE4X:3IEWN:@k3>=C7i1FL/4Xr9;\B9;13>KnZf/G>3123J7:@4@45LFLGI7i1FLN:/s=<H4/99<7i1F89;`j7:G$1<N:=<FT5L\rN:/W1<243J24NP9;1I|QFb1RF89
`uH93IE&NP/n7 4J N:=R}O7P9;2nKM3>KMNP=\WNP/&124361C7A=<X:31tkNP7:=<E&7A5LN:/XrDaFT12e7M@kNP9<9;FLt45L\,9;1=<FT@4@k3IEeE4NiDa/hgP3>=C9;FLN:/&NA`-1243pNP@O3I=<7A1FL/4X
9\B9m1<3>KnZ
eNQ9m1aN:`1239;3I5b`S 24NP9;1aN:@k3>=C7i1<FT/4Xs9\B9m1<3>Ks9127A1q7A=<3JG>H4=<=3I/P1<5T\h7g7:FT587At5T3P|^7:=36t7P9;3E,NP/hKMF8G=<NAS V:3I=/43I5k7:=<GC2Fb1<3IG$1<H4=<3:Zoq93
N:` 7rKMFLG>=NPV:3I=/43I57A=CGC24Fb1<3IG1H4=<3q`uNP=7M9;3I5b`S 24NP9;1aN:@k3>=C7i1<FT/4Xs9\B9m1<3>K 3I/P1C7AFL5L9a93>gP3>=C7A57:E4g7:/Q1<7AXP3I9IZ
 F 62!S: C'439;O3'LF$-E6$'4C33: C)'( 30F- R   CD'4 @),FC;: *F 6- : ;: E#V#.) C36 #7:<F3'L')1E 6F Q*- :<F> 6FQ
31 '4 CDE#%#U!6F6 >$3!3F63'4":<!?1- 3! $FEQP6 #UO3'LF 3- '40);:<F .#EWK-T- $$'&@),FC;: *F 6- : ;: E##.) C3
6 #S! $! '(RM!6F6 >$3!3F  - U!6F 6 >,3! $FE *Q$.N3: C. !6F 6 >,3! $FE .%C 63'4=:<!?1- 3! $FEQM6 #
6QQ39 0F8!Q*)- .#  $: C?*133' 6?:<F8) #%$' !  Q,,W

R2437PE4E^S N:/nKMNBEBH45L3I9qGI7A/ntk3z3I7P9;FL5L\W3~4G5LHEB3E|kDa243>/43Ig:3I=R12439;3z7:=3p/NA1q=<3IYQH4FL=3EZ w9q7M=<3I9H45T1I|FT1qtk3IG>N:KM3I9agP3>=<\,37:9\


1<NGNP/JX:H=3M1<243WN:@k3>=C7i1<FT/Xl9;\B9;13>Kn|-=39;H5b1<FT/4XeFL/7e9Ks7A5L5bS09;FL>3E]9;\B9;13>KnZew589N|"1243hKrF8G=<NeV:3I=/3>5F895L3I7:/]7:/E123>=<3`uN:=<3
tk3IG>N:KM3I9pK*HGC2_KMN:=<3s3  GFL3>/Q1*G>N:KM@7:=3E1<Nl7eKMN:/4NP5TFT12FLGsNP/43:Znw/NA123>=zEBF  GH45T1m\]DaFb1<2_KMN:/4NP5TFT124F8GsNP@O3I=<7A1FL/4Xe9;\B9;13>K
t4FL/E496KMNQ9m1EB=<FTgP3>=C9>| 5L3s9;\B9;13IKM9I|7:/E@=N:1NBGNP5-9;1<7PGCV^91<Nh1<243MN:@k3>=C7i1<FT/4Xn9\^9;13IKV:3I=/3>5o7A/Ed7A5L5oV:3I=/43I5 @4=NBG>3I9<9;39927A=<3
1<2439<7AKM3q7PE4EB=<3I9<9f9@7:G>3:*Z 3>/OG37z9;FL/4X:5L3@4=<N:XP=<7:KMKrFL/4Xp3I==<N:=oFL/,7A/^\rNA`1<243I93G>N:KM@ONP/43>/Q1C9fG>7:/WG>7:H9;376`j7i1C7A5kV:3>=</43I54`j7AH5b1Z
.0/_KMF8G=<N:V:3I=/3>5TSvt7P9;3EeN:@k3>=C7i1<FT/Xl9;\B9;13>Ks9I|
1<243I93,GNPKM@ONP/43>/Q1<9=H4/]FL/c9;3I@7A=C7i1<3MKr3IKMN:=<\PS @4=<NA1<3IG$1<3IE7:E4E4=399p9@7:G>3I9IZh^NO|
9\B9m1<3>KyG>=<7P9;2439N:/&124F89G>N:H4/Q17A=<36g:3>=<\s=C7A=<3:|B7A/E&KMF8G=<N:V:3I=/3>5TSvt7P9;3EsN:@k3>=C7i1<FT/Xr9\B9m1<3>Ks9a7A=<36H9;HO7A5L5T\WgP3>=<\s=3I5TF87At5T3PZ
[3s27g:3s7:5T=<3I7PEB\lEBF89G>H993IEFL/_9;3G$1FLN:/  Z h127A1*7A/^\q/4FT~QS t7P9;3Ed9\B9m1<3>K2O7:9J1NeNigP3>=CGNPKr3*123M`uN:5L5TNiDaFL/4X&1mD NnKs7AFL/
924N:=1<G>N:KMFL/4XP9zNA`1<243&1=C7:EBFT1FLN:/7:5q/4FT~cV:3>=</43I5 FL/ NP=<E43>=1<Ndtk3nH93`uH45RFL/ 27:=<Ec=37A5TSU1<FTKM3h7:@4@45LFLGI7i1<FTNP/,9 W,/4N:/BS @4=<3>3IKr@41FLg:3
VP3>=</43>5
7:/EhE4\Q/O7AKMFLG6@=FLN:=<Fb1m\sgi7:5TH439>Z [3p/4NiD 3>~47AKMFT/3J2NiD123I93p@4=NPt45L3>Ks9a7A=<3NigP3>=CGNPKr3JFL/n93>5T`S 24NP9;19;\B9;13>Ks9IZ
 ]h 1 \0_1_1d b2c g_ ._\h_  [3h27PE_F8EB3>/Q1F 3E_123hXP3>/439;F89N:`a1243&@4=<N:t45L3>KNA`/N:/BS @4=<3>3>KM@B1<FTgP3,/Fb~cVP3>=</43>5 FT/ ^3IG:Z
 Z Z 54Z[d3*27:El=3IKM7:=VP3IEh12O7i1FL/NP=<E43>=a1<N,@4=<3I93>=<g:361<243*FL/Q13IX:=<Fb1m\&NA`o1<243zVP3>=</43>5-E47i1C7W9m1<=HOG$1H=39>|7A5L5"FL/Q13I==<H4@B1C9q7A=<3zEBF89;S
7:t45T3Ee7:9a5LN:/XW7:97s9\B9m1<3>KG>7A5L5EBN^39/4N:1GNPKr@5T3>13:ZRR24F89DR7:9E4N:/436`u=<N:K3  GFL3>/OG\hG>N:/9F8EB3>=C7i1<FTNP/9a7A/EnDN:=<V:3E,D3>5L5
`uNP=
/4NP/BS =37A5TSU1<FTKM367A/E&H4/4FL@4=<NBG3I9<9N:=R7A@4@45LF8G>7i1<FTNP/9IZ
l7P9;V^FL/4XMFT/Q1<3>=<=H4@41<9EBH=FL/4XsV:3I=/3>5
@4=<NBG399FT/XrKs7:V:3I9R3Ig:3I/&gP3>=<\h9Ks7A5L5G=<Fb1<FLGI7A5
=<N:H41FL/43I91<NW27g:36DN:=C9m1GI7:93p=39;@kN:/93
1<FTKM3I9RN:`
123JNP=<E43>=RNA`"7M93IG>N:/EZ 4H=;1<243>=|^124F89a7A@@4=NQ7:GC2WDN:H5LE,/4NA1aDN:=<VrFL/&KzH45T1FL@4=<N^G>3I9<9;NP= 3I/^gQFL=<N:/4KM3>/Q1C9>Z-.0/hK*H45T1FL@4=N:S
G>3I9<9;NP=3I/Qg^FL=NP/4KM3>/Q1<9JKs7:9V^FT/X,1<243sFT/Q1<3>=<=H4@41<9`uN:=6N:/3r@=NBG399N:=6EBN^3I96/NA1p243>5L@FT/3>/9H4=<FT/X,1<243sFT/Q1<3>X:=<FT1m\eNA`f1<243MV:3I=/43I5
E47A1<7M9;1=<HG$1<H4=39>|47P9124361C7:9VB9R=H4//4FT/XrNP/hN:1243I=a@4=<N^G>3I9<9;NP=<9G>7:/e9m1<FT5L5GNP==<H4@B1123pV:3>=</43I5
E47i1C7r9;1=<HG1H4=<3:Z
. 1qF89/3IG399<7A=<\s1<NWH935TNBGCVB97A17A@4@=NP@4=F87i1<36@45L7PG39FL/n1243VP3>=</43>5"GNBEB3p1<NWNig:3I=<G>N:KM3J1243@=NPt45T3IKnZRR23p`uH4/E47:KM3>/Q1<7:5
F899H43p9H4==<N:H/EBFL/4XM5TNBGCV^FT/X*F89R123p/43>3E,1<Ns@4=<NigQF8EB369;\^/GC2=NP/4FT7i1<FTNP/,FL/nG>3>=1<7:FT/nGNBEB393>XPKr3I/Q1<9FT/&1<243V:3I=/3>5vZ R23I936G>NBEB3
93>XPKr3I/Q1<9I|fG>7:5T5L3IEG=<Fb1<FLGI7A5a93IG$1<FTNP/9IZ[FT124NPHB1W@4=<N:@k3>=M5TNBGCV^FL/4X=C7:G>3&G>N:/EBFT1FLN:/O9MKrFLX:2Q1sEB3>gP3>5LN:@
Z :HO9m1M1N]3>~^3IKM@45TFT`u\_1<243
5

Version 2 CSE, IIT Kharagpur

@4=<N:t5T3IK&|4G>N:/9F8EB3>=123G>7:936Da243>=<3J1243I=3p7:=31mD NM@4=<NBG3993I9R7A/OE,37:GC2&@4=NBG>3I9<9 /3>3IE91NMFT/OG=<3>KM3>/Q1a123Jgi7:5TH43pN:`-7M927A=<3IE


gi7A=<F87At45L36FUZf^H@4@ONQ9;36NP/436@4=NBG>3I9<9R=37:E49Fv|7A/E,123>/&1243pN:1243I=IZR23>\WtkNA1<2&FL/G>=3IKr3I/Q1RFT1I|1243I/&1243I\WtON:12nDa=<Fb1<3pF
t7:GCVM1<N
KM3>KMNP=\PZ-. ` F
DR7:9N:=<FLX:FL/7A5L5T\ 54|4FT1D NPH45LEh/4NiDxtO3 |BFT/9;137:EhNA` [
. 1 924NPH45LErtk3qG5L3I7:=o12O7i1fFL/sN:=CEB3>= 1<NKs7AVP3R1243VP3>=</43>5B@=3I3>KM@B1FLg:3P|:5LNBGCV^9KzH9;1ftk3H93IEs7i1f7:@4@4=<N:@4=<F87i13R@4587:G>3I9oFL/M123V:3I=/43I5
G>N^E43:Z
T2
Busy wait

T1
Spin lock
Critical
Resource

" FLX:H=3 a W @k3>=C7i1<FTNP/hN:`-7s^@4FL/ 


NBGCV
.0/]`uH45L5L\d@4=<3>3IKM@B1FLg:3,q/4FT~_9\B9m1<3>Ks9I|"/4NP=Ks7:5T5L\l1mDNn1m\^@O39NA`a5LNBGCV^9*7A=<3sH93IEWrV:3I=/43I5bS 5L3>g:3I5o5TNBGCVB9I|-7:/E_9;@FT/_5LNBGCV^9IZew
VP3>=</43>5TSv5L3>gP3>55LNBGCV,F899;FLKMFT587A=1N,7r1<=<7PEBFb1<FTNP/7A55LNBGCVZ [243I/l7r1<7P9;VhD7:Fb1C9R`uN:=q7MVP3>=</43>5TS 5T3Ig:3>55LNBGCVW1<NstO3=<3>5L3I7P9;3E&tQ\&7A/4N:1243I=
1C7:9V24N:58EBFL/4XpFT1I|:FT1fF89 t45LN^GCVP3IEr7A/ErH4/OEB3>=<X:N^3I9o7pG>N:/Q13>~^1o9DaFT1<GC2
Z-. 1tO3GNPKr39o=<3I7:E4\N:/45L\z7A`13>=1243a=<3IYQH4FL=3Ez5LNBGCVzF89 =3I5T37:93IE
t^\d1243h24N:58EBFL/4Xe1<7P9;V]7A/OE]tO3GN:KM39z7gi7AFL5L7:t45L3:Z 63>=</43>5TS 5T3Ig:3>5f5TNBGCVB9z7:=3M1<243>=<3`uNP=3WFL/43  G>FT3I/Q1zDa243>/ G=<Fb1<FLGI7A5f=<3I9N:H=<G>3I9p7A=<3
=<3IYQH4FL=3E_`uNP=M924NP=;1sEBH4=C7i1<FTNP/9rNA`q1<FTKM39r127A1s7:=3&GNPKr@O7A=C7At45L3W1<N]G>N:/Q13>~^1M9DaFb1CGC24FL/4X1FLKr39>| FUZ 3:ZNA`q1243nN:=CEB3I=rN:`7d`u3>D
KMFL5T5LFf93IGNP/E496NP=J5L3I9<9IZs.0/9HGC2]9;FT1H7A1FLN:/9I|"G>N:/Q13>~^1p9DaFT1<GC24FL/4XnNig:3I=2437:E49JG>7:/dFL/G>=37:93z1<243M1<7P9;Vl=<3I9@kN:/93r1FLKr39pH4/E4H45T\
7:/E_7A=<3s/4NA1r7:G>G>3>@B1C7At45L3:Z 
3>1*H9z3>587AtkN:=C7i1<3*1<24F89M? NP/9;F8EB3I=p127A1*9N:KM3M1<7P9;V
=3YQH4FT=<3I9p1243W5LNBGCV`uNP=zG>7:==<\^FT/X&NPHB1zgP3>=<\
9Ks7A5L5@4=NBG>3I9<9;FL/4Xnu@kNP9<9;FLt45L\,7M9;FL/4X:5L367A=<Fb1<24KM31F8GJN:@k3>=C7i1<FTNP/O N:/n9;NPKr3pG>=FT1F8G>7:5k=<3I9N:H=<G>3q1<27i1aDN:H458E,=<3IYQH4FL=<3:|B97\ Ks93IGJNA`
@4=<NBG399FT/XZs{NiDp|"Fb`7&V:3I=/43I5o5T3Ig:3I55TNBGCVlF89pH93IE
|"7A/NA123>=61<7P9;V9624N:58EBFL/4Xn123s5TNBGCVd7A161243s1<FTKM3
=<3IYQH43I9;1p123s5TNBGCV|FT1
DN:H458EdtO3Mt45LNBGCV:3IEd7A/E7nGNP/P1<3~^1p9;DaFT1<GC2D NPH458Etk3MFT/G>H4=<=3E|7A589NW123WG>7:GC23rG>N:/Q13I/P1C9>|@O7AX:39JNA`f1<243M1<7P9;Ve3>1<G:Z*Ks7\ltk3
9D7:@4@k3IEZowa`1<3>=R7924N:=11FLKM3:|B9<7\ Ks93IG:|:1<2435LNBGCV*tk3IG>N:KM3I9 7gi7AFL5L7:t45T3PZ-R23:|^7A/4N:1243I= GNP/Q13~^1R9;DaFT1<GC2sDN:H458Estk3qFL/GH==<3IE
`uNP=
o1<N,=<H4/7P99H4KMFT/Xs127A1JFT1F891243*24FLX:2439m1J@4=FLN:=<FT1m\,1C7:9Vn7A1q1<27i11FLKr3P
Z q3>/G>3:|k123*=<3I9@ONP/93p1FLKM3*N:`
* fD NPH458EetO3
Ks93IG  1<24N:HX:2FT` FT1p27:Ed9;FLKM@45L\et4H9\eD7:Fb1<3IEe`uNP=q1<243M5TNBGCVn1<Nhtk3*=<3>5L3I7P9;3P|k1243I/1<243*=<3I9@kN:/931<FTKM3MD NPH458El27gP3ztk3>3> / 5
Ks93IGAZo.0/n9HGC2e7r9FT1H7A1FLN:/
|47s9@4FL/h5LNBGCVWD NPH458E,tk37A@4@=NP@4=F87i1<3:Z
316H9J/4NiD H4/EB3I=<9;1<7:/Ee1<243rN:@k3>=C7i1FLN:/NA` 7&9;@FT/d5TNBGCVZpw9@4FL/5LNBGCV&2O7:969GC23>Ks7i1<FLGI7A5L5T\ntk3>3>/9;2NiDa/lFT/]-FTXOZ  Z a Z6.0/
-FLXZ  Z a 7nG=<Fb1<FLGI7A5 =<3I9N:H4=CG3*FL96=<3IYQH4FL=3Elt^\etkNA12d123M1<7:9VB9
 7A/O7E
`uN:=6g:3I=\l924NP=;1J1FLKM3I9sjG>N:KM@7:=<7:t45T3z1Ne7&GN:/Q1<3~^1
9DaFb1CGC24FL/4Xz1<FTKM3$ZR24F89=39;NPH4=<G>3F89 @=N:13IG13Est^\W7z9@4FT/&5LN^GCVZo^H4@4@kNP93:|^1C7:9V
27P9 7PG>YQH4FL=3EM1243p9@4FL/,5LN^GCVMXPH7A=CEBFL/4X1<243
=<3I9N:H4=CG3P|O7:/EnFT/l1243*Kr37A/^Da24FL5T3P|1C7:9V
=3YPH3I9;1<9a1<243z=<3I9N:H=<G>3:Zq^FL/G3z1<7P9;V 
 27:95LN^GCVP3IE&FT1I*|
G>7:/4/4N:1qX:3>1J7:GIG399R1<N
1<243*=<3I9N:H=<G>3:|FT1 3mH9m1pt4HO9;\nDR7AFT1<9rj924NiDa/7:9J7W5LN^N:@lFL/l1<24-3 X:H4=<3q7A/EEBN^3I9/4NA16t45LN^GCVe7:/El9HBk3I=J7&GNP/Q13~^169;DaFT1<GC2
Z

XP31<91<243p=<3I9N:H4=CG367:9a9N^N:/n7:9
 =3I5TFL/YQH4F89;24391243p=<3I9N:H=<G>3:Z
.0/l7MK*H45b1<FT@=NBG399N:=9;\B9;13>Kn|k9;@4FL/e5LN^GCVB97:=3p/N:=<KM7:5T5L\,FLKM@45L3>KM3>/Q13EeH9FT/Xs1243*G>7:GC23GN:23>=<3>/G>\,@4=<NA1<N^G>N:5
HO9;3E|O9HGC2
1<27i1q37:GC2&@4=<N^G>3I9<9;NP=R5TN^N:@O9aN:/e7M5LN^GI7A5G>N:@^\WN:`-1<2435LNBGCVWgi7A=<FL7:t45T3PZfR2433>~47:G$1qE431<7:FT589aN:`-FLKM@45T3IKM3>/Q1<7A1FLN:/eNA`o7s9@4FT/n5LNBGCV,F89
tk3>\PN:/En1<243*9<GNP@O3*NA`o1<24FL9tkNQNPV|k7:/En123zFL/P1<3>=<3I9;13Ee=37:EB3I=qF89=<3`u3I==<3IE&1<N    /Z 
3>1H9/4NiD EBF89G>H9<9q24NiD 7h9;@4FL/l5LNBGCV&GI7A/
tk3pFTKM@45L3>KM3I/P1<3IEhN:/n7rH4/4FL@4=NBG>3I9<9;NP=R9\B9m1<3>KnZf/&7rH4/FT@4=<NBG399N:=R9;\B9;13IK&|BDa23>/e7*G>=FT1F8G>7:5=39;NPH4=CG3qF89a=<3IYQH4FL=3Es`uNP=R7rgP3>=<\
924N:=1R1FLKM3:|K*HB1HO7A5
3>~BG>5THO9;FLN:/&FL93I7:9FL5T\,7PG>G>N:KM@45LFL9243IEht^\,EBF897:t45LFT/4XsFL/Q13I==<H4@B1C9>Z /n.0/Q13I5~ <$a 9;\B9;13>Ks9I|B12FL9aF89EBNP/43pDaFT12
1<243 :G>5TF &FT/O9m1<=HG1FLN:/
Z,.0/P1<3>=<=H@B1<97:=3M=<3S 3>/7:t45L3IEdDaFb1<2 :9;1F 4Z,R2^H9I|"9@4FL/_5TNBGCVB96N:/_7nH4/4FL@4=<NBG3I9<9N:=6X:3>1zGN:KM@4FL5L3IEFT/c7P9
GI7A5L5L91<N PG5LF M7:/E :9;1F 4Z
0
31aH9R/4NiD 3~47AKMFL/432NiD 9;3I5b`S 24NQ9m1a9;\B9;13IKM9R7PE4EB=<3I9<91<2436@4=NPt45L3>K N:`"EB\^/7AKMF8GJ@4=FLN:=<FT1m\r5L3>gP3>589
N:`-_1< 24 23p1 +|1<=<ce7PdPEBFb_ 1<FTZNP/\7Act]5"\0ceb2/4ceFT_1~n` 9 \B9m1<3>Ks9IZf.0/l/Fb~nt7:93IEn=<3I7:5bSv1FLKM3pN:@k3>=C7i1<FT/4Xs9\B9m1<3>Ks9>|OFT/l7PE4EBFT1FLN:/&1NhEB\^/7AKMF8G6@4=FLN:=<FT1FL3I9I|4=37A5TS
1<FTKM37A/OEzF8EB5L3a@4=FLN:=<FT1FL3I9 7A=<39H4@4@kN:=13EZ "FLXZ  Z
q9GC243IKs7i1F8G>7:5T5L\z924NiD9"1243R1<24=<3>3a7gi7AFL5L7:t45T3@4=<FTNP=FT1m\p5L3>g:3I5L9IZ[3a/4NiDct=FL3}\
EBF89<GH9<912439;361<24=<3>3pG>7A13>XPN:=<FT39NA`"@=FLN:=<Fb1m\s5L3>gP3>589>Z

Version 2 CSE, IIT Kharagpur

 t_ . 1< 24]p3 h FLE41 5T36c1C97:\59VBJb2|Bcth=H /4 9a 7iR1a21<FL9a24FLF8995T13I2g:3p3>5v5TZ NiD.mEB3I5L9;3p1a@4@4==FLFLN:N:=<=<FTFT11mFL\s3I9R5T3I7Ag:=<3>3p5vZ9m1CR7i124F83JG61<7A7P/9;EnVW7:1=23J7A1/4NA=H41/O=<9a3IG>DaN:KM243>@4/hHB11<23IEh3>=<@O33I7A==<FLNB3JEB/F8NrG>7AN:5L5L1\:24Z 3I=R1<7P9;VB91NM=<H4/


L
h# dPct^  \^/7AKMF8Ge@4=<FTNP=FT1FL3I9W7:=3e=<3IG>N:KM@4HB1<3IE @k3>=<FTNBEBF8G>7:5T5L\c1<NcFLKr@=NigP3h1<2437gP3>=C7AX:3&=<3I9@ONP/9;3n1<FTKM3dNA`p9;N:`1,=37A5TS
1FLKM3WuFL/P1<3>=C7:G1FLg:3f1C7:9V^9IZoq\^/7:KMFLG6=<3IG>N:KM@4HB1C7i1FLN:/&NA`-@4=<FTNP=FT1FL3I9R3I/9;H=39127A1.: tkN:H/Eh1<7:9VB9KrFLX:=C7i1<3J1Ns24FLX:243I=

@4=<FTNP=FT1FL3I97A/E]?faS tkN:H4/Ee1<7:9VB9qNP@O3I=<7A13r7i165TNiD3>=@4=FLN:=<FT1m\h5L3>gP3>589>Zpwq96924NiDa/lFL/d-FLXZ  Z
^|k1<7P9;VB9J7i11243MEB\^/7AKMF8G
@4=<FTNP=FT1m\5L3>gP3>5QN:@k3>=C7i1<3 7i1-@4=<FTNP=FT1FL3I9"24FLX:243I=1<27A/z1243FLE45T3 @4=FLN:=<FT1m\:|t4HB17i1-5TNiD3>="@4=<FTNP=FT1m\J127:/p1243=<3I7A5TSv1FLKr3 @4=<FTNP=FT1FL3I9IZ
0 _  21 +ced[_  4a37A5TSU1<FTKM3R@4=<FTNP=FT1FL3I9 7:=3a9;1<7i1<FLG@4=<FLN:=<Fb1<FT39o7A/Er7A=<3 /NA1=<3IGNPKM@4HB13E*E4H4=FL/4X6=<H4/z1<FTKM3PZ*7A=CEz=<3I7:5bSv1FLKM31<7:9VB9
N:@k3>=C7i1<3q7i11<243I93q5L3>gP3>589>Z -7:9V^9f27g^FT/X=37A5TSU1<FTKM3@=FLN:=<Fb1<FT39XP31f@4=<3IG>3IEB3I/G3qNig:3>=1<7:9VB9DaFT12&EB\^/7AKMF8Ga@4=<FTNP=FT1m\*5L3>gP3>589
j93>3p-FTXOZ  Z
AZ
0

RealTime
Priorities
127
Dynamic
Priorities
254
255

Idle

NonMigrating
Priority

-FLX:H4=<3
1Wf=FLN:=<Fb1m\  3>g:3I5L9RFL/l^3>5T`S 24NP9;1/4FT~n^\B9;13IKM9
/( X   !#"k> $&'o)(+* ,, -q
eF8G=<NP9NA`1 $ 9[FL/EBNiD9J9;3I=FL3I9NA`NP@O3I=<7A1FL/4Xh9\B9m1<3>Ks97:=3*3~^1=<3>KM3I5T\n@kN:@4H4587A=JFL/dEB39;VQ1NP@GNPKM@4HB13I=<9IZ6[FT/OEBNiD9qNP@O3I=<7A1FL/4X
9\B9m1<3>Ks9J27g:3r3>gPN:5Lg:3IENig:3I=q1<243M5L7P9m161mD3>/Q1m\ g:3M\P3I7A=C9q`u=NPK 1243M/7:FTgP3rp6 jFL9V]@k3>=C7i1<FT/4Xe^\B9;13>KWZreF8G=<NP9NA`1pEB3>S
gP3>5LN:@k3IE]66FL/]123,3I7:=5LQ\ VfFTXP2P1<FT39>Znp6D7P97ng:3I=\9;FLKM@45T3,N:@k3>=C7i1FL/4Xe9\^9;13IK1<27i1*D7P99;FL/4XP5T3M1C7:9VQFL/4Xl7:/E]H93IE]7
93>XPKr3I/Q13IEWKr3IKMN:=<\sKM7:/7AXP3>KM3>/Q1R9GC243IKM3:Z eFLG>=NQ9;N:`1VP3>@B1N:/&7A/4/4NPH4/G>FT/4X*/43>D g:3>=C9FTNP/9fN:`66h7A5LKMNP9;1 3Ig:3>=<\M\:37A= 7:/E
37:GC29HG>G>3I9<9;FLg:3*g:3I=<9FTNP/9H4@4@kN:=13IE/43>D`u3I7i1<H4=<3I9IZ66l3>g:NP5TgP3IEn1<N,1<243M[FT/OEBNiD993>=<FL3I9JN:@k3>=C7i1<FT/4X&9;\B9;13IKM9FL/1<243*587i1<3
VfFTXP2P1<FT39>ZrR243MKs7AFL/EBF89;1FL/4X:H4F8924FT/Xh`u37i1<H4=3rNA` 1243s[FL/EBNiD9JNP@O3I=<7A1FL/4X&9\B9m1<3>K `u=<N:K 66D7P967,XP=<7:@424F8G>7A5-`u=<N:/Q1;S 3>/OEZ
w993>gP3>=C7A54/3>DgP3>=C9;FLN:/9fNA`
[FL/EBNiD9 V:3I@B1 NP/h7A@@O37A=<FT/4X124=<N:H4XP2W3>/27A/G>3>KM3>/Q1C91<N123Jp6WG>N^E43:|P124369m1<=HOG$1H=3NA`
1<243
G>N^E43EB3IX:3>/3>=C7i13Er1Nr9;HGC2h7A/W3>~Q1<3>/Q1f1<27i1Fb1R27PEstO3GNPKr3g:3I=\MEBF  G>H45T1 1<N*EB3It4H4X*7:/EsKs7AFL/Q1<7:FT/s1<243G>NBEB3:ZoR243[FT/E4NiD9
G>N^E43aD7P9GNPKr@5T3>13>5L\z=<3>Da=<FT1;13I/sFT/   < 1<NzEB3>gP3>5LN:@r123[FT/OEBNiD9{q 9\B9m1<3>KnZ BFT/G>3a123qGNBEB3aDR7:9G>N:KM@45L31<3>5L\z=<3>Da=<Fb113>/|
[FL/EBNiD9 {q9\^9;13IKD7P9oKzHGC2,KrNP=39m1C7At45L3zjE4NQ39f/NA1G>=<7P9;2k-127:/M12433I7:=5LFT3I= p6QS t7:93IEs9\B9m1<3>Ks9>Z R2435L7A13>= g:3I=<9FTNP/9
N:`olFLG>=NQ9;N:`1 $ 9aN:@k3>=C7i1<FT/4XW9\B9m1<3>Ks9aD3>=<3EB3I9<G3I/E47:/P1C9aNA` 1<243[FL/EBNiD9q{ 7A/E&1<243zp6QSvtO7:93IEn9;\B9;13IKM9qD 3I=39<G=C7A@@O3EZ
-FLXZ  Z < 9;2NiD961243,X:3>/3I7A5LN:XP\lNA`R1<243Wgi7A=<FTNPH9pNP@O3I=<7A1FL/4Xl9;\B9;13IKM9`u=NPK1<243heF8G=<NP9NA`1z9;1<7:t45L3:Znwq9r7A5L=37:EB\lKM3I/P1<FTNP/43IE
|
9;1<7:t4FT5LFT1m\N:`q7A/G>3I9;1NP=<9zNA`[FL/EBNiD9r{qDR7:9z/4NA1s97A1F89m`j7PG$1<N:=<\:QZ 3IGI7AH93h9;1<7:t4FL5TFT1m\]NA`a123hNP@O3I=<7A1FL/4X9\^9;13IKFL9r7lKs07 3mNP=
G>N:/G>3>=</,FL/,27:=<E,=37A5TSU1<FTKM367A@4@45LF8G>7i1<FTNP/9I|QD3J=39m1<=F8G$1RN:H4=aEBF89<GH9<9;FLN:/O9f1<N*NP/45L\M12436[FL/EBNiD9R{qx7A/EhFb1C9REB3I9<G3I/E47A/Q1C97:/E
EBNM/4N:1FT/OG5LHEB3612366h5LFT/436N:`-@4=<NBEBHG1<9IZ
? NPKr@HB13I=9\^9;13IKs9at7:93IEnNP/e[FT/OEBNiD9q{ 7A/EnFT1<9JEB3I9<G3I/E47:/P1C97A=<3tk3>FL/4XW3>~Q1<3>/9FLg:3>5L\&H9;3EnFT/24N:KM3I9I|N  G3I9I|O7:/E
FL/EBH9;1=<F87A5439m1C7At45LFL924KM3>/Q1C9>Z w/MN:=<XP7:/4FLI7i1<FTNP/zNiDa/4FL/4X6[FL/EBNiD9{ 9\B9m1<3>Ks9 KMFTXP2P1tk3FL/Q13>=<3I9;13E1<NpH93R1243IK `uNP=oFb1C9o=37A5TS
1<FTKM3s7A@4@5TF8G>7A1FLN:/9q`uN:=pGNQ9m1p9<7gQFL/4XhN:=6GN:/^gP3>/4FL3>/G>3:ZR24F89JFL9639;@k3IG>FL7:5T5L\&1=<H43MFT/d@4=<NA1N:1m\^@O3M7A@4@5TF8G>7A1FLN:/dE43>g:3I5TNP@4KM3>/Q1J7:/E
7:5L9NsDa243>/nNP/45T\n7M5LFTKMFT13IEn/^H4K*tO3I=qN:`oE43>@45LNi\^Kr3I/Q1<9a7A=<3p=<3IYQH4FL=3EZf.0/n1<243p`uN:5L5LNiDaFT/4XO|4D3zG=<Fb1<FLGI7A5L5T\&7A/7:5T\^I31<243z9H4FT1<7AtFT5LFb1m\
N:`f[FT/OEBNiD96{q `uNP==<3I7:5bSv1FLKM3r7:@4@45LFLGI7i1FLN:/dEB3>gP3>5LN:@4KM3>/Q1Z"FL=C9m1|D 3*24FTXP245LFTXP2P1p9N:KM3`u37i1H=39N:`f[FL/EBNiD9J{q 1<27i1p7A=<3
[


Version 2 CSE, IIT Kharagpur

DOS

Windows NT

Windows 3.1 new


code

Windows 2000

Windows 95
Windows XP
Windows 98

" FLX:H=3 < Wj J3I/43I7:5TNPX:\WN:`o@k3>=C7i1FL/4XW^\B9;13>Ks9`u=<N:KylFLG>=NQ9;N:`1 $ 9Q1<7:t45T3


gP3>=<\z=<3>5L3>gi7A/Q1 7:/EsH93`uH45O1N*7p=37A5TSU1<FTKM3q7:@4@45LFLGI7i1<FTNP/WEB3>gP3>5LN:@k3>=Z".0/s1<2439H4t93IYQH43I/Q1 9;Ht9;3G$1<FTNP/
|PD3@kN:FL/Q1 N:H41 9;NPKM3NA`1<243
587:G>H4/7rNA`-[FT/E4NiD9{qxDa243>/&H93IE&FL/&=<3I7:5bSv1FLKM3p7A@4@45LF8G>7i1<FTNP/&E43>g:3I5TNP@4KM3>/Q1IZ
;=:

F(.N8AKJH *GH6I HJMK#ISR[A T=G A R X '

[FL/EBNiD9o{c27P9-93>gP3>=C7A5P`u3I7A1H4=<3I9 Da24F8GC2M7A=<3 gP3>=<\EB3I9FT=C7At5T3f`uN:=o=<3I7A5TSv1FLKr3R7A@@45TF8G>7A1FLN:/9I|A9HGC2r7P9 9;H4@@ONP=;1 `uN:= K*H45b1<Fb1<24=<3I7:EBS


FL/4X|
7:/E7g7:FT587AtFT5LFb1m\nN:`f=37A5TSU1<FTKM3r@4=<FTNP=FT1m\n5T3Ig:3>589IZzw589;NO|123*1<FTKM3I=67:/EG>5TNBGCVe=<3I9N:5LHB1FLN:/O97:=3M9;H  G>FT3I/Q15L\ /43*`uN:=6KMNP9;1
=<3I7:5bSv1FLKM367:@4@45LFLGI7i1<FTNP/9>Z
[FL/EBNiD9{9;H@4@ONP=;1C|9 5&@4=FLN:=<FT1m\5L3>g:3I5L9hj93>3,-FLXZ  Z  $Z Vf7PGC2@=NBG399ztO3I5TNP/4XP9p1NlNP/43WNA`R1<243W`uNP5T5LNiDaFT/Xe@4=FLN:=<FT1m\
G>5L7P993I29 W%<#"
#
'UJ 
% 6 J" J1!$%('&"OSZ \WEB3`j7:H45T1I|Q12436@4=<FLN:=<Fb1m\MG587:9<9 7A1Da2FLGC2&7H93>=1<7P9;VM=<H4/9F89 
'FJZ N:12

'FJr7:/E &% ,@4=<FLN:=<Fb1m\,G>5L7P993I9q7A=<3Jgi7:=F87At45L3J1m\^@O3P|FL/n1243z93>/O9;361<27i1q@=FLN:=<Fb1<FT39RNA`-1<7P9;VB9aFL/n124F89G>5L7P997:=36=<3IG>N:KM@4HB1<3IE
@k3>=<FTNBEBF8G>7:5T5L\rtQ\*123NP@O3I=<7A1FL/4X9;\B9;13IK&Zo{ 5TNiD3>=C9 123q@4=<FTNP=FT1m\zN:`761<7P9;Vnutk3>5LN:/X:FL/4Xp1N*gi7A=<FL7:t45T31m\Q@k3Fb`
FT1 HO9;3EW7A5L5N:`
Fb1C9
587:9;1"1<FTKM3R9;5LF8G3:Z-. 1 =<7:FL93I91243@4=<FTNP=FT1m\6NA`O71<7P9;V|iFT`Fb1ot45LNBGCV:3E6`uN:= . :7:/EzG>N:H458Ep/4N:1-HO9;3Fb1C9-5L7P9m1-1FLKM3R95LFLG>3fFL/z`uH45L5vZ qNiD 3Ig:3>=|
1<243sGC27A/4XP3zN:` 7W1C7:9Vn`u=NPK Fb1C96t7:93z@=FLN:=<Fb1m\nF896=39m1<=F8G$1<3IEn1<N 5BZ{q H93I9J@4=<FTNP=FT1m\QS EB=<FLg:3>/n@4=<3>3IKM@B1FLg:3M9GC23IEBH45LFL/4X&7:/E
1<24=37:E49zNA`=<3I7:5bSv1FLKM3,@4=<FTNP=FT1FL3I927g:3W@=3G3IE43>/G>3,Nig:3I=z7A5L5NA123>=1<24=<3I7:E9FL/G5LHEBFL/4XV:3>=</43I512=37:E49IZ=<NBG3993I99HGC27P9
9<G=<3>3I/&9<7g:3I= H93p@4=<FTNP=FT1m\WG587:9<9 %<#"OZ
;

6AjKJH#C&A( T=G6UR A


 TBG 6A R

'

0. /W9@4FT13N:`O1<243FLKr@=399FTgP3a9;H4@@ONP=;11<27i1 [FT/E4NiD9o@4=<NigQF8EB39-`uN:==<3I7:5bSv1FLKM3a@4=NPX:=C7AKMKMFT/XrU7:9EBF89<GH9<9;3EMFT/s9H4t93IG1FLN:/  Z |
7n@4=<N:XP=<7:KMKr3I=q1<=\^FL/4X&1NeH93s[FL/EBNiD9pFL/]=37A5TSU1<FTKM3s9;\B9;13IK EB3Ig:3>5LN:@Kr3I/Q162O7:9J1NlG>N:@k3sH4@]DaFb1<2c9;3Ig:3I=<7:5-@=NPt45T3IKs9>Zhq`
1<243I93:|B1<2436`uN:5L5LNiDaFT/4X*1mDNr@=NPt45T3IKs9a7A=<3q1<243pKMNP9;1a1=<N:H4t45L3I9N:KM3PZ-[3EBF89G>H9<912439;3J1mDNr@=NPt45T3IKs9RFT/&1236`uN:5L5TNiDaFL/4XZ
Y (h&b2_\\5 b Z\]S^!_1`2`aceh! .0/c[FL/EBNiD9*{q6|"1243h@4=<FTNP=FT1m\5L3>gP3>5NA`aFT/Q1<3>=<=H4@41<9F89r7A5LD7\B9624FLX:243I=1<27A/_1<27i1rNA`a1<243
H93>=Sv5L3>gP3>51<24=<3I7:E(9 3FT/OG5LHEBFL/4X1243h124=<3I7PE49rNA`q=<3I7:5bSv1FLKM3&G>5L7P99IZ_[243I/ 7A/ FT/Q1<3>=<=H4@41rNBG>G>H4=C9>|o1<243n27A/OEB5T3I=*=<N:H41FL/43
97gP3I9 1<243JKM7PGC24FL/43 $ 9 9;1<7A13J7A/EsKs7:V:3I9124369\^9;13IK3~B3IG>HB13J7A/W.0/Q13I==<H4@B1a^3>=<g^FLG>/3 4aNPHB1FL/43ru.;J 4qZO/45L\rgP3>=<\rG>=FT1F8G>7:5
@4=<N^G>3I9<9;FL/4X*FL9R@k3>=`uN:=<KM3IEWFL/&.;J 4 7A/EW1243pt4H5TVWN:`1<2436@4=NBG>3I9<9;FL/4XrFL9REBNP/4365L7A13>=a7A1a7r5LNiD 3I= @=FLN:=<Fb1m\sFL/h1243J`uN:=<K N:`"7
q3>`u3>=<=3E,f=NBG3EBH4=<3J?7A5L5 jJ?R$Z4J?9 `uNP=gi7:=FLN:H9 FL/P1<3>=<=H@B1<9R7A=<3YQH43IH43IEhFL/W1236J?YQH43>H43JFL/&7*".m Ks7A//43>=Z
[24FL5T361<24FL99;3I@7A=C7i1<FTNP/,N:` .;# 4 7:/EnR?2O7:9R1<243z7:E4g7:/Q1<7AXP3N:`o@4=Nig^F8EBFL/4XsYPHFLGCVW=<3I9@kN:/93J1Ns`uH4=123>=FL/Q13>=<=<H4@B1<9I|4FT1
27:91243MEBF897PEBgi7A/Q1<7:X:3N:`fKs7AFL/Q1<7AFL/4FL/4X,7:5T5oJ?9J7i1q1<243M97:Kr3*@4=<FTNP=FT1m\hgi7:5TH439>Z6wR? G>7A//4NA16tO3r@4=<3>3IKr@413IEltQ\
7A/4N:1243I=R?_tHB1fG>7:/rtk3@4=<3>3IKM@B13E*t^\r7A/rFT/Q13I==<H4@B1Z-J?9f7A=<33>~B3IGH413IErFL/W-.m- NP=<E43>=7i1f76@=FLN:=<Fb1m\p5LNiD3>= 12O7A/
1243p2O7A=CEBD7:=3JFL/P1<3>=<=H@B1@4=<FTNP=FT1m\Wt4HB124FTXP243>=127:/h1<243@4=<FLN:=<Fb1m\sN:`-1<2439<GC243IEBH5T3I= AEBFL9@7A1<GC243I=IZo. 1F89a/4N:1q@ONQ99FLt45T36`uNP=
7H93>=S 5T3Ig:3>5O12=37:EM1<N*3>~^3GHB1<3J7A1R7z@4=<FTNP=FT1m\M24FTXP243>= 12O7A/W1<27i1aN:`.;J 49N:=RJ?9IZ R23>=<3`uN:=<3:|Q3>gP3>/h.;J 49R7A/E,R?9
GNP==<3I9@ONP/EBFL/4XM1Nhg:3I=\n5LNiD @4=FLN:=<FT1m\,1C7:9V^9G>7:/@4=<3>3IKr@41=<3I7A5TSv1FLKr3*@4=<N^G>3I9<9;39>ZJwq9J7,=<3I9H45T1I|k123z@kNA13I/Q1F87A5 t45LN^GCV^FL/4X
NA`=<3I7:5bSv1FLKM3s1<7P9;VB9rEBH43h1NdJ?9rG>7:/ctk3h587A=<X:3PZ4NP=*3>~B7:KM@45T3P|oFT/Q1<3>=<=H4@41<9rEBH43W1<Nd@O7AX:3W`j7AH45T1<9rX:3I/43>=C7i1<3IE]t^\]5TNiD
@4=<FTNP=FT1m\r1<7:9VB9RD NPH458E,XP31a@4=<N^G>3I9<9;3Es`j7P9m1<3>=R12O7A/&=37A5TSU1<FTKM3J@4=NBG>3I9<9;39>Zow589N|B.;J 49a7:/E&R?9RX:3>/3>=C7i13E,EBH361NMV:3I\
tONQ7A=CEe7A/EKMN:H93zFL/Q13>=C7:G1FLN:/9DN:H458EeN:@k3>=C7i1<3z7i1624FLX:243I=@=FLN:=<Fb1m\&5L3>g:3I5L9JGNPKM@7A=<3IEn1<N,=<3I7:5bSv1FLKM31<7P9;VB9IZJR23>=<3`uN:=<3
a

Version 2 CSE, IIT Kharagpur

FT/s@=39;3I/G3N:`
@4=<N^G>3I9<9;39G>7:==<\^FT/XpN:HB1f/31mDN:=<VzN:=EBF89;VM.:*|A124333IG$1RNA`
9\B9m1<3>KrSvDaF8EB3q-.m YPH3>H439NA`
J?9 Ks7\
5T37:E,1NsH4/^tkN:H4/OEB3IE&=<3I9@ONP/9;31FLKM3I9a3Ig:3I/h`uNP=a=37A5TSU1<FTKM3J12=37:E49IZR24F89R@4=NPt45L3>Ky2O7:9Rtk3>3>/e7gPN:F8EB3IE,FT/&123p[FT/E4NiD9
? VN:@k3>=C7i1FL/4XM9;\B9;13IK j93>3^3GAZ  Z < Z < 1<24=<N:H4XP2W123pH9;3pN:`-7M@4=<FLN:=<Fb1m\sFL/4243I=FT1<7:/G36KM3IGC27:/4F89;KnZ
Realtime critical

Realtime
1631

Realtime normal

Realtime idle
Dynamic critical

Dynamic
115

Dynamic idle

;&

16
15

Dynamic normal

Idle

31

1
0

-FTXPH4=3  W"7P9;V,f=FLN:=<FT1FL3I9 FT/n[FL/EBNiD9a{q


0
[3h2O7:EcEBF89<GH9<9;3E_FL/ ? 27:@B13I= n1<27i1MH4/45L3I9<9r7A@4@4=<N:@=F87i1<3W=3>S
9;1*NPH4=CG3W]9\2b 7A~=<]9FT/\ Xe@4=_1N:`a1]!NBG\0NP^!5L9z_/9;H41 @3@OJNP\0=;ct1<h3I E]Zt^\_\0]7Aba/_]L^!N:] @k e3>` =C 7i1<FT/Xl9;\B9;13>Kn|-1<7P9;VB9zNA`7e=<3I7A5TSv1FLKr3h7A@4@45LF8G>7i1<FTNP/_Da24FL5T3&7:G>G>3I9<9;FL/4X
9;2O7A=<3IEh=39;NPH4=<G>3I9Ks7\h9HB3>=H4/^tkN:H4/OEB3IE&@4=<FTNP=FT1m\WFL/^g:3>=C9FTNP/9R5T37:EBFL/4Xr1NhEB3I7PEB5TFL/43pKMF8993I9a7:/En3>gP3>/n9;\B9;13>Ky`j7AFL5TH=3PZ
[FT/OEBNiD96{qEBN^396/4NA16@4=<NigQF8EB3r7A/^\l9;H@4@ONP=;1WU9;HGC27:9J@4=<FTNP=FT1m\nFT/243>=<Fb1C7A/G>3:|3>1<GAZ 1<Nn9H4@4@kN:=16=37A5TSU1<FTKM3*1<7:9VB91<N
9;2O7A=<3RG>=FT1F8G>7:54=<3I9N:H4=CG39o7AKMN:/4XJ1<243>Ks93>5Lg:3I9IZ R24FL9fFL9f76KM7 3mN:=f924NP=;1CGN:KMFL/4X6NA`[FL/EBNiD9{ Da23>/MH93IEMFL/s=37A5TSU1<FTKM3
7A@4@5TF8G>7A1FLN:/9IZMBFT/G>3sKMNP9;16=<3I7:5bSv1FLKM3r7:@4@45LFLGI7i1<FTNP/9pEBNn=3YQH4FT=<3M9;27:=FL/4XeG=<FT1F8G>7A5 =<3I9N:H4=CG3967AKMN:/4Xh1<7P9;VB9I|
D3rNPHB15LFL/43
tO3I5TNiD 7*`u3>D @ONQ99FTt5T36DR7\^9FL/nDa24FLGC2nH93>=S 5T3Ig:3>5k`uH4/OG$1FLN:/O7A5LFb1<FT39aG>7A/ntk37:E4E43IE,1NM123p[FT/E4NiD9a{q 9;\B9;13>KnZ
R243z9FTKM@45L3I9;1J7:@4@4=<NP7PGC2h1<N,5L31J=37A5TSU1<FTKM3p1C7:9V^99;2O7A=<3zG=<Fb1<FLGI7A5"=39;NPH4=<G>3I9aDaFT12N:HB1JH4/^tONPH4/EB3Ee@4=<FTNP=FT1m\,FL/^g:3>=C9FTNP/9aF89
t^\GI7A=<3`uH45@=FLN:=<Fb1m\9;3>1;1<FT/4XQ9Da24FL5L3h7:GIYQH4FT=<FL/4Xl7A/E]=<3>5L3I7P9;FL/4Xe5LNBGCV^9IZewq9*9;N^N:/c7P9z7n1C7:9VF89*9HGIG3I9<9;`uH45fFL/_5TNBGCV^FL/4Xl7
/4N:/4Sv@4=<3>3IKM@B1<7:t45T3q=39;NPH4=<G>3:|QFb1C9@4=FLN:=<FT1m\rGI7A/,tk3J=<7:FL93IEr1<Nz1<2432FTXP243I9;1@=FLN:=<Fb1m\ne Z w9R9;N^N:/h7:97p1<7P9;Vs=<3>5L3I7P9;39o1<243
=3YQH4FT=<3IEl=39;NPH4=<G>3:|FT1<9J@4=<FTNP=FT1m\lG>7:/tk3r=<3I9;1NP=3EZ NiD3>gP3>=|OD3rVQ/NiD 127A16124F89p7A=<=<7:/4X:3IKM3>/Q1qDN:H458El5L3I7PEe1N&587A=<X:3
FT/243>=<Fb1C7A/G>3S =3I5L7A13EWFL/QgP3>=C9;FLN:/O9v^3>3z^3GAjZ Z [^$Z
w/4N:1243I=q@kNP9<9;FLt4FL5TFT1m\nFL91NhFTKM@45L3>KM3>/Q1J1243*@4=<FTNP=FT1m\hG>3>FL5TFL/4X,@=N:1NBGNP5 jR? ZO"N,FLKr@5T3IKr3I/Q1q12FL9@4=<NA1NBG>N:5v|D3z/43I3IE
1Nr=39m1<=F8G$1123J=<3I7:5bSv1FLKM31C7:9V^9 1<Nr2O7g:3q3Ig:3I/,@4=<FTNP=FT1FL3I9JuFvZ 3:Z E a | ' < |ZLZTZL#| "QNP/45L\:ZoR2436=37:9N:/s`uNP=124F89R=39m1<=F8G$1<FTNP/WF89
127A1f[FL/EBNiD9f{ EBN^3I9/NA1 9H4@4@kN:=1f-.m-x9GC23IEBH45LFL/4Xz7AKMNP/4Xp3IYQH7:54@4=<FTNP=FT1m\1C7:9V^9IZ-. `k1<243q2FTXP243I9;1@4=<FTNP=FT1m\*7:KrNP/4X
7A5L5-1<7:9VB9J/43>3EBFT/X&7h=39;NPH4=CG3zF89 5i/
|k1243I/1243sG3IFT5LFL/4Xh@=FLN:=<Fb1m\nN:`f123r=<3I9N:H=<G>3zF89 5/  Zp.0/q/4FT~|"".m N:@41FLN:/
7AKMN:/X*3YPHO7A5@4=<FTNP=FT1m\M1<7P9;VB9RF897gi7AFL5L7:t45L3:|Q1243I=3>`uN:=<3p7A5L5
7g7:FT587At5T3J@4=<FTNP=FT1m\W5L3>g:3I5L9RGI7A/ntO3pHO9;3EW1<NW7:9<9;FLX:/,1NM1<7P9;VB9IZ
 T=G A R

' ISKR1MR

GT

.0/124F89s9;3G$1<FTNP/
|D3hGNPKM@7A=<3,[FL/EBNiD9M{qy7A/E /4FT~DaFT12=<3I9@k3IG$1r1Nd123>FL=M9H4FT1<7:t4FT5LFT1m\]`uN:=sEB3>@5TNi\^KM3>/Q1MFT/ =37A5TSU1<FTKM3
7:@4@45LFLGI7i1FLN:/O9>Z
Ea

Version 2 CSE, IIT Kharagpur

0 _  1 +ctdP_ S _ Jb \0_

ceh]\ `  +

hc 

J?9
3I9
{N
4a37A5TSU1<FTKM36@4=<FTNP=FT1FL3I9
3I9
{N

NBGCV^FL/4X*g^FL=;1<H7A5KM3IKrNP=\ 3I9
3I9
RFLKr3I=a@4=<3IGF89FTNP/
KMFT5L5TF-^3IG
"rKMFL5T5LF"^3G
wq9\^/GC24=<N:/4NPH9 . :
3I9
{N
-7At45L3  Z [FL/EBNiD9q{qgP3>=C9;HO9a/4FT~
w G>N:KM@7A=<F89;NP/,NA`-123p3~^13I/P1a1<NsDa24F8GC2n9N:KM36NA`-12361243pt7P9;F8GJ`u3I7A1H4=<3I9R=<3IYQH4FL=<3IE,`uN:=a=<3I7A5TSv1FLKr3p@=NPX:=C7AKMKMFT/4Xr7A=<36@4=N:S
g^F8EB3IEst^\M[FL/EBNiD9f{7A/OEs/4FT~  F89fFL/EBF8G>7A13EsFT/h"7:t45T3  Z Z-. 1RGI7A/stk3J93>3I/M127A1[FL/EBNiD9 {q9H4@4@kN:=1<97K*HGC2 /43I=
1<FTKM3XP=<7:/QH5L7:=FT1m\W KW^3GIoG>N:KM@7A=<3IEz1N*/4FT~& "6KW^3IG$Z [FL/EBNiD9{ 2O7:9oKs7A/^\*NA`k1243a`u37i1<H4=39EB39;FL=3ErNA`76=37A5TSU1<FTKM3
NP@O3I=<7A1FL/4Xp9;\B9;13>KnZ*NiD3>gP3>=|1243DR7\FT1f3~B3GHB1<3I9J?9I|i1NPX:3>1243I=DaFb1<2MFb1C9587:GCVN:`k@4=<NA1<NBGN:549H4@4@kN:=1o`uN:=f=39;NPH4=<G>3927:=FL/4X
7:KrNP/4Xn3IYQH7:5o@4=FLN:=<FT1m\e1<7P9;VB96Ks7AVP3I96FT1H4/9H4Fb1C7At45L3M`uN:=pHO9;3sFL/_97A`u31m\QS G>=FT1F8G>7:5o27A=CEd=37A5TSU1<FTKM3s7A@4@5TF8G>7A1FLN:/9IZs[Fb1<2cG>7:=3>`uH45
@4=<N:XP=<7:KMKrFL/4XO|k[FL/EBNiD96{ G>7:/d9HG>G>3I9<9m`uH5T5L\etO3MH93IE`uN:=p7:@4@45LFLGI7i1FLN:/O91<27i1G>7:/1<N:5L3>=C7i1<3zNBG>GI7:9FTNP/7A5 EB3I7PEB5LFT/43MKMF8993I9I|
7:/Ee27gP3zEB3I7PEB5LFT/439qN:`o1243*N:=CEB3>=NA`2^H4/E4=3E49N:`KrFL5L5TF89;3GNP/E49=<7A1243I=12O7A/7W`u3>D KMFLG>=NQ9;3GNP/E49IZJq`fGNPH4=<93:|O1NhtO3*H93IE
FL/_9;HGC2]7A@@45TF8G>7A1FLN:/9I|1<243M@4=NBG>3I9<9;NP=JH41FL5TFLI7A1FLN:/KzH9;1tO3MVP3>@B1z9H  GFL3>/Q15L\l5LNiD 7:/E@=FLN:=<Fb1m\eFL/^g:3I=<9FTNP/dG>N:/Q1=<N:5 KzHO9m1tk3
@4=<Nig^FLE43IE&7i1R1243pHO9;3I=a5T3Ig:3>5vZ
R24NPH4X:2d[FT/OEBNiD9Jt7:93IEd9;\B9;13>Ks967A=<3r@ONP@4H4587A=J`uN:=pEB39;VQ1NP@d7:@4@45LFLGI7i1FLN:/O9J7:/Ed@4=Nig^F8EB3zKMNQ9m1pNA`f1243WEB39;FL=<3IEe`u37i1<H4=39
=<3IYQH4FL=3Eh`uN:==<3I7:5bSv1FLKM3p@4=NPX:=C7AKMKMFT/X|4/Fb~^S t7:93IEn9\^9;13IKs97A=<3pNig:3I=Da243I5TKMFL/4X:5L\W@kN:@4H5L7:=a`uN:==<3I7:5bSv1FLKM37A@4@5TF8G>7A1FLN:/9E4H43
1<NMG>NP9;1qGNP/9;F8EB3I=<7A1FLN:/97A/Eh1<243  2O7:GCV:3I=RKr3I/Q1<7A5LFT1m\ $BN:`"1<243p=<3I7A5TSv1FLKr3J@4=<N:XP=<7:KrKM3I=<9   Z
  $ 

R6^.0y9;1<7A/OE49p`uNP=z N:=1<7:t45T3h@k3>=C7i1<FT/X^\B9m1<3>K .0/P1<3>=`j7:G>3:ZeR243W5L3113>= A n27:9ztO3I3>/9H  ~B3IE1<Ne1243h7At4t4=<3>g^F87i1<FTNP/d1<N


Ks7AVP3*FT1z9N:H4/E/Fb~^S 5TFLV:3PZsgP3>=J1243s587:9;1EB3IGI7:EB3P|6B.02O7:9JtO3GNPKr3s7:/dFLKM@ONP=;1C7A/Q19m1C7A/E47:=<E`uN:=6NP@O3I=<7A1FL/4Xe9;\B9;13>Ks9I|
FL/G5LHEBFL/4Xd=37A5TSU1<FTKM3,NP@O3I=<7A1FL/4X9\B9m1<3>Ks9>ZdR243hFLKM@ONP=;1C7A/G>3WNA`qR6^.0GI7A/ctk3,XQ7AH4I3IE`u=<N:K 123W`j7:G1*1<27i1r/4NiDR7:E47\B9pFT1
F89r=<7:=3s1<NG>N:KM3h7PG=<NP9<9z7GNPKrKM3I=<G>FL7:5fN:@k3>=C7i1<FT/Xd9\^9;13IK127A1rF89*/4NA1s6^.0qS G>N:KM@45LFL7:/Q1IZ_6^.09m1C7A=13Ec7:9r7A/ N:@k3>/
9NA`1mDR7A=<3*FL/4FT1F87i1<FTgP3:|tHB127:96/NiD 7A5LKMNP9;1ptO3GN:KM3s7 `7 V9
)? HW9m1C7A/E47:=<E`uN:=pNP@O3I=<7A1FL/4Xn9;\B9;13>Ks9IZ,^FL/G3WR6^.027:96/4NiD
tk3IG>N:KM3zNigP3>=<Da243>5LKMFT/4XP5T\h@ONP@4H4587A=|OD3*E4FL9<GH9<9a1<243M6^.0 9;1<7:/E47:=<E&`uNP==<3I7:5bSv1FLKM3N:@k3>=C7i1<FT/4Xh9;\B9;13>Ks9IZq[3*9;1<7:=;1JDaFb1<27
t4=<FL3`FT/Q1<=NBEBHG1FLN:/r1N1243NP@O3I/s9;N:`1mD7:=3RKMNig:3IKr3I/Q1f7A/E*123>/M1=C7:G>3R1243q24FL9;1NP=F8G>7:543>gP3>/Q1<9o127A127g:3a5L3IEr1<N612433IKM3>=<X:3>/OG3
N:` R6^.0zZ^Ht9;3YQH43>/Q15L\:|BD3p24FLX:245LFLX:2Q1R1243pFLKM@ONP=;1C7A/Q1a=3YPHFT=<3>KM3>/Q1C9RNA`"=<3I7:5bSv1FLKM3p6^.0*Z
 ;=:

PN8ISG

AH  KI

3`uNP=3JD36E4FL9<GH9<9N:@k3>/n9;N:`1mD7:=3P|^5T3>1RHO9aEBFL9<GHO99N:@k3>/n9\^9;13IKs9>|BDa24F8GC2&27:9R7rKzHGC2&DaF8EB3>=aGNP/4/4N:1<7i1<FTNP/
Zow
/ H#E 7)WXQGKPQ:?@7)C
F89q7sgP3>/E4N:=a/43IHB1=C7A5"3>/^g^FT=<N:/4KM3I/P1|4Da24F8GC2l7A5L5TNiD9H9;3I=<9a1NWFL/Q13>=<KMFb~n27:=<EBDR7A=<3:|49NA`1mDR7A=<3:|O7A/En/43>1mD NP=V^FL/4Xs9;NP5TH41FLN:/9R`u=<N:K
EBFT3>=<3>/Q1ag:3>/OEBN:=C9>Z@k3>/n9;\B9;13>Ks9R7A=<3qtO7:93IEWNP/hNP@O3I/h9;1<7:/E47A=CE49R7A/OE,7A=<3J/4NA1GNP@^\r=<FLX:2Q13E|B97g^FL/4X*HO9;3I=<9f`u=NPK 3~B@k3>/9FLg:3
FL/Q13>5L5L3IG$1<H7A5@4=NP@O3I=;1m\s=<FLX:2Q1u.m 4f587Dx9H4FT1<9IZ @O3I/e9;\B9;13>K7:EBgPN^GI7i1<3I9R9m1C7A/E7A=CEWFL/P1<3>=`j7:G>3I9`uN:=9FLKrFL587A=a@4=<NBEBHG$1C(9 349Nr127A1
H93>=C9GI7A/e3I7P9;FL5L\,FL/P1<3>XP=<7A13J1243IFT=J7A@4@5TF8G>7A1FLN:/nDaFb1<2e123@4=<N^E4HG$1C9q9H4@4@45LFT3Ent^\&7:/Q\hg:3I/EBN:=Z R2FL9q5T37:E49R1<NWg:3I/EBNP=;S /43>H41=C7A5
9N:5LHB1FLN:/O9>ZR243MKMNP9;16FTKM@kN:=1<7A/Q16X:NQ7A589NA`N:@k3>/9;\B9;13>Ks967A=<!3 WqFT/Q13I=NP@O3I=<7:t4FL5TFT1m\e7A/E@ONP=;1C7At4FL5TFT1m\:Zz.0/P1<3>=<N:@k3>=C7At4FL5LFb1m\nKM3I7:/9
9\B9m1<3>Ks9`u=<N:KK*H45T1FL@45T3Jg:3I/EBNP=<9 G>7A/h3~4GC27:/4X:3FL/B`uNP=Ks7i1<FTNP/,7AKMNP/4Xz37:GC2WN:1243I=IZow 9;\B9;13>KF89@ONP=;1C7At45L3qFT`FT1aGI7A/Wtk3JKrNigP3IE
`u=<N:KNP/4363>/^g^FT=<N:/4KM3I/P1 1Ns7A/NA123>=DaFb1<24N:HB1aKMNBEBF OG>7A1FLN:/9IZwq9@7:=;1RNA`"12436N:@k3>/n9\^9;13IKFT/Fb1<FL7A1FLg:3:|BNP@O3I/&9NA`1mDR7A=<3qKMNigP3S
KM3>/Q127P9RtO3GNPKr36@kN:@4H5L7:=IZ
@k3>/9NA`1mDR7A=<3p24NP5LE49qN:HB11=<3>KM3>/OEBN:H9J7:E4g7:/Q1<7AXP3I9R1<N,tkNA1<2e1243rH93>=C9q7P9D3>5L5-7P9q9\^9;13IK EB3>gP3>5LN:@k3>=C9>ZwEBgi7A/Q1<7:X:3I9qNA`
NP@O3I/&9NA`1mDR7A=<3FL/G>5THE431<2436`uN:5L5LNiDaFT/49X W". 1=<3IE4HG39G>NP9;1aNA`-E43>g:3I5TNP@4KM3>/Q1a7A/E,1FLKM361NMKs7A=<V:31a7r@4=<N^E4HG$1Zo. 1R23>5L@9RFT/OG=<3I7:93
1<243e7g7:FT587AtFT5LFb1m\]N:`7:E4EBSvNP/ 9NA`1mDR7A=<3,@7PGCV7:X:39>Z]. 1s3>/42O7A/G>3I9r3I7P9;3hNA`@=NPX:=C7AKMKMFT/4XOZ]. 1*`j7PGFL5TFT1<7A13I9M37:9\]FT/Q13IX:=C7i1<FTNP/cNA`
93>@7:=<7A13I5T\WEB3Ig:3I5TNP@O3E,KMNBEBH45L3I9IZ6^.0 F897A/&NAkS09;24N^N:1RN:`1<243pN:@k3>/e9NA`1mDR7A=<3KMNig:3IKM3>/Q1IZ

Version 2 CSE, IIT Kharagpur

0 _1h `a] tb]\ #\_Q`,b #hJ\5` G>7:/htk3EBFLg^FLEB3E&FT/Q1Nr1<24=3I3pG>7i1<3>XPN:=<FT39,W


Y 0  _1h/1S]!\0^!_i =<NigQF8EB39f@kN:=1<7:t4FT5LFT1m\h7i1R1<2439;NPH4=CG3pGNBEB365L3>g:3I5UZ"Ns=<H4/&7:/e7A@4@45LF8G>7i1<FTNP/hNP/&7r/43IDx@5L7A1;`uN:=<KyDN:H5LE
=3YQH4FT=<3JN:/45L\,GNPKM@4FT587i1<FTNP/&7:/E&5TFL/4V^FL/4XZowq{J^.a7A/E&6B.0 7:=36FLKM@ONP=;1C7A/Q1aN:@k3>/e9;NPH4=CG369m1C7A/E47:=<E9>Z

R2FL9J9m1C7A/E7A=CEh@=Nig^F8EB3I9a@kN:=1<7:t4FL5TFT1m\hN:`H4/45LFT/V:3IElN:Jt 3m3G$1qKMNBEBH45L3I9J7:G>=NQ99aEBFT3>=<3>/Q1@4587i1`uN:=<Ks9>Z"N
=H/&7:/&7:@4@45LFLGI7i1FLN:/&FL/n7r/43IDx3I/^gQFL=<N:/4KM3>/Q1|B=3I5TFL/4V^FT/X*N:`"1<243pN:tJ3m3G$1aKMNBEBH45L3I9aDN:H458EhtO3p=<3IYQH4FL=3EZ
Y 0 _1h cehJ\
<i R2FL9p9;1<7:/E47A=CEl@=Nig^F8EB3I96GNPKM@45T3>13W9NA`1mDR7A=<3z@kN:=1<7:t4FT5LFT1m\7:G>=NQ9927A=CEBDR7A=<3*@5L7A1;`uN:=<Ks96t7:93IEN:/]7
GNPKrKMNP/ht4FL/7:=\W587A/X:H7:X:369m1<=HG1H4=<3:Zwq/nN:@k3>/nt4FL/7A=<\W@4=<NBEBHG$1GI7A/ntO3p@kN:=1<7:t45L367A1a1243p3>~B3IGH41<7At5T3pGNBEB3p5L3>gP3>5vZw1
1243pKMNPKr3I/Q1I|B/4NMN:@k3>/nt4FL/7:=\,9;1<7:/E47:=<E493>~^F89;1IZ
R243sKs7:FT/_XPNP7A5oN:`6^.0F897A@@45TF8G>7A1FLN:/]@kN:=1<7AtFT5LFb1m\7i11<243,9N:H4=CG3sG>N^E43W5T3Ig:3I5UZ  3>`uN:=<3sD 3WE4FL9<GH9<9z7:tONPHB1p123 4 S
R6^.0z|B5L31H93~B@45LN:=<3q1<243p24F89m1<N:=<FLGI7A5t7PGCVQXP=NPH4/EsH/EB3>=qDa24FLGC2n6B.0 DR7:9aE43>g:3I5TNP@O3EZ
Y 0 _1h 0 a_1^ bi

 ;

ISG6IRT=RPAO

F

3`uNP=3D3EBF89<GH9<9-1243aEBFT3>=<3>/Q1 `u3I7i1<H4=<3I9-NA`O1243a6B.0 9;1<7:/E47:=<EpFL/r1243R/43>~^1o9H4t93IG1FLN:/


|:5T3>1 HO9"H/EB3>=C9;1<7A/OE1<243R24FL9;1NP=F8G>7:5
I3 g:3>/Q1C9a12O7i165T3En1N,1243MEB3>gP3>5LN:@4KM3I/P1JNA`fR6^.0zZ/4FT~eD7P9qNP=FLX:FL/7:5T5L\hEB3Ig:3I5TNP@O3Eet^\nwop 3I5T5*7:t9qFL/e1<243*37A=<5T\n93>gQS
3I/P1<FT39>ZfBFT/G>3pwopDR7:9R@4=<FTKs7:=FL5T\W7*1<3>5L3IGNPKMKzH4/4F8G>7A1FLN:/&GN:KM@7:/^\:|BFT1a`u3>5T1a127A1aq/4FT~hDR7:9/4NA1G>N:KMKM3>=CGF87A5L5T\sFLKM@ONP=;1C7A/Q1
`uNP=qFT1IZqR243I=3>`uN:=<3:|OFb16EBFL9;1=<FLt4HB13El/Fb~l9N:H4=CG3zG>NBEB3p`u=<3>3N:`fGNP9;11<N,9;3Ig:3I=<7:5
H4/4FLg:3I=<9Fb1<FT39>Z6?j/FTgP3>=C9;FT1m\hN:` ?7A5LFb`uNP=/4F87
7AD1 3I=VP3>5L3>\4 D7P9 NP/43pNA`"1243p37A=<5TFL3I9;1a=3GFL@4FL3>/Q1<9RN:`-/Fb~n9;NPH4=<G>3pGNBEB3:Z
wo p 587i1<3>=JX:N:1JFL/Q13>=<3I9;13EeFL/G>N:KM@4HB1<3>=C9>Zp. 16=37A5LFTI3IEl1243r@ON:13I/P1<FL7:5 NA` q/4Fb~7A/Ed9m1C7A=13IEdEB3>gP3>5LN:@4FL/4X&/4FT~e`uH4=1243I=
7:/E,GI7AKM3H@hDaFT12n/4FT~ *Z4e3I7:/QDa2FT5L3:|BJ? 27:E,FT/G>N:=<@ONP=<7A13EWq? i.mcFL/P1<Ns/4FT~s124=<N:HX:2h7*587A=<X:3qw 4wj3`u3I/93
wEBgi7A/G>3IE 4a39;37A=CGC2rf=!N 3m3IG$1wqX:3>/OG\zN:`JBwX:=C7A/Q1IZ-J? G>7:Kr3aH@sDaFb1<2sFb1C9oNiDa/Mg:3>=C9FTNP/*N:`q/4Fb~s7A/OEM/7AKM3IErFT1 7:9 R4
t  3I=VP3>5L3>\W^N:`1mD7:=3qF89m1<=FLt4HB1<FTNP/O$Zw1R12FL9 1FLKM3:|^1<243JG>N:KMKM3>=CGF87A5kFTKM@kN:=1<7:/G3NA`"q/4Fb~,9;1<7:=;1<3IEW1NzXP=NiDgP3>=<\*=C7A@FLEB5L\:Zow9
7,=39;H45T1I|kKs7A/^\ng:3I/EBN:=C9FLKM@45L3>KM3>/Q13El7A/OEe3~^13I/EB3E/Fb~l93>=<gQF8G39FL/dEBFT3>=<3>/Q1DR7\B,9 W. R DaFb1<2FT1<9Jw.0*&| DaFT12dFb1C9
oS0z|BH4/hDaFT12&FT1<9a^N:587A=<F89>|BFTXPFb1C7A5DaFb1<2hFT1<9aq5b1<=FT~|47A/E&?a DaFT12l?aqS0/4FT~,7A=<39N:KM3JNA`"12436@4=<N:KMFL/43>/Q1R3~47AKM@45L3I9IZ
^FL/G>3123>=<3zD3>=<39;NhKM7:/^\hgi7A=<F87A/Q1<9aN:`f/4FT~|@ONP=;1C7At4FL5TFT1m\&NA`f7A@@45TF8G>7A1FLN:/97:G>=NQ99aq/4Fb~l@5L7A1;`uN:=<Ks9tk3IGI7AKM3z7W@=NPt45T3IKnZ. 1
=<3I9H45T13IEhFL/n7M9Fb1<H7i1<FTNP/nDa243>=<3p7*@=NPX:=C7AKDa=<Fb113>/&N:/nNP/43p/4FT~h@4587i1`uN:=<K DN:H458E,/NA1=<H4/hNP/e7A/4N:1243I=Rq/4FT~h@4587i1`uN:=<K&Z
R243p/3>3IE&`uNP=q7s9;1<7A/OE47A=CEn/4FT~hDR7:9a=<3IG>N:XP/4FTI3IEht^\h7A5L5vZR243 O=<9;1q3N:=1a1NiDR7A=CE49a9;1<7:/E47A=CEBFLI7A1FLN:/&NA`o/4FT~&DR7:9a1<7AVP3>/
t^\wo p FT/1<243M`uN:=<KNA`RFT1<9 .m*v^\B9m1<3>K .0/P1<3>=`j7:G>3M(3 O/4Fb1<FTNP/O$Z NiD3>g:3I=IL| aBy7A/EdNA1<243>=pgP3>/EBNP=<9JFLX:/4NP=3El1<24F89
FL/4FT1F87i1FLg:3PZR2436/43~^1FL/4FT1F87i1FLg:3pDR7:9 1C7AV:3I/hH/EB3>=wq{B. . VVV|^Da24F8GC2n\QFL3>58EB3EhR6^.0zZ

 ;&

ILK DTBI  AO

F 

R 6^.0 FL9a7:/hN:OS09;2NQN:1N:`1<243pN:@k3>/n9;N:`1mD7:=3KMNig:3>KM3I/P1Zow KM7 3mN:=aGNP/G3I=/hNA` 6^.0 F8912436@kN:=1<7AtFT5LFb1m\,NA`-7:@4@45LFLGI7i1<FTNP/9


7PG=<NP9<9JE4Fb3>=<3>/Q1gi7A=<FL7:/Q1<9JNA`a/4FT~dNP@O3I=<7A1FL/4Xe9;\B9;13IKM9IZNiD3>gP3>=|6B.02O7:96tk3>3>/c9NnDaFLE43>5L\d7:GIG3I@B13E/4NiD 127A1z3>gP3>/
/4NP/BS0/4FT~


 [#%%6F Q6$'4QQ,  F .# 0F- RH:<FE$' @B6C..#  0
 133' 6;:<F >H#%R#%3! #%3'(N$: CD.# 6FQPU#%$!6F;: CD#
$@  .#/ #/3'(N3: C..# A+,) Q,.# F 37#.13EC : @ RM  D I6CD- R?S#/3'(N3: C..# 6$'( P+3=:<!?1- 3! $FEQ W

N:=R9;NPH4=<G>3JG>NBEB3S 5T3Ig:3I5kG>N:KM@7i1<FTtFT5LFb1m\P|46^.0 9@O3GF 3I9 12369\B9m1<3>K GI7A5L5L9 12O7i17A/hN:@k3>=C7i1FL/4Xr9;\B9;13>Ky/43>3E49 1NM9;H4@@ONP=;1|


1<243q3>~B7PG$1@7:=<7:KM313I=<9NA`12439;39;\B9;13>KG>7:5T589I|Q7:/Er12439;3IKM7:/Q1F8G>9N:`1243JEBFb3>=<3>/Q1 9\B9m1<3>KG>7:5T589>Z "=\^FL/4X/4N:11Ntk3qH/4/43IG>3I9;S
9<7A=<FT5L\r=39m1<=F8G$1<FTgP3:|PR6^.05L3I7gP3I9 1<243NP@O3I=<7A1FL/4X9\^9;13IKg:3>/OEBN:=C9 123q`u=<3>3EBN:K 1N*FTKM@45L3>KM3>/Q1 1243J9;\B9;13>KGI7A5L5L9 7:9@k3>= 123>FL=
EB39;FLX:/Z-R2439;1<7:/E47:=<E*EBN^3I9o/4N:1f9;@k3IG>Fb`u\*Da2431<243>= 1<243NP@O3I=<7A1FL/4XJ9\B9m1<3>K V:3>=</43I5BKzH9;1otO3q9FL/4X:5L3124=<3I7PEB3IE*N:=oK*H45b1<Fb1<24=<3I7:E43IE
NP= 7i1 Da27i1f@=FLN:=<Fb1m\*5T3Ig:3I54123qV:3I=/3>593>=<g^FLG>3I97:=3a1<Ntk3q3~B3GHB1<3IE|QN:= FT/sDa27A1 @4=<N:XP=<7:KMKrFL/4X6587A/4XPH7AXP3aFb1fK*H9;1 tk3qDa=<Fb113>/Z
'<

Version 2 CSE, IIT Kharagpur

R6^.0 9;1<7A/OE47A=CE&27:99;3Ig:3>=C7A5@7A=1<9IZR243zFLKM@ONP=;1C7A/Q1q@7:=;1C9N:`oR6^.0 7:/E&123*7:9@k3IG$1C9a1<27i11243I\nE43I7A5"DaFb1<27A=<3p1<243


`uNP5T5LNiDaFT/XZ
Y 6^.0*Z Wo9;\B9;13>KyFT/Q13I=;`j7PG39a7A/E&9;\B9;13IKyG>7:5T5
@O7A=C7AKM31<3>=C9>Z
Y 6^.0*Z 5W9243>5L5L9q7A/EhHB1FL5LFb1<FT39>Z
Y 6^.0*Z W 139m1KM3>124NBE49R`uNP=ag:3I=FT`u\^FT/4XsG>N:/B`uNP=Ks7A/OG31Ns6^.0*Z
Y 6^.0*Z [Wo=<3I7A5TSv1FLKr363>~Q1<3>/9FLN:/9IZ
 I <? Y5' T( I O F  H *G 1*K 
R6^.0zZ l[ EB3I7:5L9DaFb1<2c=37A5TSU1<FTKM3s3>~Q1<3>/9FLN:/961<N6B.0y7A/EF89z7:5L9Ne@ONP@4H4587A=<5T\dV^/4NiDa/_7:9zR6^.0S4 6Z4NP=z7A/_NP@O3I=<7A1FL/4X

 ; 

9\B9m1<3>K 1<N&tk3W6B.0S4- GN:KM@45LF87A/Q1I|


FT1KzHO9m1pKM3>3>1p1243sEBFTk3I=3I/Q1=3YPHFT=<3>KM3>/Q1C9J9@k3IGF 3EFL/1243s6B.0S4- 9m1C7A/E7A=CEZ
R243pKs7:FT/&=3YQH4FT=<3>KM3I/P1C9RNA`"1243R6^.0S4 7A=<3J12436`uNP5T5LNiDaFL/4XW
Y  L_1^ Sbace]h@`a^ 3_  tcehSi wR6^.0S4 G>N:KM@45LFL7:/Q1 NP@O3I=<7A1FL/4Xp9;\B9;13IK KzHO9m1@4=<Nig^FLE439H4@4@kN:=1o`uN:==<3I7:5bSv1FLKM3pj9;1<7i1<FLG
@4=<FTNP=FT1FL3I9IZ
Y[Z_\ q]\0d #h^!_ \0_  ce\0_d[_h&ba`[]h `
L`2b2_1d ^ e`  [N:=C9m1&G>7:93e3~B3GHB1<FTNP/ 1FLKr39,=<3IYQH4FL=<3IE `uN:=hKrNQ9m1h=37A5TSU1<FTKM3
N:@k3>=C7i1<FT/4XM9\^9;13IKy93>=<gQF8G39R27g:3Jtk3>3>/e9@O3GF 3IE&t^\,R6^.0S 4 6Z
Y[Z\0ce]9\ceb
, e_g_ t`!i R243p/^H4Kztk3>=aN:`-@=FLN:=<Fb1m\s5L3>gP3>589a9;H@4@ONP=;1<3IE&9;2N:H458E&tO37A1R5L3I7P9m61 5BZ
Y+ced[_\0`i 3>=<FLN^E4FLGJ7A/EhN:/36924N:11<FTKM3I=<9pU7A589;NsG>7:5T5L3IEhDR7i1<GC2OEBN:Xz1FLKr3I=CR924NPH45LEhtk39;H4@@ONP=;1<3IEZoR2439\B9m1<3>KyG>5TNBGCVsF89
G>7:5T5L3IEe? -p?  46V w BR.m VDa243I/,1<2439;\B9;13IK9H4@4@kN:=1<9R=<3I7A5TSv1FLKr3pR6^.0zZ
Y 0 _  1=b2ctdP_ e_1`i 4a3I7:5bSv1FLKM3 5L3r9\B9m1<3>K924N:H5LEtO3M9;H@4@ONP=;1<3IEZw=<3I7:5bSv1FLKM3 5L3r9\B9m1<3>KGI7A/l@4=<3I7:5T5LNBG>7A13*9;1NP=<7:X:3
`uN:= 5T39R7A/EW924NPH45LEWtO367At45L31<N*9;1NP=D3 O5T3Jt45LN^GCVB9GNP/P1<FTXPH4N:HO9;5L\*NP/s123EBF89;VZoR24F893>/7:t45T391<Nz27gP3@4=<3IEBF8G$1C7At45L3E43>587\
FT/ 5L37:GIG3I9<9IZ
Y  _1dP]9\
t]L^Z.LcehSi e3IKrNP=\n5LNBGCVQFL/4X&9;24NPH458Eltk3r9H4@4@kN:=13EZ6^.0qqS 4 EB,3 /439q1<243MN:@k3>=C7i1<FT/4X&9;\B9;13IK93>=<g^FLG>3I29 W
'0J)2+1<Nn5TNBGCV7:5T5o@7:X:39N:`7&@4=<NBG3I9<9I9| '0j)2+z1<N&5LNBGCV7&=<7:/4X:3rNA`@7AXP3I9I|7A/O
E ' #")2+z1Nn5TNBGCVeNP/45T\
1243sG>H4==<3>/Q16@7AXP3:ZzR23rH/45TNBGCVl93>=<g^FLG>3I967A=<
3 ' 90J)2+^| ' 0j),+^|7A/E ' 90 #"*),+^ZJe3>KMN:=<\e5LN^GCV^FL/4X
9;3I=g^F8G39 2O7g:3JtO3I3>/nFT/Q1<=NBEBHG>3IEh1Ns9H4@4@kN:=1EB31<3>=<KrFL/4F89m1<FLG6KM3IKrNP=\h7:G>G>3I9<9tQ\&7r=37A5TSU1<FTKM36@4=<N:X:=C7AKnZ
Y   b2ceb 3\0_ cth `  ]9\b!i 6^.0qqS 4 Ks7A/OE47i1<3I9&12=37:EBFL/4X9;H@4@ONP=;1et^\ 7:/xNP@O3I=<7A1FL/4X9\B9m1<3>KnZ 4a3I7:5bSv1FLKM3
124=<3I7PE49q7:=39<GC243EBH4587At45L3z3I/P1<Fb1<FT39qN:`7W=<3I7A5TSv1FLKr3*7A@4@45LF8G>7i1<FTNP/n127A1JGI7A/e27gP3FT/OEBFTg^F8EBH7:51<FTKM3>5LFL/43I9<9G>N:/9;1=C7AFL/Q1<97:/E
Ks7\s27g:3pGNP5T5L3IG1FLg:3J1FLKM3>5LFT/3I9<9aGN:/O9m1<=<7:FT/Q1<9RDa23>/&tO3I5TNP/4X:FL/4Xr1NW7r=<H4/4/7:t45T3p931N:`12=37:E49IZ
  6 n * ,   M( q &z' p ,   !#"kI $ &dq'  ) (+*  ,, -q
.0/e1<24F8993IG1FLN:/eD3t4=<FT3>}\&9H4=<g:3I\W123zFLKr@kN:=1<7:/Q1`u3I7A1H4=<3NA`f9N:KM3N:` 1243*@ONP@4H4587A=q=<3I7:5bSv1FLKM3N:@k3>=C7i1<FT/XW9;\B9;13>Ks9127A1J7A=<3
tk3>FL/4XlH93IE]FL/G>N:KMKM3>=CGF87A5f7:@4@45LFLGI7i1FLN:/O9>Znw 9;1HEB\]N:`1<243s`u37i1H=39NA`R1<243,GNPKMKr3I=<G>FL7:5T5L\d7gi7:FT587At45L3s=<3I7A5TSv1FLKr3sNP@O3I=<7A1FL/4X
9\B9m1<3>Ks9aG>7:/hXPFTgP3JHO97A/&FLE43I7M7AtkN:HB1Da2FLGC2&=37A5TSU1<FTKM36N:@k3>=C7i1<FT/Xr9\B9m1<3>K 1<NMH9;3pFL/e7M9;@k3IG>F OG6=<3I7:5bSv1FLKM3J7:@4@45LFLGI7i1<FTNP/
Z
3`uNP=3D 369H4=gP3>\s9N:KM3qN:`
12436@kN:@4H5L7:=RG>N:KMKM3>=CGF87A5k=37A5TSU1<FTKM3N:@k3>=C7i1FL/4Xr9;\B9;13>Ks9I|^D 3J/43>3EW1<N*KM3I/P1<FTNP/W1<27i1RKs7A/^\sNA`
1<243I936N:@k3>=C7i1FL/4XM9;\B9;13IKM9aG>N:KM36DaFb1<2&7M931aNA`"1N^N:5891Nr`j7PGFL5TFT1<7A13J1243pEB3Ig:3I5TNP@4KM3>/Q1aNA`"=<3I7:5bSv1FLKM3J7:@4@45LFLGI7i1<FTNP/9><Z 3I9F8EB3I91<243
XP3>/43I=<7:5o@4=NPX:=C7AKMKMFT/Xh1<N^N:5899;HOGC2]7P93EBFb1<N:=C9>|-GNPKr@FT5L3>=C9>|-7A/E_E43>t4H4XPX:3I=<9I|"93>gP3>=C7A57:E4g7:/G3Ed1N^N:5899@O3GF OG>7:5T5L\E43I9FTXP/43IE
1<Nr23>5L@&=<3I7:5bSv1FLKM3p7A@4@45LF8G>7i1<FTNP/&E43>g:3I5TNP@4KM3>/Q17A=<3FL/G>5THE43IEZfR231<N^N:589RFT/G>5THOEB3pKM3>KMN:=<\,7A/O7A5L\QI3>=C9>|^@k3>=`uN:=<Ks7A/G>3@4=<N O5T3I=<9I|
9FTK*H4587i1NP=<9I|^31CGAZ


Version 2 CSE, IIT Kharagpur

;=:

6WF89a7*@ONP@4H4587A=a=<3I7A5TSv1FLKr3JN:@k3>=C7i1<FT/Xr9\B9m1<3>K1<27i1F89RtO3IFT/Xr@=FLKs7A=<FT5L\sH93IEhFT/&3>K*tO3E4EB3IEn7:@4@45LFLGI7i1FLN:/O9>Z . 1aFL9a7gi7:FT587At45L3
`u=<N:K[FL/EP4aFLg:3I=r^\B9;13>Ks9I|7l587A=<X:3s@4587\:3I=FL/c123,=<3I7A5TSv1FLKr3,N:@k3>=C7i1FL/4X9\B9m1<3>K 7A=<3>/O7   Zd. 1*F89*724NP9;1;Sv1<7:=XP31p1m\^@O3hNA`
=<3I7:5bSv1FLKM3,N:@k3>=C7i1<FT/Xd9\^9;13IK j93>3e^3IG:Z  Z [OZ 5P$Z] 6_FL9rtk3>FL/4XH93IEFT/9;3Ig:3I=<7:5 GNPKMKr3I=<G>FL7:5 3IKztk3IE4E43IEc@=NBEBHG1<9IZ_w/
3>~B7:KM@45T3p7:@4@45LFLGI7i1FLN:/&NA`o O6WF89RFT/&1<243pt7:93p9m1C7i1<FTNP/9RNA` G3>5L5
@42N:/43p9\^9;13IKs9>Z
Legend:
XRAY+: Source level
debgguer
PROBE: Target Debgger

Editor
Cross
compiler
. XRAY+
Libraries

Application

Host Computer
TCP/IP

P
N
A
+

PSOS+
PHILE
PROBE
ROM

Target Board

- FTXPH4=3 "#Wo 6^Svt7P9;3E,3>gP3>5LN:@4KM3>/Q1aNA`<VK*tO3E4EB3E&^N:`1mD7:=3


6QS t7:93IEs7:@4@45LFLGI7i1FLN:/&EB3>gP3>5LN:@4KM3I/P1R27P99<GC243IKM7A1F8G>7:5T5L\MtO3I3>/n9;24NiDa/hFT/n-FTXOZ  Z "4Z R243624NQ9m1aGNPKr@HB13I=F891m\^@4F8G>7A5L5L\
7*EB3I9VQ1N:@ZNA1<2,/Fb~W7A/OEs[FT/OEBNiD9f2NP9;1<97A=<3q9;H@4@ONP=;1<3IEZoR243q1<7:=XP31ftkNP7:=<EsG>N:/Q1<7:FT/912433>K*tO3E4EB3IE,@4=<N^G>3I9<9;NP=I| 4aJc|
4w_|k31<G:ZaR24324NQ9m1qG>N:KM@4HB1<3>=q=<H4/9a1243*3IEBFT1NP=I|kG=<NP9<9mS0GNPKr@FT5L3>=|B9;NPH4=<G>3S 5T3Ig:3I5
EB3>t4HX:X:3I=I|O7A/En5LFTt=<7:=\h=NPHB1FL/43I9IZR 6 
7:/EN:1243I=sN:@B1<FTNP/7A5RKMNBEBH45L3I9W9HGC2 7:9Mf{w *|R q. SV|o7:/E  4
V7A=<3&FT/9;1<7:5T5L3IE N:/ 7 4J NP/1<243&1<7A=<X:3>1stONQ7A=CEZ
{qw  FL91<243p/43>1mD NP=VsKs7A/O7AX:3I=IZ-. 1a@4=<NigQF8EB39q? .mGNPKrK*H4/4F8G>7A1FLN:/&tO3>1mD 3I3>/h1243p24NQ9m17:/EW1<243J1<7:=XP31aNig:3I= V1243I=/43>1
7:/E]-J.$Z
. 1zGNP/B`uN:=<Ks9J1Nl/Fb~ [Z t aBJ69NBGCV:3>1p9\^/Q1<7i~7A/EdFL9zGN:KM@7A1FLt45L3rDaFT12]N:1243I=zq? i.moS t7:93IEe/31mDN:=<VQFL/4X
9;1<7:/E47A=CE49J9;HOGC27P9q`1<@7:/E{oZq9FL/4X,1<243I93:|"f{qw @4=<Nig^FLEB39q3  GFL3>/Q1EBNiDa/45LNP7:E4FT/4X&7A/EdEB3>tH4X:XPFT/4XnGNPKMKzH4/4F8G>7A1FLN:/
tk31mD3>3I/123 1C7A=<X:3>1 7:/Ep1<243R24NP9;1IZ- 4
 V FL9-1<2431<7:=XP31-E43>t4H4XPX:3I=-7:/E
4w :FL9-1<243a9;NPH4=<G>3S 5T3Ig:3I5PEB3It4H4X:XP3>=Z
/ 4qw :
FL/^g:N:VP3I9 4
V  1<Nz@4=<Nig^FLE43q793I7AKM5L3I9<9fEB3It4H4XPX:FL/4X3>/^g^FL=NP/4KM3>/Q11Nz1243=37A5TSU1<FTKM3J7A@4@45LF8G>7i1<FTNP/WEB3>gP3>5LN:@k3>=Z-R237A@@45TF8G>7AS
1<FTNP/lEB3>gP3>5LN:@4KM3>/Q1F89EBNP/43pN:/&12324NP9;1qKs7:GC2FT/437:/E&FL9EBNiDa/45LNP7PEB3IE,1NM1<243p1<7:=XP31tkNP7:=<EZR2437A@@45TF8G>7A1FLN:/nF89qEB3It4H4X:XP3IE
H9FL/4Xr1243p9N:H4=CG36EB3>tH4X:XP3>=6u/ 4qw :6$Z qH4=<FL/4Xs7A@4@45LF8G>7i1<FTNP/hEB3Ig:3I5TNP@4KM3>/Q1I|^1<243p7A@4@45LF8G>7i1<FTNP/,F89aEBNiDa/45LNP7PEB3IE,N:/W1<Ns7 4qwq
NP/,1<24361<7:=XP31IZf/G>3J12437:@4@45LFLGI7i1FLN:/&=<H4/99<7i1<FL9;`j7:G1N:=<FL5T\P|QFT1F89`uH9;3E&N:/n7 4aJcZ
[3/4NiD 24FLX:245LFTXP2Q1q9;NPKr3zFTKM@kN:=1<7A/Q1a`u37i1H=39NA`o O6ZO6&9;H4@@ONP=;1C69 5r@4=<FLN:=<Fb1m\h5T3Ig:3>589aDa24F8GC2lG>7:/ntO3r7:9<9;FLX:/43EW1<N
1C7:9V^9IZW.0/]1<243WKMFT/FTKs7A5 GN:#/ X:H4=C7i1<FTNP/
|
1<243M`uN^NA1z@=FL/Q1NA`1243s1C7A=<X:3>1N:@k3>=C7i1FL/4Xe9\^9;13IKF89pN:/5T\ 5 8\Q139>Zh4N:=927:=FL/4X
G>=FT1F8G>7:5"=<3I9N:H4=CG39q7:KrNP/4XW=<3I7:5bSv1FLKM31<7P9;VB9I|OFT1p9;H4@@ONP=;1C9@=FLN:=<Fb1m\&FL/4243>=<FT1<7A/OG3*7:/El@=FLN:=<Fb1m\nG3IFT5LFL/4X,@4=<NA1<NBGN:589IZ. 1p9;H@4@ONP=;1C9
93>XPKr3I/Q13IErKM3>KMNP=\Ks7:/7AXP3>KM3>/Q1f7A/OErE4NQ39o/4N:1 9;H@4@ONP=;1g^FL=;1<H7A5Kr3IKMN:=<\z7:9oFT1fF89oFL/P1<3>/E43IEr1Nptk3H93IErFL/W9;Ks7:5T57:/ErKMN^EBS
3I=<7A13z9FTI3IE3>Kztk3IEEB3IEl7:@4@45LFLGI7i1<FTNP/9>ZJ 6lEB(3 /3I9J7 C 7VC H<5GK 587 JAIHJW,1<N,tk3r7,@42^\B9;F8G>7:5T5L\&G>N:/Q1FLX:HN:H9qt45TNBGCVnNA`KM3IKrNP=\PZ
w Kr3IKMN:=<\h=<3>XPFTNP/eFL9G=<3I7i1<3IEnt^\&1243*N:@k3>=C7i1<FT/4Xh9;\B9;13>KFL/l=<3I9@ONP/9;361<Nh7hG>7A5L5
`u=<N:K7A/d7A@4@45LF8G>7i1<FTNP/
Zqw @4=NPX:=C7AKMKM3>=GI7A/
7:5T5LNBG>7i1<3p7z1C7:9Vs1Ns7MKM3>KMNP=\s=<3>XPFTNP/
Z
.0/_KMNP9;1*KMNBEB3I=/_NP@O3I=<7A1FL/4X9\^9;13IKs9>|-123hGNP/Q1=<N:5 3mH4KM@9z1N1243hV:3I=/43I5Da243I/7A/_FL/Q13>=<=<H4@B1*NBGIGH4=C9>Zl6d1<7:V:397
5"

Version 2 CSE, IIT Kharagpur

EBFT3>=<3>/Q1q7A@4@=NQ7:GC2
Z q3Ig^FLG>36E4=FLg:3I=<9R7A=<36N:HB1C9;F8EB3J123pV:3>=</43I5
7A/E&G>7:/htk3p5TNQ7:EB3Eh7:/Eh=3IKrNigP3IEh7i1a123p=H4/h1FLKM3:Zo[243I/e7A/
FL/Q13>=<=<H4@B1NBG>G>H4=<9I|B1<243@4=<NBG3I9<9N:=3mH4KM@9qE4FT=<3IG15L\,1<NM1243.;#4uFL/P1<3>=<=H@B1q9;3I=g^F8G36=<N:HB1<FT/43R@kN:FL/P1<3IEh1N,tQ\,1243zg:3IG1NP=R1<7At5T3PZ
R243rFL/P1<3>/Q1FLN:/dFL9J/4N:1JNP/45L\n1N&XP7AFL/d9@k3>3IE
|t4HB17A589;N,1N&X:FLg:3z1243s7A@@45TF8G>7A1FLN:/E43>g:3I5TNP@O3I=JG>N:KM@45L31<3rG>N:/Q1=<N:5-Nig:3I=qFL/P1<3>=<=H@B1
27:/EB5LFT/XZ
;  / ' 

4-R F89f7zR6^.0S4 GN:KM@45LF87A/Q1 NP@O3I=<7A1FL/4X9;\B9;13IK `u=<N:Ke3I/Q1N:= J=<7:@424F8G>9IZ 
4 Rx27P9tk3>3I/,G3I=;1<F 3Est^\r1243JsBww
U43IE43>=C7A5wg^FL7A1FLN:/WwqX:3>/OG\4 `uNP= H93FL/,KMF899FTNP/W7A/EW5TFT`u3G>=FT1F8G>7:5k7:@4@45LFLGI7i1FLN:/O9f9HGC2W7:97g^FTNP/4FLGI9>Z /4 R FL97gi7AFL5L7:t45T3qFT/s1mDN
K*H45b1<Fb1C7:9V^FT/4XMVP3>=</43>589,W 
4-RJ97M7:/E/4 RqKsGAZ

-4 RJ97FL9fH9;3EM`uN:= 5L7:=XP37A/EMKM3EBFTHK*S09FTI3IEs7A@@45TF8G>7A1FLN:/9IZ-. 19H4@4@kN:=1<9g^FL=;1<H7A5OKM3>KMN:=<\:Z-. 1 27P97R6^.0S0GNPKr@5TF87A/Q1
5LFTt=<7:=\,7:/En9;H@4@ONP=;1C9a@4=<FTNP=FT1m\WFL/4243I=FT1<7:/G3PZ. 1<99\B9m1<3>KG>7A5L589GNPKr@5T3>13EB3>13>=<KMFT/FL9;1F8G>7:5T5L\,FL/ 4 ~B3IEh1FLKM3FL/P1<3>=<gi7A589a7A/En7A=<3
`uH45L5L\,@4=<3>3IKr@41<7At5T3PZ 
4 RqKsG6FL9N:@B1<FTKMFL>3IE,`uN:=a@kNiD3>=aGNP/9;HKr@41FLN:/n7A/E4 J 7:/E q4 wq9;FL>39>Z . 127P91243I=3>`uN:=<3J7rgP3>=<\
9Ks7A5L5B`uN^NA1f@4=<FL/P1Z-R23V:3I=/43I5B1m\^@4F8G>7A5L5L\z=<3IYQH4FL=39 N:/45L\[61<N < 8 \P1<3I9 N:`4 J7A/OE 8 \Q13I9 N:`&q4 wq_ZQ. 1fEBN^3I9f/4NA1f9H4@4@kN:=1

g^FL=;1<H7A5KM3>KMNP=\PZ R2FL9RgP3>=C9;FLN:/hFL91C7A=<X:31<3IEW`uN:=aH936FT/&3>K*tO3E4EB3IEn7:@4@45LFLGI7i1FLN:/O99HGC2n7:9aG>N:KM@4HB1<3>=Svt7P9;3Es1<Ni\^9I|BG3I5T5@42N:/439
7:/E,N:1243I=9;Ks7:5T5
2O7A/E^S 243I5LE&EB3>g^F8G39>Z
;&

 AK#EDR

q~^[N:=<VB9JFL967h@4=NBEBHOG$1J`u=NPK[FT/OE 4aFLg:3I=6B\^9;13IKs9>Z*. 16F89J24NP9;1;Sv1<7:=XP311m\Q@k3r=37A5TSU1<FTKM3rN:@k3>=C7i1FL/4X&9;\B9;13>KnZrR243*2NP9;16GI7A/


tk3h3IFb1<243>=M7l[FL/EBNiD9*N:=M7q/4FT~cKM7PGC24FL/43:Z  ~B[N:=<V^9rGNP/B`uN:=<Ks9p1<NR6^.0S4 6Z  ~B[N:=<VB9*G>N:KM3I9*DaFb1<2 7:/cFT/Q1<3>X:=C7i1<3IE
EB3Ig:3I5TNP@4KM3>/Q1s3>/^g^FT=<N:/4KM3I/P1j.m/VMG>7:5T5L3IE "N:=</7:EBNOZ.0/7:E4EBFT1FLN:/1<N]1243l9;1<7:/E47A=CE9;H4@@ONP=;1s`uNP=W@4=<N:X:=C7AKE43>g:3I5TNP@4KM3>/Q1
1<NQNP5L9r9HGC2c7:9*3IEBFT1NP=I|oG>=NQ99;S G>N:KM@4FL5T3I=I| G=<NP9<9;S EB3It4H4XPX:3>=|3>1<G:Zd"N:=</7:EBNdGN:/Q1C7AFL/9 q ~4BFTK7:/E_[FL/E q FL3>DpZ  ~^FLK9FTK*HBS
587i1<3I97 q ~^[N:=<VB91<7:=XP31a`uN:=qH9;37P97M@4=<NA1<NA1m\^@4FL/4Xs7A/Eh139m1<FT/Xs3>/^g^FT=<N:/4KM3I/P1aFL/n1243*7At93>/G>36NA` 1243*7:G$1<H7A51C7A=<X:3>1tONQ7A=CEZ
[FL/E  FT3ID@=Nig^F8EB3I9 EB3It4H4X:XPFT/Xq1<NQNP5L9o`uN:= 1239;FLKzH4587i1<N:= 3>/^g^FL=NP/4KM3>/Q1IZ  ~4l]F89-1243aK*H45b1<FT@=NBG399N:= gP3>=C9;FLN:/*NA`  ~B[dNP=VB9IZ
q ~^[N:=<VB9zDR7:9rEB3I@45TNi\P3IE_FL/ 1243el7:=<9ro7i1<2J/EB3I=*Da2FLGC2 D7P9*93>/Q1r1N_l7A=C9*FT/   ^
Z_o7i1<2J/E43>=r5L7:/EB3IE FL/ l7:=<9I|

=<3I9@ONP/EB3E1<NcX:=<N:H/E GN:KMKs7A/OE49>|a7:/E 9m1C7A=13IE 1<N9;3I/E9<GFL3>/G>3l7A/E 3I/4X:FL/43>3I=FL/4X_E47A1<74Z NiD3>gP3>=|7]2Fb1CGC2D7P9M127A1


FT1W=3I@O37i1<3IEB5L\_=39;3>1sFb1C9;3I5b`mZ V/X:FL/43>3I=<9rN:/X:=<N:H/Ec=<3>KMNA1<3>5L\cH9FT/X1<=<7PG3nX:3I/43>=C7i1<FTNP/
|5LN:X:XPFT/X|f7:/E E43>t4H4XPX:FL/4Xd1N^N:589MNA`
q~^[N:=<VB9>|"EB31<3>=<KrFL/43E1<27i1p1<243WG>7:H93rDR7:9JH4/^tkN:H4/OEB3IE@4=<FTNP=FT1m\lFL/^g:3>=C9FTNP/
ZrR23rH/QtkN:H/EB3IE@4=<FLN:=<Fb1m\lFL/^g:3I=<9FTNP/dGI7AH93IE
=<3I7:5bSv1FLKM3h1C7:9VB9z1<N]KrF89<9M1243IFT=WE43I7:E45TFL/43I9s7P9s7=39;H45T1I|f1243e3>~4G3>@41FLN:/27A/E45T3I=s=39;3>1r1<243l9\^9;13IK3I7PGC2c1<FTKM3:Zwq5b1<24N:HX:2
q~^[N:=<VB99H4@4@kN:=1<9@4=<FTNP=FT1m\&FT/423>=<Fb1C7A/G>3:|FT1JDR7:9`uN:H4/EN:HB16t^\nH9;FL/4Xh1243r=<3>KMNA1<3*EB3It4H4XW1<N^N:5-1Nh27g:3*tO3I3>/dE4FL9<7At45L3IEltQ\
NigP3>=C9;FLX:2Q1 FL/&1243G>N:J/ OX:H4=C7i1<FTNP/ 5L3:ZR243p@=NPt45T3IK DR7:9 4~B3IE&t^\W3>/O7At45LFT/XrFT1IZ
;

X 

XJ{qyF89z7e@4=<NBEBHG1z`u=<N:K XJ{BNA`1mDR7A=<3,^\B9m1<3>K 1<E u2Q1;1<L@ W  DaDaDpZ YQ/B~Z G>N:KW$@


Z XJ{q F89zFL/Q13>/OEB3IE]`uNP=zH93WFL/cKMFL9<9FTNP/BS
G>=FT1F8G>7:5^7:@4@45LFLGI7i1<FTNP/9-FT/r123R7:=37:9-9;HOGC2r7P9"KM3EBFLGI7A5BFL/9;1=<H4KM3>/Q1<7A1FLN:/
|A.0/Q1<3>=</431o=<N:HB1<3>=C9>|1<3>5L3>KM31<=F8GREB3>g^F8G3I9I|A@4=<NBG399-GNP/P1<=NP5
7:@4@45LFLGI7i1FLN:/O9>|^7A/Eh7AFL=f1<=<7  GqGNP/Q1=<N:59;\B9;13>Ks9IZ XJ{ {3>H41=<FT/4NrNA3>=C96^.0qS G>N:KM@45LFL7:/P1wq.m9R7:/EsF89 FLKM@45L3>KM3>/Q13EWH9FL/4X
7rKMFLG>=NPV:3I=/43I57A=CGC24Fb1<3IG1H4=<3:Z
R2436KMF8G=<N:V:3I=/3>57A=CGC24FT13IG1H4=<3JNA` XJ{ F89a9;24NiDa/&FL/n-FLXZ  Z : <Z  3G>7:H9;36N:`123 /43pX:=C7AFL/43E,9<G>7A587AtFT5LFb1m\,NA`1<243pKMFLG>=N:S
VP3>=</43>5 7A=CGC24FT13IG1H4=<3:|kFT16GI7A/ltk3rG>N:J/ OX:H4=<3IEn1<N&7,g:3I=\n9;Ks7:5T5o9FTI3  7,G>=FT1F8G>7:5-7PEBgi7A/Q1<7:X:3FL/24FLX:2dg:NP5TH4KM3rEB3>g^F8G3I9I|Da243>=<3
3Ig:3>/n7 =3EBHG$1<FTNP/hFL/nKM3>KMN:=<\,GNQ9m1C9RG>7A/n=<31<H4=/&KMFT5L5LFTNP/9RNA`oEBN:5L587A=C9 FL/n@4=<N 41Z
{q3>HB1<=FL/4NW7A/OEnFb1C9 ;KMF8G=<N 6q.   G>7:5T5L3IEnf24NA1<N:/
|k7A=<3EB3I9FTXP/43IEh1<NWN:@k3>=C7i1<3p3~^1=<3>KM3>5L\W`j7P9m1N:/l7sgP3>=<\,9;Ks7:5T5"Kr3IKMN:=<\
`uN^NA1<@4=<FT/Q1I|BKs7:VQFL/4X*1243IFT=RFL/G5LH9FTNP/hFL/&@ONP=;1C7At45L3JE43>g^FLG>3I9@kNP9<9;FLt45L3:Z .0/,`j7PG$19| XJ{ 7A/Eh{3IHB1=<FT/NM7:5T=<3I7PEB\M@ONiD3>=[3>tn7A@4@45LFTS
7:/G39>|931;Sv1NP@tkN~B3I9I| W@5L7\P3>=C9>|k3IYQH4FL@4KM3>/Q1pH93IElFL/l1<243rFT/E4H9m1<=F87A5o7:/ElKM3IE4FLGI7A5TSv3YPHFT@4KM3I/P
1 3I5LE49I-Z XJ{{3IHB1=<FL/4N


Version 2 CSE, IIT Kharagpur

File
System

Device
Driver

Message Passing

Micro
kernel

Interconnection

Appli
cation

TCP/IP
Manager

- FTXPH4=<3 P WoeF8G=<N:VP3>=</43>5w=CGC24FT13G$1H=36NA`XJ{
27P9ztk3>3I/@kN:=13E]1N]7l/^H4K*tO3I=*N:`q@4587i1;`uNP=Ks9r7A/Ec/4NiD=H/9zNP/cKMNP9;1rKMNBEB3I=/? q9z127A1M7:=3,H9;3EcFL/c1<243h3IKztk3IE4E43IE
Ks7A=<V:3>1IZR24F89RFL/G5LHEB39R1243z.0/P1<3>5~ <,a `j7:KrFL5L\:|Ol.m |4 NiD3>=C?|^7A/Eh1<243w 4 `j7:KMFT5L\,N:`"@4=<NBG3I9<9N:=C9>Zow g:3I=<9FLN:/,N:j` XJ{q
`uNP=a/4N:/BS0GNPKMKr3I=<G>FL7:5H9;3pGI7A/ntO3E4NiDa/45TNQ7:EB3Es`uNP=R`u=3I3`u=<N:Ky1243G>N:KM@7:/Q%\ $ 9D 3It&9Fb1<3Wu2Q1;1<L@ W  DaDaDpZ YQ/B~Z G>N:KW$Z
/> YaFJF

w? {P^6.qQ? Sv.7A.R/FLEn9J7GgiNP7A/QFL1<5L7A7:FLt4/5T399`u=KsNP7AK5L5e@ONPF8G=;1<=<FTFLNPH4/nKNA? `oN:7:=<9<@O9;3INPKz=<7At415LFL\hN:/_G>N^uE4Da3:DaZfDpRZ 24H3GNQ7P9m9S 9FLFU3>Z K*GNPt4Ks5L\,Z587AR/424XPF8H97A=XP337A5T@kSUN:1<FT=KM1FL3N:/nNP@O23I7P=<9a7A1tOFL3I/43>X,/n9V:\^3I9;@B13I1aK1NhFL97*DaKM=FLFT/41;1<FLKz3>/lH4KFL/


1<N*Ks7AVP3FT1a3I7P9;\r1Nr@kN:=1RFT1R1NMEBFTk3I=3I/P1R@4=<NBG3I9<9N:=C9>Z-NsE47A13:|  ? P6QSv..27P9 tk3>3I/,@kN:=13EW1<N*NigP3>= "*" EBFTk3I=3I/P1R@4=<NBG3I9<9N:=
7:=<GC24FT13G$1<H4=39=<7:/4X:FL/4Xr`u=NPK < S t4FT1a1N a [:SvtFb1aKMFLG>=NP@4=<N^G>3I9<9;NP=<9I|QKrF8G=<NBGNP/P1<=NP5T5L3>=C9I|^7:/E&JB 9>Z^N:KM36FTKM@kN:=1<7:/P1a`u37i1<H4=39RNA`
 ? P6QSv.. 7:=3J24FLX:245LFTXP2Q13IE&FL/&12436`uNP5T5LNiDaFT/XZ
Y ? :6QS .;.aDR7:96EB39;FLX:/3IEe1<Nh5L3161<243M@4=NPX:=C7AKMKM3>=C927gP31<243MN:@B1<FTNP/dN:`fH9FT/4X-3mH9;17W`u3ID NA` 1243MN:k3I=3E93>=<gQF8G39qNP=
9;3I5T3G$1 1243J3>/Q1FL=<3q=C7A/4XP3qNA`93>=<g^FLG>3I9IZ-R2FL9R7A5L5LNiD9o123@4=<N:XP=<7:KMKr3I=<9o1NrKrFL/4FLKMFTI3q1<243J7:KMN:H4/Q1 N:`KM3>KMN:=<\M/43>3EB3IEWtQ\
 ? :6QS .;.fN:/e7r@O3I=;S @4=<N^E4HG$1at7P9;F89>Z
Y ? :6QS .;.a2O7:9J7W`uH45L5L\e@4=3I3>KM@B1<FTgP3*VP3>=</43>5vZpR24FL9JKM3I7:/9q127A1  ? P6QS .;.7A5LDR7\^9q3>/9H4=<3I9q127A11<243M24FLX:2439m1J@4=FLN:=<FT1m\
1<7P9;Vs1<27i1aF89a=<3I7:E4\sD NPH45LE&tk361<7:V:3>/&H4@&`uN:=a3>~B3IGH41FLN:/
Z
Y ? :6QS .;."7A5L5TNiD9-H4@r1N a q[ 1C7:9V^9-1<N6tO3G>=37i13EZV 7:GC2z1<7:9VF89 =3YQH4FT=<3IEz1N6NP@O3I=<7A13R7i1f7JH4/4F8YQH43R@4=FLN:=<FT1m\p5T3Ig:3>5v|:7:KrNP/4X
1243 a W[ @=FLN:=<Fb1m\&5L3>g:3I5L9IZR2FL9JKM3I7:/9a1<27i16=NPH4/E^S =<N:t4FL/l9GC23IEBH45LFL/4XWF89q/4N:169H4@4@kN:=13EZR23*@4=<FLN:=<Fb1m\h5T3Ig:3>589J7A=<3H93IE

;

7:9 123.m U=<N^G>3I9<9.mEB3>/Q1F 3I=C `uNP=R124361C7:9V^9IZ


Y ? :6QS .;.JH93I97l@7A=1FT1FLN:/43EKr3IKMN:=<\Ks7A/7:X:3IKr3I/Q1z9GC243IKM3:Z Vf7PGC2dKM3>KMNP=\d@7A=1FT1FLN:/cG>N:/9FL9;1<9NA`9;3Ig:3I=<7:5*4~B3IE
9;FL>3Elt45LNBGCVB9>Zw 1<7P9;VeNPtB1<7:FT/O9KM3IKrNP=\nt45LNBGCVB9q`u=<N:K1<243MKM3>KMN:=<\n@7A=1FT1FLN:/7A/El1243r1<7P9;VeK*H9;16G>=37i13M7hKr3IKMN:=<\
@7A=1FT1FLN:/etk3`uNP=3*Fb16G>7:/ltO3*H93IEZJw5L5TNBG>7A1FLN:/7:/ElEB37A5L5TNBGI7i1FLN:/eN:<` 4~B3IE^S09FTI3IEnKM3>KMN:=<\nt45LN^GCVB9qFL9JEBN:/3zFL/GNP/9m1C7A/Q1
1FLKM3*7A/OElF89EB3>13I=KMFL/4FL9;1F8GAZ6w 1<7:9VeG>7:/G=<3I7A13z7:/EeH93*K*H45T1FL@45T3rKM3>KMN:=<\&@7A=1FT1FLN:/9I|9;NW127A1JFT16GI7A/lHO9;3*Kr3IKMN:=<\
t45LN^GCVB9NA`oEBFTk3I=3I/Q1q9;FL>39>Z
Y ? :6QS .;.J27P9tk3>3>/ G3>=1F 3E]tQ\]43EB3>=C7A5wg^F87i1FLN:/cwEBKMFT/FL9;1=C7i1<FTNP/jBwqwJp`uNP=H93,FL/cGNPKrKM3I=<G>FL7:5f7AFL=<G>=<7A`1<97:/E
KM3>31C9a1<243zEB3IKM7:/EBFL/4Xs=<3IYQH4FL=3IKr3I/Q1<9aN:` FT1<99m1C7A/E7A=CE,`uNP=q9NA`1mDR7A=<3JHO9;3EnFT/l7g^FLN:/4F8G>9IZ "NWKM3>3>11243z=3YPHFT=<3>KM3>/Q1C9aNA`
124F89a9;1<7A/OE47A=CE|BFT1D7P9aEB3>KMN:/O9m1<=<7A13IE,12=NPH4X:2&EBNBGH4KM3>/Q1C7i1FLN:/e7:/EW1<3I9;1FL/4XM12O7i1FT1FL9R=<N:t4HO9m17A/OE&9<7i`u3PZ
 ' -TBG M

FT/^HB~,F89a7*`u=3I36N:@k3>=C7i1FL/4XM9;\B9;13IK&Z . 1F89R=NPt4H9;1I|Q`u3I7A1H4=<36=F8GC2
|47:/E,3  GFL3>/Q1IjZ qNiD 3Ig:3>=1| 
FL/QH4~ E7)5 Q)7FL9a7rXP3>/43I=<7:5k@H4=@kNP93
NP@O3I=<7A1FL/4X,9\^9;13IKnZ6^3Ig:3I=<7:5=<3I7A5TSv1FLKr3zFTKM@45L3>KM3>/Q1C7i1FLN:/O9qN:`
FL/QH4~_t4 D
FL/QH4~47A=<3z7gi7AFL587At45L3:Z.0/e124F896EBF89G>H99FLN:/
|kD 3rGNP/BS
9FLE43>=9N:KM36X:3>/3>=<FLG`u3I7A1H4=<3I9RN:`"=<3I7:5bSv1FLKM3 FT/^HB~&9;\B9;13>Ks9IZ
5!5

Version 2 CSE, IIT Kharagpur

4 
FL/QH4~ F89W7_9;3I5b`S 24NQ9m1WNP@O3I=<7A1FL/4X_9;\B9;13>K(j93>3l-FLXZ  Z 5:Z 4 FT/^HB~=H/9W7A5LN:/XDaFT127fFT/^HB~ 9;\B9;13>KnZ R243
=<3I7:5bSv1FLKM3hVP3>=</43>5R9;FT1<9Mtk31mD3>3I/c1<243n27A=CEBDR7A=<3h7A/OE_123 FT/^HB~9\B9m1<3>KnZ "Nd1243e9;1<7A/OE47A=CEP
FL/^HB~VP3>=</43>5v|o123 4 FT/^HB~
587\:3I=7A@4@k3I7:=<91<NWtO31243z7PG$1<H7A5
2O7A=CEBD7:=3PZfR24|3 4 
FL/^HB~&VP3>=</43>5FT/Q13I=<G>3>@B1C97A5L5
FL/Q13>=<=<H4@B1<9X:3>/3>=C7i13E&tQ\,1243z27A=CEBDR7A=<3:Z
7A=CEBD7:=3JFL/P1<3>=<=H@B1<97:=36/4N:1=3I5L7A13EW1<Ns=37A5TSU1<FTKM3p7:G1FLgQFT1FL3I9q7A=<3J23>58E&7:/Eh1243I/e@7:9<93IE,1NM123
FL/QH4~hV:3I=/3>5
7:9q9;N:`1mD7:=3
FL/Q13>=<=<H4@B1<9RDa23>/&1243 4 
FL/^HB~hVP3>=</43>5F89aFLE45T37:/EW1<2439;1<7A/OE47A=CE FT/^HB~&V:3I=/43I5=H4/O9>Z-FLXZ  Z 5r9<GC243>Ks7A1F8G>7A5L5L\W9;24NiD91<24F89
7P9;@k3IG1IZa. `f7A/eFL/Q13I==<H4@B1JFL91N,GI7AH93z7s=<3I7:5bSv1FLKM3p1<7P9;Vh1NW=<H4/
|O123z=<3I7A5TSv1FLKr3pVP3>=</43>5"@4=<3>3>KM@B1C9 FT/^HB~|kFb` FT/^HB~nFL9q=H/4/4FL/4X
7A1"1<27i1 1FLKM3a7A/E*5T3>1<9"123=<3I7:5bSv1FLKM3f1C7:9Vp=H/
Z-R2^H9I|AFL/z3>k3G$j1 
FL/^HB~z=<H4/9 7:9 75TNiDc@=FLN:=<Fb1m\6t7PGCV^X:=<N:H4/Ep1<7:9VpNA` 4- 
FL/^HB~Z
4a37A5TSU1<FTKM3a7A@@45TF8G>7A1FLN:/9f7A=<3Da=<FT1;13I/s7:9o5LNP7PE47At45L3RV:3I=/43I5BKMN^E4H45T39>Z .0/M3I9<93>/G>3:|A=<3I7:5bSv1FLKM37A@4@45LF8G>7i1<FTNP/9 =<H4/MFT/r123V:3I=/43I5
9@7:G>3:Z
Linux
RT Linux
Hardware

-FLX:H4=<3 5#Wo4GC243>Ks7i1<FLGgP3>=<gQFL3>D NA`f@O3I=<7A1FLN:/,N:`*4 


FL/^HB~
.0/d1243W7:@4@4=<NP7PGC2l1<7:V:3I/dt^\ 4 
FL/^HB~|1243I=3W7:=3r33IG1FLg:3I5T\1mD NnFL/EB3>@k3>/OEB3>/Q1V:3I=/3>589,W6=<3I7A5TSv1FLKr3MVP3>=</43>57:/E FT/^HB~
VP3>=</43>5vZ,R24F897A@@4=NQ7:GC2d1243I=3>`uN:=<3MFL97:5L9NeV^/4NiDa/]7:961<243 `^ 9J;T
7V5GWU7V; 9:EEU58H/9
7:9p1243s=<3I7:5bSv1FLKM3sV:3>=</43I5oFL9pFLKM@45L3>KM3>/Q13E
NPHB1<9FLE43M1243FT/^HB~V:3>=</43I5UZ,wq/^\l1<7P9;Vl127A1z=3YQH4FT=<3I96EB3>13I=KMFL/4FL9;1F8GW9<GC243IE4H45TFL/4XnF89p=H/]7P9p7n=37A5TSU1<FTKM3r1<7P9;VZ,R23I93M1<7:9VB9
@4=<3>3IKM@B1FT/^HB~pDa243I/43>gP3>=
1<243>\6/43I3IE61<N3~B3GHB1<3 7A/OEp\^FT3I5LE61<243R? _1</N 
FL/^HB~6N:/45L\6Da243>//N=37A5TSU1<FTKM3o1C7:9V6FL9"=37:EB\q1N=H4/Z
? NPKr@O7A=<3IEM1<N*1<2436KMFLG>=NPV:3>=</43I5k7:@4@4=<NP7:GC2|:1<243J`uN:5L5TNiDaFL/4XM7A=<3J9N:KM3JNA`1<2436FTKM@kN:=1<7:/P1a924N:=1<G>N:KMFT/XP9NA`
1<243pEBH7:5bS V:3I=/43I5
7:@4@4=<NP7:GC2Z
3 FT/^HB~
Y  ece^ Jb2_  - ] cth  ]9\b2`i -7:9VB9s=<H4/4/4FL/4X_FL/ 1<243l=<3I7:5bSv1FLKM3eV:3>=</43I5G>7A/ /4N:1,KM3I7:/4FT/XA`uH45L5T\ H93n124Q
9;\B9;13IK 9;3I=g^F8G3I9  5L39\^9;13IKs9>|B/43>1mD NP=V^FL/4X|^7A/OEh9N*NP/
ZR2436=<3I7:9N:/,`uN:=12FL9aF8912O7i1aFb`o7*=37A5TSU1<FTKM3J1<7P9;VsFL/^g:N:VP3I97

FL/^HB~M93>=<g^FLG>3:|QFb1DaFT5L5ktO369;HJt 3m3IG1f1Nz1243J97:KM3q@4=<3>3IKr@41FLN:/W@4=<N:t5T3IKM9127A1 @4=<N:2FTt4FT1 FT/^HB~s@4=<NBG3993I9 `u=<N:Ktk3>27g^FL/4X
EB31<3>=<KMFT/4F89;1F8G>7A5L5L\:Zswq9p7&=<3I9H45b1|/43ID EB=<FLg:3>=C967A/E]9\B9m1<3>K93>=<g^FLG>3I9JKzH9;1tk3MG>=37i1<3IE9;@k3IG>F OGI7A5L5T\l`uN:=6123s=37A5TSU1<FTKM3
V:3I=/43I5  3>g:3I/Da243>/3YQH4FTgi7:5T3I/P1&9;3I=g^F8G3I9h7A5L=37:EB\ 3~BF89m1W`uNP= FT/^HB~ZR2^H9I|a=37A5TSU1<FTKM37:@4@45LFLGI7i1FLN:/E43>g:3I5TNP@4KM3>/Q1
KMFTXP2P13I/Q1<7AFL59FTXP/4F OG>7:/P1qE4H4@45LFLGI7i1FLN:/nN:` G>N^E4FT/4Xs3>kNP=;1ZN:=a3>~B7:KM@45T3P|Da243I/e7M=37A5TSU1<FTKM361<7P9;Vh/43>3E49R1<NsH9;3p/31mDN:=<V
GNPKrK*H4/4F8G>7A1FLN:/9I|^N:=R`uN:=R1<27i1Ks7A1;13I = 5L37:G>G>3I9<9;39>|B7:@4@4=<N:@4=<FL7A136EB=<FTgP3>=C9 K*H9;1tO3pDa=<Fb113I/hFL/&1243p=<3I7:5bSv1FLKM3JVP3>=</43>5vZ
Y S \5 c t_  L_1^b2ct]9h 
h&gLc \0]hdP_1h&bi -7:9VB9z=<H4/4/FT/4XFL/1<243h=<3I7:5bSv1FLKM3,VP3>=</43>5aEBNd/4NA1stk3>/4,3 41M`u=NPK 1<243ellS
@4=<NA13G$1<3IEe3I/Qg^FL=NP/4KM3>/Q11<27i81 
FL/^HB~e@4=Nig^F8EB3I9q1N,1243r=<3>X:H5L7:=q/4NP/BSv=<3I7:5bSv1FLKM3@4=<NBG3I9<93I9IZq.0/d9;137:E|k1<243>\e=<H4/lH4/@4=N:S
13G$13EnFT/l1243VP3>=</43>5"9;@7PG3PZ? NP/93IYQH43>/Q1<5T\P|O7A/^\h=37A5TSU1<FTKM361<7P9;Vh12O7i1G>N:/Q1<7:FT/9q7WGNBEBFL/4XW3I==<N:=9HGC2l7:9q7WGNP==<H4@B1J?
@ONPFT/Q1<3>=zGI7A/]3I7P9;FL5T\dG>7AHO9;3W7&`j7A1<7A5 V:3I=/43I5 `j7AH45T1IZnR24F89F8993>=<FTNPH96@4=<N:t45L3>K 9;FL/G3,KM7:/^\3>K*tO3E4EB3E7:@4@45LFLGI7i1<FTNP/97A=<3
97A`u31m\QS0G=<Fb1<FLGI7A5FT/&/7A1H4=<3:Z
Y 3ctdPc ba_ Z/]\b  c eceb
<i .0/]1243hEBH7A5 V:3I=/43I5f7A@@4=NQ7:GC2
|1243h=37A5TSU1<FTKM3M1C7:9V^9z7A=<3s/4NA-1 FT/^HB~]@4=<NBG3I9<93I97A1z7A5L5 3ot4H41
@4=<N:X:=C7AKs9oDa=<FT1;13I/WH9FT/X*7z9Ks7A5L59;H4tO9;3>1 NA`R6^.0xw.m9Jjwq@4@45LFLGI7i1FLN:/&=<N:XP=<7:KrKM3I=.0/Q13>=`j7:G>3I9C$Z Nr7AXPX:=C7g7A13R1<243
Ks7i1;1<3>=|EBFb3>=<3>/Q1JFTKM@45L3>KM3>/Q1C7i1FLN:/O9N:`fEBH7:5-VP3>=</43>589HO9;3MEBFTk3I=3I/P16wqf.m9>Zpwq967,=39;H45T1I|=<3I7:5bSv1FLKM3z@4=<N:XP=<7:KM9Da=FT1;1<3>/
H9FT/4XMNP/436g:3>/OEBN:= $ 9 4 S 
FL/QH4~,g:3I=<9FTNP/,Ks7\W/4N:1=H/hNP/n7:/4NA1<243>= $ 9>Z
Y[Z\0]!9\5#dPdPcth c P^  eb
<i 4 D 
FL/^HB~,V:3I=/3>589 9H4@4@kN:=1NP/45L\W7z5LFTKMFT13Eh9H4t931aNA`-6^.0 wqf.m9>ZoR243I=3>`uN:=<3:|^7A@4@45LFTS
G>7A1FLN:/nEB3>gP3>5LN:@4KM3>/Q1G>7:/,1C7AVP3JKMNP=3J3N:=1q7A/E,1FLKM3:Z




Version 2 CSE, IIT Kharagpur

/DG

 T=G A R >

\Q/4~FL9p7n93>5T`Sv2NP9;16=<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4Xe9;\B9;13IK&Zr. 1F89p7g7:FT587At5T3*`u=NPKDaDaDpZ 5T\^/^HB~BD NP=VB9IZ G>N:KnZ*R23MG>H4=<=3I/P1<5T\l7gi7:FT587At45L3


gP3>=C9;FLN:/MNA`S\^/B~le
\^/B~ Z "Q FL97KMF8G=<N:VP3>=</43>5TSvtO7:93IE*=37A5TSU1<FTKM3NP@O3I=<7A1FL/4Xz9\^9;13IKn|:1<24N:H4XP2s123q3I7:=5LFL3>=fgP3>=C9;FLN:/O9oD 3I=3qt7:93IE
NP/dKMN:/N:5LFb1<24FLGMEB39;FLX:/-Z 
\^/B~dFL9J`uH45L5L\dGNPKM@7i1<FTt45L3rDaFb1< 2 FT/^HB~Zr[Fb1<f2 
\^/B~ $ 96tFT/7:=\lG>N:KM@7A1FLt4FT5LFT1m\:|7 
FL/^HB~@4=<N:XP=<7:K $ 9
t4FL/7:=\rFTKs7:X:3G>7:/Wtk3=H/,EBFL=3G$15L\rN:/ 
\^/B~Zf/M123qNA1<243>= 27A/OE|:`uNP=fN:1243I= 
FL/^HB~sGN:KM@7A1FLt45L3N:@k3>=C7i1<FT/4X*9;\B9;13>Ks9 9;HGC2W7P9
XJ{qz#| 
FL/^HB~h7:@4@45LFLGI7i1FLN:/O9f/43I3IE,1NMtk3J=<3IG>N:KM@4FL5T3EWFL/hNP=<E43>=1Nr=H/hNP/W123>KnZR2483 
\^/B~,KMF8G=<N:VP3>=</43>5kFLD9 5 < 8\Q13I9 FL/&9FTI3
7:/Ee@4=<Nig^FLEB39a1<243z3993>/Q1F87A5-9;3I=g^F8G39a`uN:=1<7P9;Vn9<GC243IEBH5TFL/4X|FL/Q13>=<=<H4@B1JE4FL9@7i1CGC2
|7A/El9\^/GC24=<N:/4FLI7A1FLN:/
ZR243zN:1243I=93>=<gQF8G39
7:=3@=Nig^F8EB3IEs7P9V:3I=/3>5@5TH4X:SvFL/9J pf.m9<Z \s7:E4E4FT/4X p.m9o1<N1<243KMF8G=<N:VP3>=</43>5v|i123J9\B9m1<3>KG>7:/stO36GNPJ/ X:H=3Ez1<N*9H4@4@kN:=1
.P*J| 5L3z9;\B9;13IKM9I|9NBGCV:31C9>|O7A/En9NsN:/
Z[Fb1<2n`uH45L5-G>N:J/ XPH4=C7i1FLN:/|BFb1GI7A/n3>gP3>/n`uH4/OG$1FLN:/l7P97MKzH5b1<FT@4H=@kNP93z/Fb~nKs7:GC24FL/43
NP/_Da24FLGC2_tkNA1<2c27:=<E]7A/OE_9;N:`1z=37A5TSU1<FTKM3s1C7:9VB9G>7:/_=H4/Znq/45LFTVP3WKs7A/^\d3IKztk3IE4E43IE_=<3I7:5bSv1FLKM3sN:@k3>=C7i1FL/4Xl9\B9m1<3>Ks9>*| 
\^/B~
9H4@4@kN:=1<9RKM3>KMNP=\W@=N:13IG1FLN:/
Z


[FL/EBNiD9q?V F897M9m1<=FL@4@k3IEnEBNiDa/ng:3I=<9FLN:/,N:`-[FL/EBNiD9RNP@O3I=<7A1FL/4Xs9;\B9;13IK&|O7A/Eh27:9q7*KMFL/4FLKzH4K`uN^NA1@=FL/Q1NA` ["" 8 \Q1<3I9


NP/45T\PZz. 1p@4=<Nig^FLEB3985 3a @4=<FTNP=FT1m\e5T3Ig:3I5L9IZ*"NhNP@B1FLKMFTI3M@O3I=;`uNP=Ks7A/OG3:|
7:5T5 1<24=<3I7:E9J7:=3r=<H4/FL/1<243sV:3I=/3>5-KrNBEB3PZrR23*1<FTKM3I=
7PG>GH=<7PG\MFL9 KM93IGq`uN:= "1" M7:/E 9%$M=3I5L7A13IEhwqf.m9>ZoR243pEBFTk3I=3I/Q1`uH/G$1<FTNP/7A5LFb1<FT39RNA`
1<2436V:3I=/43I57A=<3t4=<N:VP3>/,E4NiDa/,FL/P1<N
9Ks7A5L5f/4NP/BSv@=3I3>KM@B1FLg:3W93IG1FLN:/9IZewq9*7e=39;H5b1|-EBH=FL/4X9\B9m1<3>KG>7A5L5@4=<3>3IKM@B1FLN:/_F89p1<H4=/3IE_N:`uN:=zN:/45L\924NP=;1@k3>=<FTNBE49zNA`
1<FTKM3:ZRw589N|FL/Q13I==<H4@B1q93>=<g^FLG>FT/4XMF89a@4=<3>3IKr@41<7At5T3PZR27A1FL9I|FT19H4@4@kN:=1<9a/3I9;13IE&FL/Q13>=<=<H4@B1<9IZf. 1H9;39aKM3>KMN:=<\,Ks7:/7AXP3>KM3>/Q1
H4/Fb1zUllR`uN:=ag^FT=1HO7A5KM3>KMN:=<\WKs7A/O7AX:3IKM3>/Q1IZ
[FL/EBNiD9? VlHO9;39-7@4=<FTNP=FT1m\pFL/4243>=<FT1<7A/OG3R9GC243IKM31Np7gPN:F8E61243@4=<FTNP=FT1m\6FT/^gP3>=C9;FLN:/@=NPt45T3IK 127A1oFL9-@4=<3I93>/Q1 FT/*[FT/E4NiD9
{6Z{qN:=<Ks7A5L5T\P|1<243zVP3>=</43>5"124=<3I7PEe27:/EB5LFT/4X,1243*@7AXP3`j7:H45b1suFvZ 3:Z6R?Ra=<H4/9J7i1@=FLN:=<Fb1m\&5L3>g:3I5"2FTXP243>=127:/
U9;3I3
^3GAZ  Z  Z 5P$Za[243I/7M1<24=37:EnDaFT12l@=FLN:=<Fb1m\&5L3>g:3I5 W9HB3>=C9q7s@O7AX:3`j7AH45T1I|k123z@4=<FTNP=FT1m\,N:` 1243rGN:=<=<3I9@ONP/EBFL/4XsV:3I=/43I5
1<24=37:E27A/E45TFL/4Xh124F896@7AXP3z`j7:H45T16F89J=<7:FL93IEe1N&127A1pNA`1<243M@4=FLN:=<FT1m\&N:`123*1<24=<3I7:EdG>7:H9;FL/4Xh1243M@7:X:3z`j7AH45T1IZrR24FL963I/9H4=39
1<27i1q7*12=37:EhFL9a/NA1at45LN^GCVP3IEht^\,7A/^\W5LNiD 3I=R@4=FLN:=<FT1m\M124=<3I7PE|43>gP3>/&Da243>/nFT1q9;H4k3I=<9a7r@7:X:3J`j7AH45T1IZ
 (n e p ,) (+*   !#"k>  ,, -
H4=<FT/4XsEB39;FLX:/&7A/Eh@4587i1`uN:=<K3>gi7A5LH7i1<FTNP/&9;1<7:X:3P|^9\B9m1<3>K EB3Ig:3I5TNP@O3I=<9NA`1<3>/ /EhFb1/3IG399<7A=<\r1NrtO3I/GC24Ks7A=<V,G>N:KM@4HB1<3>=a9;\B9;S
1<3>Ks9>Z 
3>1H9 =C9m1J3~47AKMFL/43z2NiD 124F89qF89JEBN:/43z`uN:=1=C7:EBFT1FLN:/O7A5"G>N:KM@4HB1<3>=69;\B9;13IKM9IZJBH4t93IYQH43>/Q1<5T\P|kD3*927:5T5-3~47AKMFL/431<24F89
F899H436`uNP=a=37A5TSU1<FTKM3GNPKM@4HB13I=<9IZf"NMH4/EB3I=<9;1<7:/Eh1243F89<9;H439RFT/^gPN:5Lg:3IE
|4GN:/O9;F8EB3>=R1<243p`uNP5T5LNiDaFT/XM9FT1H7A1FLN:/
Zfw99H4KM3612O7i11<243
NP=XQ7A/4FLI7A1FLN:/&\:N:HeDN:=<Vs`uNP=q3>/Q1<=H9;1<9q\:NPHn1N,93>5L3IG1124 3 ;tk3I9;1 sG>N:KM@4HB1<3>=*u`u=NPK124NQ9;3z7gi7:FT587At45L3pFL/n1243*KM7:=VP31$N:/e@4=<FLG>3
7:/En@O3I=;`uNP=Ks7:/G3G>N:/9FLE43>=C7i1FLN:/O9R1NWtk3zHO9;3E&1NW24NQ9m11243*GN:KM@7:/^\ $ 9aD3>tl9Fb1<3:Z. 1FL9@ONQ99FLt45T3127A1q\:NPHlG>7A/l7P9;V,`uN:=t4FLE9
`u=<N:Kg:3I/EBN:=C9a7A/OEnN:tB1C7AFL/h1<243>FL=q@=F8G3z7:/En@k3>=`uN:=<KM7:/G39@k3IGF OGI7i1FLN:/O9>ZR{NiDx1243rYQH43I9;1FLN:/nF8924NiD D NPH458En\:N:HeEB3>13I=KMFL/43
Da24F8GC2e7AKMN:/Xr7M931NA` GNPKr@HB13I=<9aYQH4N:13IE&t^\,EBFT3>=<3>/Q1g:3I/EBN:=C9D NPH458E,@k3>=`uN:=<K tk3I9;1a`uN:=a\:NPH4=7A@@45TF8G>7A1FLN:!/
q`G>N:H4=C9;3P|^\:N:H=f3>gi7:5TH7A1FLN:/hD NPH45LEWtO3Jg:3I=\s7:GIGH4=C7i1<3qFT`\:NPH,7:G1H7:5T5L\sX:N:1 37:GC2WN:`
1243JKs7:GC24FL/43`uN:=Da24F8GC2,\:NPHW=<3IG3IFTgP3IE
YQH4N:13*7:/Ee1<243>/7:G1H7:5T5L\n=<7:/l\:NPH4=7:@4@45LFLGI7i1FLN:/N:/l37:GC2lN:`1243IK7A/El3>gi7A5LH7i1<3IEg7:=FLN:HO9@k3>=`uN:=<KM7:/G3*@7A=C7AKM3>13>=C99HGC2
7P9=<3I9@ONP/9;31FLKr3z`uN:=JYPH3>=<FT39H4/E43>=E4Fb3>=<3>/Q15LNP7PEeGNP/EBFT1FLN:/9I6Z NiD3>gP3>=|FT1DN:H458EntO3*FT/4`u3I7:9FLt45T31NhGI7A=<=\,124F89N:HB1`u=<N:K
G>NP9;1I|43>kNP=;1|7A/Eh1<FTKM3GNP/9FLEB3I=<7A1FLN:/9IZ /43p@kNP9<9;FLt4FL5TFT1m\,F89R1<27i1\PN:HeG>7:/hH9361mDNM1=C7:EBFT1FLN:/7:5KM31=<F8G>9aH93IE&t^\,gP3>/E4N:=C9f1<N
FL/EBF8G>7A13J12436@k3>=`uN:=<Ks7A/G>3N:`123>FL=GN:KM@4H413>=a9\B9m1<3>Ks,9 Woe.mUeFL5T5LFTNP/h.0/O9m1<=HG1FLN:/9R 3I=aB3IGNP/E7A/OE,* -Jlj-5LNP7A1FL/4X
NPFT/Q1@O3I=<7A1FLN:/9q 3>=q^3GN:/OE$Z NiD3>g:3I=I|47:/n3>gi7A5LH7i1<FTNP/nt7:93IE&N:/&1<243I93KM31<=F8G>9GI7A/nNA`1<3>/etk324FLX:245L\,KMF89;5L3I7PEBFL/4XZR243
9Fb1<H7i1<FTNP/,F89R9;NrEBFL9X:HO9m1<FT/4X*12O7i1a9;NPKr3IN:/433>gP3>/,@=NP@ONQ9;3EM127A1R7*KMN:=<39H4FT1<7At5T3`uH45L5`uN:=<KNA`"e.mW924N:H5LE,tO3 eF895T37:EBFL/4X
.0/B`uNP=Ks7A1FLN:/e7AtkN:HB1qf=NBG>3I9<9;NP=aB@O3I3IE Z 
3>1qH9a3>~47AKMFT/3pDa2Q\,124F89F899NZNWEB3>13I=KMFL/4361243*e.m h=C7i1FL/4XsN:` 7sG>N:KM@4HB1<3>=|
7s@=NPX:=C7AKF89=<H4/eN:/eFT17A/OE&1243=<H4/n1<FTKM3F89KM3I7P9;H=3EZR23/^H4Kztk3>=NA`oFT/O9m1<=HG1FLN:/9FT/e1<243@4=<N:XP=<7:K F89qEBFLg^FLEB3Ent^\,1<243
=<H4/l1<FTKM3M1<NhXPFTgP3z1<243se.m l=<7A1FL/4XhN:`123MG>N:KM@4HB1<3>=-Z qNiD 3Ig:3>=|kFb1pF896/4NA19@O3GF 3IEd7:91NnDa27A11m\^@k3rN:` @4=<N:XP=<7:K/3>3IE9
1<Nr=<H4/
Z ? NP/93IYQH43>/Q1<5T\P|QgP3>/E4N:=C9f1C7AVP3q1<243p5TFLtk3>=1m\WNA`-=H4//4FT/Xr@=NPX:=C7AKs9o1<27i1XP3>/43I=<7A13JN:/45L\M124NQ9;3sjKM7PGC24FL/43FL/9;1=<HG$1<FTNP/9
1<27i1z2O7g:3Mg:3I=\924NP=;1zG>\^G>5T3M1<FTKM39p`uN:=1243IFT=@=NBG399N:=|
=<3I9H45T1FL/4XeFT/c7:=;1<F kGF87A5L5T\lFL/B}O7A13E_e.m d=C7i1FL/4XQ9>Z,w9z7n=<3I9H45T1I|-Fb`
\PN:HcKs7AVP3,\PN:H4=rt4H4\^FL/4XdEB3GF89;FLN:/O9zt7P9;3EcNP/_1243eYQH4N:13IEe.m 7A/E   J ]=C7i1<FT/XP9I| 1243I/\:NPH7A=<3,KMNQ9m1M5TFLV:3I5T\1<Ndtk3
 

 





5<[

Version 2 CSE, IIT Kharagpur

EBF89<7A@4@kN:FL/Q13IE
Zo. 1FL9agP3>=<\s5TFLV:3I5T\,127A1Da243>/n\PN:Hn7:G$1<H7A5L5L\WX:3>11<243zG>N:KM@4HB1<3>=a\:NPH&93>5L3IG13EhtO7:93IEhN:/ne.m h=C7i1FL/4Xs7A/OE,=<H4/
\PN:H4=a7A@@45TF8G>7A1FLN:/
|B\PN:H4=7:@4@45LFLGI7i1<FTNP/hDN:H458Eh/4NA1a=<H4/e7:9`j7:9;17:9R\PN:H&27:E&3~B@k3IG13IE
Z
Vfg:3>=<\^tONBEB\d9;N^N:/_=<3I7:5TFL>3Ed127A1re.m]7A/E_* -J=<7A1FL/4XP9z7A=<3sKrF895T37:EBFL/4XZ o3I/EBN:=C9p1<243>=<3`uNP=3W9;1<7:=;1<3IE1<Nl3~B@4=<3I9<9
@k3>=`uN:=<Ks7A/G>3q=C7i1FL/4XQ9fN:`
1243IFT=aG>N:KM@4HB1<3>=R9;\B9;13>Ks9FL/W13I=Ks9NA`
@k3I7:VWe.m ,7A/E,@O37AVs* -JM1NrFL/EBF8G>7i1<3q1<27i1123=C7i1<FT/4XQ9
27gP3tk3>3I/nN:tB1C7AFL/43IE&t^\WH9FT/X*1<243>FL=a`j7P9m1<3I9;1RFL/9;1=<HG$1<FTNP/9IjZ NiD3>g:3I=I|Q1<24FL9aE4FLE&/4N:13I7:93J1243p@=NPt45T3IK FL/n7:/^\sD7\PZ
"NhNigP3>=CGNPKr3z124F896@4=<N:t45L3>K N:`e.m7:/E  J l=<7A1FL/4XP9JFL/d@k3>=`uN:=<Ks7A/G>3*3Ig7:5THO7i1FLN:/|
9;\^/Q1243>1F8GrtO3I/GC24Ks7A=<VB9D3>=<3
EB3Ig:3I5TNP@O3EjZ 
3>1H9aH4/E43>=C9m1C7A/EhDa27i1q7:=3p9\^/P1<2431<FLG6tk3>/OGC24Ks7A=<V^9IZow 587A=<X:3J/QHKztk3>=N:`"@4=C7:G1F8G>7A5@=NPt45T3IKs9RD 3I=3p7A/O7A5L\QI3IE
1<NhEB3>13>=<KMFT/3123r9;1<7A1F89m1<FLGI7A5"E4FL9;1=<FTtHB1FLN:/dNA`gi7A=<FTNPH9FL/9;1=<HG$1<FTNP/9FL/d7:/7g:3I=<7:X:36@4=<N:XP=<7:K u3PZ XOZ7:=FT124KM3>1F8GzFL/9;1=<HG$1<FTNP/9
5" ,|. : " ,|=<3>XPFL9;13I=1<=<7:/9;`u3>= "W|3>1<G:Z ZM9;FL/4Xh124F89pFL/B`uN:=<Ks7i1<FTNP/
|
7&tO3I/GC24Ks7A=<Ve@4=<N:X:=C7AKF896Da=FT1;1<3>/d127A1p27:9J1<243
9<7AKM3qEBF89;1=<FTt4H41FLN:/WN:`k1<243E4Fb3>=<3>/Q1 FL/9;1=<HG$1<FTNP/9IZoq`G>N:H4=C9;3P|A1<243qtk3>/GC2KM7:=Vr@4=<N:XP=<7:K/43>3Es/4N:1GNPKM@4HB137A/^\*KM37A/4FL/4XA`uH5
=<3I9H45T1<9IZ. 1MFL9r9;FLKM@45L\]9\^/Q12439;FL>3E_H9FT/4XdFT/O9m1<=HG1FLN:/9zDaFb1<2=<3IYQH4FL=3E_9m1C7i1<FL9;1F8G>7:5EBF89;1=<FTt4H41FLN:/9IZd. 1rFL9z123>=<3`uN:=<3hGI7A5L5T3E_7
9\^/P1<2431<FLGJtk3>/GC2KM7:=VZ . 1q924N:H458EhtO3pG5L3I7:=127A1a1243p@k3>=`uN:=<Ks7A/G>3=<3I9H45T1<9N:tB1C7AFL/43IEht^\W=<H4/4/4FL/4Xr12439\^/Q1243>1F8Gtk3>/OGC24Ks7A=<V
@4=<N:XP=<7:Ky924N:H458E&tO3zg:3>=<\,G>5TNQ9;3I5T\h=3I5L7A13IEh1<NsDa27i1qDN:H5LE&tk33~B@k3IG$1<3IEnt^\,=<H4/4/FT/4XW7:/e7g:3>=C7AXP3@=<7PG$1F8G>7:5
@4=<N:XP=<7:K&ZfBN:KM3
3>~B7:KM@45T39zN:`9\Q/Q1<2431<FLGhtO3I/GC24Ks7A=<VB9*7:=3 7V?LQG? HJWF7A2WJE9
#T 9JW ` 5GKPQG?@H<WF7>PZ 7A13I=I| 4 V?vQ1<7:/E47:=<Ec 3I=;`uNP=Ks7:/G3
Vfg7:5THO7i1FLN:/s? N:=<@ONP=<7A1FLN:/O
D7P9"`uN:=<Kr3EzFL/*1243R587i13R3IFTXP2P1<FT39>Z B VR?F89o7/N:/BS @4=<N 41o7:9<9;NBG>FL7A1FLN:/N:`kGNPKM@4HB13I= KM7:/^HB`j7:G1H4=<3>=C9
7:/Ee7:GI7:EB3IKrF8GF87A/O9127A1JEB3Ig:3>5LN:@O97A/E&@4Ht45TF8GFL>39tk3>/GC2KM7:=Vn9H4Fb1<3I9`uN:=q9@O3GF OG7:@4@45LFLGI7i1FLN:/O9>ZR4NP=q3~47:Kr@5T3zB V? [ V
F891243ptk3>/OGC24Ks7A=<Vs`uN:=aD3>te7A@@45TF8G>7A1FLN:/9IZoR243B VR? tk3>/GC2KM7:=V,@4=NPX:=C7AKs9G>7A/ntk3EBNiDa/45LNP7PEB3IEW`u=NPK DaDaDpZ 9@k3IGAZ N:=<XZ
 6I*?=RH1AG6I  I HJKT=C
N:==<3I7:5bSv1FLKM3z9;\B9;13IKM9
7:9<;RQG?@H<WF7*KM31<=F8G  5  FL9q@ONP@4H4587A=a`uNP=qtk3>/GC24Ks7:=V^FL/4XZ.0/e123|4a2437A589m1<N:/43KM3>1=<FLG:|O9Fb~n@7A=C7AKM3>13>=C9
;=:

N:`R=<3I7:5bSv1FLKM3s9;\B9;13>Ks97:=3WG>N:/9F8EB3>=<3IEZ&R243I93sF8EB3>/Q1F 3E]@7A=C7AKM31<3>=C96FT/OEBFLGI7i1<3M1243W@O7A=C7AKM31<3>=C9J127A1*7A=<3MFTKM@kN:=1<7A/Q1zFL/_7
1m\^@4F8G>7:5=37A5TSU1<FTKM3p7A@4@5TF8G>7A1FLN:/9IZ [d3p/4NiDxt4=<FT3>}\,EBF89G>H9<912439;3p@7:=<7:KM313I=<9FL/&12436`uNP5T5LNiDaFT/XW
Z +`). 1 \ c ba^ 3cth +ctdP_ .   4 

T1

T2
t1

T3

t2

t ts

- FTXPH4=<3 #Wo-7:9V,^DaFb1CGC24FL/4XWRFTKM3wqKrNP/4X VfYQH7:5


=<FTNP=FT1m\s"7P9;VB9
"7P9;VM9DaFb1CGC24FT/X1FLKM3qF89 E43(/43E,7P91<2431<FTKM3JFb11<7:V:3I9`uN:= N:/43JGN:/Q1<3~^19DaFb1CGC2,7AKMNP/4X3IYQH7:5O@=FLN:=<Fb1m\*1<7P9;VB9IZo? NP/9FLEB3I=
1243*3~47AKM@45L3z924NiDa/eFL/-FTXOZ  Z Zwq9<9;H4KM3z127A1
 8
+
7:=33YQH7A5"@4=FLN:=<FT1m\W1<7P9;VB97A/En1<27i1J=NPH4/En=<N:t4FL/eN:@41FLN:/
7AKMN:/X*3YPHO7A5@4=<FTNP=FT1m\M1<7P9;VB9RF899H4@4@kN:=13IEht^\s1239GC243EBH45L3>=Zo.0/&-FLXZ  Z 4|  FL91<24361FLKM37i`13I=aDa24F8GC2
9;1<7A=1<91<N
3~B3IG>HB137A`13I=
 GNPKr@5T3>13I9Fb1C9o1FLKM3q95TF8G3P|:t45LNBGCV^9I|ANP=fGNPKr@5T3>13I9q     .   Zo"7P9;Vz9DaFT1<GC24FL/4X61FLKM3F89fEB3>13>=<KMFT/3IE
t^\s1243p3  GFL3>/G>\WNA`-1243pVP3>=</43>5
E7i1<7M9;1=<HG$1<H4=<3:Z
45 Z +`). Z\0__1d b2ct]9h +ctdP_ .   4  "7P9;Vl@=3I3>KM@B1FLN:/1<FTKM3sF89EB(3 O/43IE]7:9J1<243s1<FTKM3sFT1p1<7AVP3I9J1<Nl9m1C7A=13~B3IG>HB1FLN:/NA`
7s24FLX:243I=@4=<FTNP=FT1m\W1C7:9VUGNPKr@O7A=<3IE&1NW1243rGH4=<=3I/Q15L\,=<H4/4/4FL/4Xs1C7:9VB|k7A`13I=123zGNP/EBFT1FLN:/l3I/7At45LFL/4XM1243z1<7P9;V&NBG>GH=<9IZ
"7P9;Vs@=3I3>KM@B1FLN:/h1FLKM3627:9tk3>3>/nFL5T5LH9;1=C7i1<3IEhFT/h124363>~B7:KM@45T3p924NiDa/,FL/n"FLXZ [Z "7P9;V,@4=3I3>KM@B1<FTNP/W1FLKM3GNP/9;F89;1<9NA`
1243f`uN:5L5TNiDaFL/4Xq124=<3>3GN:KM@kN:/43I/Q1<29 W1<7P9;Vp9DaFb1CGC24FT/X1FLKM3   |A1FLKr3 1N=3GNPX:/4FL>3o1<2433>g:3I/Q1"3>/O7At45LFT/X123f24FLX:243I="@=FLN:=<Fb1m\P|
7A/EW12431FLKM3J1NMEBFL9@7A1<GC2,FT1IZ ? 5L3I7:=5L\:|Q1C7:9Vs@4=3I3>KM@B1<FTNP/W1FLKM3DN:H5LE,tO36/4NP=Ks7A5L5L\r587A=<X:3I=f1<27A/,1<7P9;VW9DaFb1CGC24FL/4Xz1<FTKM3PZ
Z (h&b2_\\5 b 3#b2_1h^
+cedP_6.   4  .0/Q13I==<H4@B1587i1<3>/G>\1<FTKM3F89EB,3 /43IEs7P9 123a1FLKM3Fb1f1<7AVP3I9-1<N9m1C7A=1o12433>~B3IGH41FLN:/MNA`
5

Version 2 CSE, IIT Kharagpur

Condition enabling
high priority task T
2

T2 starts running

T2
T1
t1

t2

t3
time

tt p

-FTXPH4=<3 [Wo-7:9V,=<3>3IKr@41FLN:/nRFTKM3
Interrupt occurs
ISR
T1
t1

t2

t3
time

ti l

- FLX:H4=<3 a W .0/Q13I==<H4@B1"7i1<3>/G>\,RFTKM3
1243z=3YPHFT=<3IEh.;J4 7i`1<3>=q7:/eFT/Q1<3>=<=H4@41N^GIGH4=C9IZf.0/Q13I==<H4@B1587i1<3>/G>\,1<FTKM3p`uNP=q7A/n3~47:Kr@5T3p27P9atk3>3>/l924NiDa/nFL/l"FLXZ a Z
.0/Q13>=<=<H4@B1f587i1<3>/G>\*1<FTKM3JGN:/O9;F89m1C9N:`1243q`uN:5L5TNiDaFL/4XzG>N:KM@ONP/43>/Q1C,9 W-27A=CEBDR7A=<3EB3>587\rFT/&? =<3IG>N:X:/FTIFT/4X61<243qFL/Q13I==<H4@B1|
1FLKM31N&GNPKr@5T3>13p1<243rG>H4=<=3I/P1FT/9;1=<HG1FLN:/
|O1FLKM31N&97gP361243rGNP/P1<3~^1N:`o1243rGH4=<=<3>/Q15L\h=<H4/4/FT/4XW1<7:9V|k7:/En1<243>/e1<N
9m1C7A=1R1243p.;J4Z
[OZ 1L_1d  3]\0_ 1*3 Pceh +cedP_ .    4  ^3>Ks7:@424N:=<3z92^H sFT/4Xh1FLKM3*F896EB(3 O/43IEd7:9q1243*1FLKM3*1<27i163>587A@O9;39qtk31mD3>3I/7
Acquire Semaphore

Release Semaphore

tss
T1
T2

T1

T2
time
Request Semaphore

- FTXPH4=<3 a W^3IKM7:@424NP=3p^2^HsFT/XWRFTKM3
5TNiD3>=f@4=FLN:=<FT1m\1<7P9;Vr=<3>5L3I7:9FL/4X793>Ks7A@42N:=<37A/EW724FTXP243>= @4=<FTNP=FT1m\1C7:9Vz1<Nz9m1C7A=1f=<H4/4/4FL/4XZ^3IKs7A@424NP=392^HsFT/X1FLKM3
27:9Jtk3>3I/dFL5T5LH9;1=C7i1<3IEdFT/]-FTXOZ  Z E a Zz.0/]-FTXOZ  Z E a |
7i17&G3>=1<7:FT/d1FLKM3r1<7:90V
24N:58E491243W93>Ks7:@424N:=<3:Z*R243r1<7:90V

=3YQH43I9;1<9`uN:=J1<243W9;3IKs7A@424NP=3r7A/Edt45LNBGCV^9IZMR243MFT/Q13I=gi7:5-tk31mD3>3I/
 =<31H=/4FL/4X&123M93>Ks7:@424N:=<3M7A/E
=<H4/4/4FL/4XnF89
V^/4NiDa/h7P9124393>Ks7A@24N:=<3p9;2^H sFL/4Xr1FLKr3PZ
 Z h%]!h_ [Z\0ce]9\0c b
(h&g9_\0`ace]h,+ctdP_ I P  w9 924NiDa/WFL/ XPH4=<3
B|PH4/^tkN:H4/OEB3IE,@4=FLN:=<FT1m\zFL/QgP3>=C9;FLN:/M1<FTKM3 
5a

Version 2 CSE, IIT Kharagpur

t1
T3

T2

T1

t2

T1
time
Request
Release
Acquire
Semaphore Semaphore Semaphore

Acquire
Semaphore

" FLX:H=3
JWo/^tONPH4/EB3En=<FTNP=FT1m\s.0/^g:3>=C9FTNP/hRFLKr3
FL9aG>N:KM@4HB1<3IEn7:91<24361FLKM3pFb1q1<7AVP3I9 `uN:=1243pNP@O3I=<7A1FL/4Xr9\B9m1<3>Ky1NM=3GNPX:/4FL>3J@4=<FTNP=FT1m\WFL/QgP3>=C9;FLN:/   R7A/E&=<H4/&124361C7:9V
24N:58EBFL/4Xr1243p=<3I9N:H=<G>3J7:/Eh9;1<7:=;61
7i`1<3>1=
 GNPKr@5T3>13I9pI  Zf^\^KztkN:5LFLGI7A5L5T\P|  /     Z
a Z #b  9\5#d + 3\] !3b +|cedP_ .  4  R24F89f@7:=<7:KM313I=fFL/EBF8G>7A13I9f123/^H4K*tO3I= N:`
VQFL5LN:t^\Q13I9fNA`"E7i1<7p127A1RGI7A/Wtk3
1=C7A/9;`u3>=<3IEztO3>1mD 3I3>/r1mDN1C7:9VB9 DaFb1<24N:HB1HO9;FL/4Xp9;2O7A=<3IE*Kr3IKMN:=<\N:= @kN:FL/P1<3>=C9>Z R24F89o@7:=<7:Kr3>13I=-KM37:9H4=39"1243a3  G>FT3I/G\
NA`"1243E47A1<7M9;1=<HG$1<H4=39R27A/OEB5TFL/4XMKM3I9<97:X:36@7P99FT/X*@4=<FLKrFT1FLg:39>Z
R24384a23I7A589;1N:/3JKM3>1=<FLG6F89aGNPKr@HB13E&7P9a7rD 3IFTXP2P1<3IE&7g:3I=<7:X:3qN:`1<243pFLE43>/Q1F 3IE&@7:=<7:KM313I=<29 W


2  / "




 Z%$

   

 1     



 

 

[243I=3P|47 |ZTZLZT|O7 a 7A=<3J3IKM@4FT=<F8G>7A5L5L\,EB31<3>=<KMFT/43EnGN:/O9m1C7A/Q1<9IZ


4a23I7A589;1N:/3ltO3I/GC24Ks7A=<V%$ 9X:H=3dNA`KM3>=<Fb1nGC27A=C7:G13I=FL>39M1243dV:3I=/43I5bS 27:=<EBDR7A=<3eGNPKzt4FL/7i1<FTNP/NA`z7 9;\B9;13>KnZR24FL9hF89
1<243>=<3`uNP=37sG>N:KM@4=<3>243I/9;FLg:36tk3>/GC2KM7:=VZ qNiD 3Ig:3I=I#| 4a23I7A589;1N:/3p27:99N:KM393>=<FTNPH9aEB=C7Dat7:GCVB9IZ-FT=C9m1|B123z7At4FL5LFb1m\,1NWKM3>3>1
EB37:EB5LFL/43I96N:`R7:@4@45LFLGI7i1FLN:/O9s1<7P9;Vd9GC243EBH45LFT/X&3>1<G:Z F89p/4N:1pG>N:/9F8EB3>=<3IE7i1z7:5T5vZsw589;NO|
123W9;FT~dKM3I7P9;H=3IKr3I/Q16GI7i13IX:NP=FL3I967A=<3
9N:KM3>Da2O7i17:E^S 24NBG67A/E,123>=<3pFL9R/4NM@4=<N:@k3>*= 3mHO9m1<F OGI7i1<FTNP/n7P9RDa2^\WN:/45L\s1<243I939;FT~,KM3I7P9;H=3IKr3I/Q1<9R27gP3tk3>3I/nGC2NP93>/
Z
;

FGHJILKKM6NH[OQK#ADC&ISR1R1TBGU

ISK 6I  

31  *tk3z1<243*1FLKr3*1NnGNPKM@45T3>13r7hG>3>=1<7AFL/e1C7:9V&Da23>/l1<243>=<3*7:=3*/4N,FL/Q13I==<H4@B1C9J7:/Ee5L31  rtO3*123z1<FTKM3r1N&GN:KM@45L31<3


1<243*9<7AKM31C7:9VhDa23>/ 5"4| """MFL/Q13I==<H4@B1C9NBG>G>H4=q@k3>=69;3GNP/EZqR243I/e123*NigP3>=<243I7PEhEBH3z1<N 5 " "" "MFT/Q1<3>=<=H4@41<9@k3>=693IGNP/EnF89
XPFTgP3>/&tQ&\ W
 . 


  



  

  

? NP/9;F8EB3I= `uNP=R3~47AKM@45L3J127A1  6FL9 & a 9;3G7:/E6 JF89 9;3GAZoR243I/


|^12436FL/Q13>=<=<H4@B1a@4=<N^G>3I9<9;FL/4X*Nig:3>=<2437:E pFL9 "Z a uNP=
a " r-NA`1231<7P9;V*3~B3IG>HB1FLN:/M1<FTKM3PZ R23Nig:3I=2437:ErGNP/9;F8EB3I=3EzF89NP/45T\*`uN:=f@4=NBG>3I9<9;FL/4X6123FTKMKM3IE4FL7A13@7:=;1N:`1243FT/Q13I==<H4@B1C9
7:/E,/NA1a123EB3`u3I==<3IEh@7A=1<9IZ
  

;&



  

' KTT)( ISG/R1TAG*?  I <R1M6K#I

"=F8EBFLKM3>/9FTNP/7A5-KM3I7P9;H4=<3*G>N:/9F8EB3>=C9a1<24=3I3z`j7PG$1<N:=C91<27i1p7i3IG11<243*@k3>=`uN:=<Ks7A/G>3zN:` 7W=<3I7:5bSv1FLKM3r9\B9m1<3>KnZpR243I93*F8EB3I/P1<F O3IE


@ 7:=<7:KM313I=<9f7A=<3!W eFT5L5LFTNP/9fN:`
.0/9;1=<HG$1<FTNP/9 f=NBG>3I9<9;3E*@k3>=a^3GN:/OElje.m |QlFT5L5TFLN:/O9fN:`
.0/P1<3>=<=H@B1<9=<NBG3I9<93IEr@O3I=RB3IGNP/E
Ue.m #5P$|4{qH4Kztk3>=N:`".P@O3I=<7A1FLN:/9R 3I=aB3IGNP/Ej{.J4$ZO/OG3J12439;3J1<24=3I36@7A=C7AKM31<3>=C927g:3JtO3I3>/nEB31<3>=<KMFT/43E|B1<243
1<=F8EBFLKr3I/9FTNP/7A5KM3I7P9;H=3sjadRG>7A/&tk3pN:tB1C7AFL/43IEht^\,H9FT/X*1<2436`uN:5L5LNiDaFT/4Xr3~B@4=<3I9<9FTNP/LW

 
 j5



 

 



 

Version 2 CSE, IIT Kharagpur

ILH1ISK ( TBGT=G6U ZILKGIS? OQK#ISI ( N6H /TB?=TH

; 

^NPKM3M1FLKr39FT1tO3GNPKr39p/43G3I9<9<7A=<\e1NlEB3>13I=KMFL/43s123s3~^13I/P1z1NeDa24F8GC2_7A/]N:@k3>=C7i1<FT/4Xl9\B9m1<3>K V:3>=</43I5oFL9p@=3I3>KM@B1<7:t45L3stQ\
24FLX:23>=@4=<FLN:=<Fb1m\*=37A5TSU1<FTKM3R1<7P9;VB9IZ"-FLXZ '< 924NiD97:/r3>~B@O3I=FLKM3>/Q1<7:59;3>1fH4@M1<27i1 GI7A/sFL/EBF8G>7A13VP3>=</43>54@=3I3>KM@B1<7:t4FL5TFT1m\:Z-.0/W-FTXOZ
< |P12436D 4a.mwq
{ KMNBEBH45L3XP3>/43I=<7A13I9=<7:/EBN:K1<=FL@45L31<9EB3I/4NA1<FT/4Xz124=<3>3Jg:3I=;1<FLG>3I9fNA`7p1<=F87A/X:5L3:Z R243>=<37:=3/W=37A5TSU1<FTKM3q1<7:9VB9

(& & &


WDa24F8GC2,=<3I7PEs1<243J1=<FL7:/4X:5L3qgP3>=1F8G3I9R7:/E,GI7A=<=\MN:H41RG>3>=1<7AFL/,@=NBG399FL/4X*7:/EO/7A5L5T\sNPHB1@HB1R12436N:=<FLX:FL/7A5O1=<FL7:/4X:5L3
gP3>=1 F8G3I9"1<N1<243a7A/7:5T\^I3>=-KrNBEBH5T3R1<24=NPH4X:2*KM3I9<97:X:3f@O7:9<9;FL/4XZ-D 4a.mwq
{ NP@O3I=<7A139-7A1o24FTXP243>= @4=<FLN:=<Fb1<FT391<27A/r=<3I7A5TSv1FLKr3 1<7P9;VB9IZ
R2431FLKM3>= =C9m1RFL/QgPN:VP3I9fD 4.mwq/{ r|47:/Es1<243>/hFT/^gPN:V:39f7r9;\B9;13IK G>7A5L59;HGC2&7:9 @4=<N^G>3I9<9 G>=37i1<FTNP/
|B7A/EW9H4t93IYQH43I/Q15L\M1=<FTXPX:3>=C9
7nEBFTk3I=3I/Q1=37A5TSU1<FTKM3r1<7P9;V
 '& & &
BJ3I7PGC21<FTKM3:ZWR23W7A/7:5T\^>3I=pGN:KM@7:=391243M1<=F87A/4XP5T3MgP3>=1F8G3I9J=<3IG>3>FLg:3IEl`u=NPK1<243
D 4a.mw/{ 7:/Eh`u=NPK 123z=<3I7A5TSv1FLKr3J1C7:9VkZ. ` 1243*9;\B9;13>KV:3I=/3>5
F89a/4N:1q@4=<3>3>KM@B1C7At45L3:|1243I/e3>gP3>/ntO3>`uN:=<3p123=37A5TSU1<FTKM361C7:9V
GI7A/r=37:Ep1<243R1=<F87A/4XP5T3gi7A5LH43:|i1<243a/43>~Q1931oNA`O1=<FL7:/4X:5L3g7:5TH3I9 Nig:3I="Da=<FT13I9-1<243a587:9;1 XP3>/43I=<7A13Egi7A5LH43I9IZ"R23 1<FTKM3I=o`u=3YQH43>/G>FT39
7:=36gi7A=<FT3Eh7:/Eh12437:/7A5L\^>3I==<3I9H45T1<9a7:=36N:tO9;3I=gP3IEZoR24361<FTKM3>=`u=3YPH3>/G>\,7i1Da24F8GC2ng:3I=;1<FLG>3I9X:3>1KrF89<9;3EU7:9RF8EB3>/Q1<F 3E&tQ\
1<2437A/7:5T\^I3>=$$|^FT/OEBFLGI7i1<3I9R1<243pD NP=<9;1aG>7:936V:3I=/43I5@4=<3>3>KM@B1<FTNP/,1<FTKM3PZ


TRIANG

Shared Memmory
Analyser

System Call
RT1

RT2

RTn

Output

Timer

-FLX:H4=<3 '< WoB31H@h`uNP=D4a.mwq{



   
"
[d3|=C9m1E4FL9<GH9<93IE&123zt7P9;F8G6`u3I7A1H4=<3I9127A1J7:/Q\&=<3I7A5TSv1FLKr3zN:@k3>=C7i1FL/4XW9\B9m1<3>KFL9=3YQH4FT=<3IE&1<N,9H4@4@kN:=1IZ^NPKM3NA`o1<243
FTKM@kN:=1<7:/P1a`u37i1<H4=39=<3IYQH4FL=3E&NA`7s=<3I7A5TSv1FLKr3pNP@O3I=<7A1FL/4XW9\^9;13IKn|FT`Fb1qF89a1<NWtk3zH93IE&`uNP=27A=CEn=<3I7A5TSv1FLKr37:@4@45LFLGI7i1<FTNP/9
7A=<3!W2FTXP2&=<3I9N:5LHB1<FTNP/nG>5TNBGCV&7A/Eh1FLKM3>=J9;3I=g^F8G3I9I|9;1<7A1F8G6@4=FLN:=<FT1m\,5L3>g:3I5L9I|45LNiD 1C7:9V,@4=<3>3IKM@B1FLN:/n1<FTKM3I9*uN:`-1<243NP=<EB3I=aNA`
7`u3IDKMFLG>=NQ9;3GNP/E49C$|Q5TNiDFL/Q13I==<H4@B1R5L7A13I/G\M1<FTKM3:|B5LNifD 3mFT1;1<3>=aFL/hKM3>KMNP=\s7:GIG399I|B7A/Eh9;H4@@ONP=;1`uN:=R=<3I9N:H4=CG3q927:=FL/4X
7AKMN:/X*=<3I7:5bSv1FLKM31C7:9VB9>Z
[d33~B@4587AFL/43IEWDa2Q\*1=C7:E4Fb1<FTNP/7A5kN:@k3>=C7i1<FT/4X*9;\B9;13>Ks9 9;HGC2h7:9fq/4FT~,7A/EM[FL/EBNiD97A=<3/4N:19H4Fb1C7At45L3`uNP= 2O7A=CEM=37A5TSU1<FTKM3
7A@4@5TF8G>7A1FLN:/9IZR[d3*@ONPFT/Q13EnN:HB1127A1q1<243Ks7AFL/l@4=<N:t45L3>Ks9R1<27i167s@4=<N:XP=<7:KrKM3I=aD NPH45LE&`j7PG3Da2FT5L3*EB3Ig:3I5TNP@4FT/XW7s=37A5TS
1FLKM3,7A@4@5TF8G>7A1FLN:/]H9FT/4Xlq/4FT~]7:=3WEB\^/7:KMFLGs@=FLN:=<Fb1m\5T3Ig:3>5897:/E]/4N:/4Sv@4=<3>3IKM@B1<7:t45T3sVP3>=</43>5vZhR2N:H4XP2[FL/EBNiD9*{q
9;@kN:=1<9 Ks7:/Q\z@ONQ9;FT1FLg:3R`u37i1H=39-`uN:==<3I7:5bSv1FLKM3@=NPX:=C7AKMKMFT/4XO|1243aDR7\[FL/EBNiD9{2O7A/EB5L3I9FT/Q13I==<H4@B1C9 KMFTXP2P1=<3I9H45T1
FT/&H4/^tkN:H4/E43IE&=39;@kN:/O9;3J1FLKM3I9R`uNP=a=37A5TSU1<FTKM3J1<7P9;VB9IZ
[d39;H=gP3>\:3E1243 FTKM@kN:=1<7A/Q1
`u37i1<H4=39
N:`9;NPKr3fNA`^1243GNPKrKM3I=<G>FL7:5T5L\HO9;3E6=37A5TSU1<FTKM3NP@O3I=<7A1FL/4Xq9\^9;13IKs9>Z
[3REBFL9<GHO993IE
Da2^\s`u=3I36=37A5TSU1<FTKM36N:@k3>=C7i1<FT/4XM9\^9;13IKs99;HOGC2&7PD9 4-D FT/^HB~|  ?a6|O7A/E 
\^/B~n7A=<3XQ7AFL/4FT/XrXP=NPH4/EZ
[d3p2FTXP245TFLX:2Q1<3IE,1243p@7:=<7:KM313I=<9t7P9;3E,NP/hDa2FLGC2&123p@O3I=;`uNP=Ks7A/OG3JNA` =37A5TSU1<FTKM369;\B9;13>Ks9GI7A/&tO3ptk3>/OGC24Ks7A=<V:3IE
Z

   - 
5<

Version 2 CSE, IIT Kharagpur

ZqQ1<7A13WDa23123>=r\:N:H_G>N:/9FLE43>=1<243s`uNP5T5LNiDaFT/X9m1C7i1<3>KM3>/Q1<91Nltk3 + 0 P N:M= S - 3 1  Z :HO9m1<Fb`u\]\:NPH4=z7:/9;D3>=zFT/c37:GC2


G>7P9;3PZ
j7QW.0/e=<3I7:5bSv1FLKM|3 
FL/^HB~t 4-D FT/^HB~|O=<3I7:5bSv1FLKM3p@4=NBG>3I9<9;397A=<39GC23IEBH45L3IEe7A1@4=<FTNP=FT1FL3I9a2FTXP243>=q127:/n1243VP3>=</43>5@4=N:S
G>3I9<9;39>Z
utO V ]9<GC243IEBH5TFL/4XN:`k1C7:9VB9F89 G>N:KMKMN:/45L\r9H4@4@kN:=13EMFT/hGN:KMKM3>=CGF87A5=37A5TSU1<FTKM3NP@O3I=<7A1FL/4X9;\B9;13IKM99HGC2W7:9 6
7:/E /4 RzZ
jGI&R6^.0 " "! 4Z [*j=37A5TSU1<FTKM3a9;1<7A/OE47A=CE-=<3IYQH4FL=391<27i1=<3I7:5bSv1FLKM3R@4=NBG>3I9<9;39 tO39<GC243IE4H45T3E*7A1@4=<FTNP=FT1FL3I9 24FLX:23>= 12O7A/
VP3>=</43>5@4=<NBG3993I9IZ
jE&q/EB3>=1<243p/4FT~,N:@k3>=C7i1<FT/X*9\^9;13IKn|^G>N:KM@4HB1C7i1<FTNP/,FL/P1<3>/9FLg:31<7:9VB9 E4\Q/O7AKMFLGI7A5L5T\sXP=<7g^FT1<7A13a1<Nr2FTXP243>=@4=<FTNP=FT1FL3I9IZ
u3h[243I/,?j@4=<FTNP=FT1m\rG>3>FL5TFL/4Xp@4=<NA1<NBGN:5 F89FLKM@45T3IKM3>/Q13EsFT/s[FL/EBNiD9 {q t^\M7A/W7A@@45TF8G>7A1FLN:/M@4=<N:XP=<7:KrKM3I=I|:7:/^\
=<3I7:5bSv1FLKM3@4=<FTNP=FT1m\*5L3>gP3>589fGI7A/stk37:9<9FTXP/43IEr1<Np1<7P9;VB9f7:/EWG>3>FL5TFL/4Xgi7A5LH439 G>N:KM@4HB1<3IEsNP/M12439;3q1NzFLKM@45L3>KM3>/Q1R? Z
`<n{qN:=<KM7:5T5L\:|^1C7:9V,9DaFb1CGC24FT/X*1<FTKM3pF89a587A=<X:3>= 12O7A/&1<7P9;VW@=3I3>KM@B1FLN:/&1<FTKM3:Z
uX^ 31mD3>3I/93>XPKM3>/Q13Ed7:/Eg^FL=;1<H7A57PE4EB=<3I9<9;FL/4Xn9GC23>KM3I9I|
1<243W9;3IX:KM3>/Q1<3IE7:E4EB=<3I9<9FT/4X&9GC23>KM3sD NPH458EFL/dXP3>/43I=<7:5
FL/GH=5TNiD3>= 3mFT1;1<3>=FL/nKr3IKMN:=<\W7:G>G>3I9<9aGNPKr@O7A=<3IEs1<NM1243pg^FL=;1<H7A5
7PE4EB=<3I9<9;FL/4XM9GC23>KM3:Z
u2O&R6^.0F89n7A/ 7A1;13IKM@B1&t^\wq{J^. . VVV1<N 3I/7At5T3d3~B3IG>HB1<7:t45TQ3 5L3I9,1NtO3@ONP=;1C7At45L3d7PG=<NP9<9WEBFTk3I=3I/Q1nq/4Fb~
Ks7:GC2FT/439>Z
jF8h. `*-.m 9<GC243EBH45LFT/4X7AKMN:/Xc3IYQH7:5q@4=<FTNP=FT1m\ 1<7:9VB9WF89,/NA1&9H4@4@kN:=13E t^\ 7:/N:@k3>=C7i1<FT/X9;\B9;13IK&|1243I/FT/x7A/
FLKM@45T3IKM3>/Q1<7A1FLN:/ NA`6@4=<FTNP=FT1m\cG3IFT5LFT/X@=N:1NBGNP5j?r7i1s123eH9;3I=;S 5L3>g:3I5U|fN:/45L\27:5b`JNA`J1243l7gi7:FT587At45L3&@4=FLN:=<FT1m\
5L3>gP3>589aG>7A/&KM3I7:/4FT/XA`uH45L5T\htO37P99FLX:/43Es1NM1<24361<7P9;VB9IZ
7 3n^H@4@ONQ9;3r7W=<3I7:5bSv1FLKM3N:@k3>=C7i1<FT/4Xh9;\B9;13>KEBN^3I9/4N:1J9H4@4@kN:=1qKM3>KMN:=<\n@4=N:13G$1FLN:/|4123>/d7W@4=NBG>3IEBH4=<3zGI7A5L5-7:/Ee7
9\B9m1<3>KGI7A5L5
7A=<3FL/EBF89;1FL/4X:H4F8927At45L3pFL/h1<27i1q9\B9m1<3>KnZ
jVBh[]7i1CGC2nE4N:Xr1FLKM3>=C9a7A=<31m\^@4F8G>7:5T5L\WH93IE,1NW9;1<7:=;193>/9N:=a7:/Eh7PG$1<H7i1<N:=a@4=<NBG3I9<9FT/4X*1<7P9;VB9a7A1R=<3>XPH4587A=RFT/Q1<3>=<g7:5L9IZ
j58&N:=sKM3>KMN:=<\cN:`69<7AKM3l9FTI3&H/EB3>=h9;3IX:KM3>/Q13E 7:/Eg^FT=1H7:57:E4E4=399FT/X9<GC243>KM39>| 1243l93>XPKM3>/Q13E7PE4EB=<3I9<9;FL/4X
9<GC243>KM36DN:H458E,FL/nX:3I/43>=C7A5FL/GH=a5TNiD3>=RKM3>KMN:=<\,7PG>G399 3mFT1;1<3>=qG>N:KM@7A=<3IE,1Nr1<243pg^FT=1H7:5
7:E4E4=399FT/Xr9<GC243>KM3PZ
jKs&N:=6`j7:9;13I=6=39;@kN:/93*1FLKr3P|"7:/3>K*tO3E4EB3Ed=<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4Xn9;\B9;13>K /3>3IE9J1NntO3s=<H4/`u=NPK7 4aJ =<7A1243I=
1<27A/e7 4wqcZ
546Z VgP3>/h124NPH4X:2lG>5TNBGCVW`u=<3IYQH43I/G\hNA`oKMNBEB3>=</e@4=<N^G>3I9<9;NP=<9F89N:`-1<243NP=<EB3I=aNA`93>g:3I=<7:S5 P|ODa2^\hE4NWKs7A/^\,KMNBEB3>=</n=37A5TS
1FLKM3JNP@O3I=<7A1FL/4X*9\B9m1<3>Ks9R/4N:1a9H4@4@kN:=1R/7A/4NQ9;3GNP/EsN:=R3Ig:3>/&KMFLG>=NQ9;3GNP/Es=<3I9N:5LHB1FLN:/&G5LN^GCVB9 h.m9RFb17i17:5T5@kNP9<9;FLt45L3`uNP=
7A/&N:@k3>=C7i1<FT/4XM9\^9;13IK 1<NM9H4@4@kN:=1/7:/4NP93IG>N:/E,=39;NP5THB1<FTNP/hG>5TNBGCVB9a7i1a@4=<3I93>/Q1 Vo~B@4587AFL/h24NiD 124F89GI7A/&tO37PGC24FT3Ig:3 E
Z JFTgP37:/,3~47:Kr@5T3NA`"7z=37A5TSU1<FTKM37:@4@45LFLGI7i1<FTNP/W`uN:=Da24F8GC2h7*9;FLKM@45T3693>X:KM3I/P1<3IE,Kr3IKMN:=<\rKs7:/7AXP3>KM3>/Q1 9H4@4@kN:=1t^\M1<243
4 q6lF896@4=<3`u3>=<=<3IE7:/E7A/4N:1243I=J3>~47AKM@45L3*N:`7A/]7A@@45TF8G>7A1FLN:/d`uN:=6Da24F8GC2dg^FL=;1<H7A5oKM3IKrNP=\eKs7:/7AXP3>KM3>/Q1p9;H4@@ONP=;1pF89
3I9<9;3I/Q1F87A5vZ PH9;1FT`u\W\:NPH4=GC24NPFLG>3I9IZ
[OZa.m9aFT1q@ONQ99FLt45T361<NWKM3>3>11243*9;3I=g^F8G36=3YQH4FT=<3>KM3I/P1C9aNA` 27:=<E&=<3I7A5TSv1FLKr37:@4@45LFLGI7i1<FTNP/9at^\,Da=<Fb1<FT/XW7:E4EBFT1FLN:/O7A5
587\:3I=<9RNigP3>=
1243Wq/4FT~]^\B9;13>K V:3>=</43I5 . `R\:NPH4=p7A/9D3>=6FL9 ;/4N 4|
3>~^@5L7:FT/Da2^\l/4NA1 . `R\:N:H=7A/9D 3I=6FL9 \:39 |3~B@4587AFL/dDa27A1
7:E4E4Fb1<FTNP/7A5 `u37i1H=39pD NPH458E\PN:HFTKM@45L3>KM3>/Q1zFL/1243,3~^13I=/7:5o5L7\P3>=6NA`a/Fb~c^\B9m1<3>K V:3>=</43I5o`uN:=9H4@4@kN:=1FL/4Xe27:=<E
=37A5TSU1<FTKM367A@4@5TF8G>7A1FLN:/9
 Zwq9 1<243qEB3Ig:3I5TNP@O3I=NA`27:=<Er=<3I7A5TSv1FLKr37:@4@45LFLGI7i1<FTNP/9>|:3~B@4587AFL/W9;NPKr3aN:`1243a`u37i1<H4=39 12O7i1f\PN:HMD NPH458E*=<3IYQH4FL=<376=37A5TSU1<FTKM3
N:@k3>=C7i1<FT/4XM9\^9;13IKe 4 q64R1Ns9;H@4@ONP=;1Z
Z =FL3}\dFT/OEBFLGI7i1<3W24NiD/4FT~]E4\Q/O7AKMFLGI7A5L5T\=<3IGNPKM@4HB13961<7P9;Vd@4=<FTNP=FT1m\gi7A5LH439>Z&[2^\dF89z9HGC2_=<3IGNPKM@4HB1<7A1FLN:/]NA`R1C7:9V
a6
@4=<FTNP=FT1FL3I9R=<3IYQH4FL=3 E e[2O7i1q7A=<36123pFTKM@45LFLGI7i1<FTNP/9aNA`9HGC2n@4=<FTNP=FT1m\W=<3IGNPKM@4HB1<7A1FLN:/9RNP/n=37A5TSU1<FTKM3p7A@4@5TF8G>7A1FLN:/eEB3>gP3>5TS
N:@4KM3I/P1

BZa[27i1pF89J1243WE4Fb3>=<3>/G>3MtO3>1mD 3I3>/]9;\^/GC24=<N:/N:H9. :7:/E7:9\Q/OGC24=NP/4N:HO9q. P# r[27i1z7:=3*1243MFLKM@45TF8G>7A1FLN:/96N:`f1<243I93


1mD N*1m\^@O39aNA`-. : `uN:=a=<3I7A5TSv1FLKr3p7:@4@45LFLGI7i1FLN:/O9>Z
5

Version 2 CSE, IIT Kharagpur

< Z6Vo~B@4587AFL/W1<243p@4=<NP9a7A/OEhG>N:/9RN:` 9H4@4@kN:=1FL/4XMg^FT=1H7:5KM3>KMN:=<\WFL/&3IKztk3IE4E43IE&=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/9IZ

aZ [27i1JEBNs\:NPH&H/EB3>=C9;1<7A/OEht^\&KM3>KMN:=<\W@4=<NA1<3IG$1<FTNP/nFT/eNP@O3I=<7A1FL/4XW9;\B9;13IKy@7:=587A/G>3:Za? N:KM@7A=<36123@4=<NP97:/EnGN:/O9aNA`
=3YQH4FT=<FL/4Xr7:/h3IKztk3IE4E43IE&=37A5TSU1<FTKM36N:@k3>=C7i1<FT/XM9\B9m1<3>Kt4 q64 1Ns9H4@4@kN:=1Kr3IKMN:=<\W@4=<NA13G$1<FTNP/!
"4ZR[27i1F89123EBFb3>=<3>/OG3ptk31mD3>3>/nt45LNBGCVW.:7A/E&GC27:=<7PG$13I=R.:#pN:=a3I7PGC2,1m\^@k3pNA`-.:*|BX:FLg:3p7:/h3>~B7:KM@45T3pN:`-7r1C7:9V
127A1a/43>3E49R1NMH93pFT1IZo[24F8GC2&1m\Q@k3pNA`-. : FL97PG>G>N:=CEB3IE,24FTXP243>=a@=FLN:=<Fb1m\st^\,q/4FT~ l[2^\
P ZR[2^\,F89q/Fb~  /4NP/BS @4=3I3>KM@B1<FTgP3pFT/eVP3>=</43>5
KMNBEB3 NiD EBNs`uH45L5T\&@4=<3>3IKr@41FLg:3VP3>=</43>589Rt7:93IEnNP/e/4FT~]j3:Z XDZ 
FL/^HB~
Nig:3I=<G>N:KM3o12FL9o@=NPt45T3IK =<FT3>}\EB39G>=FLtO3a7:/*3>~^@k3>=<FLKr3I/Q1<7A54931oH4@*12O7i1fG>7:/*tk3RH93IE*1NpEB3>13>=<KMFT/3 1<243a@4=<3>3IKr@41<7AtFT5TS
Fb1m\,NA`oEBFb3>=<3>/Q1NP@O3I=<7A1FL/4Xs9;\B9;13>Ks9Rt^\,2FTXP2BSv@=FLN:=<Fb1m\s=<3I7:5bSv1FLKM3J1<7:9VB9RDa243>/e7r5LNiD @4=<FTNP=FT1m\s1C7:9VW27:9RKs7PEB37M9;\B9;13>K
G>7:5T5vZ
5BZ^H4@4@kNP93612O7i1q\PN:Hn27g:3J1<N,9;3I5T3G$1q7s9H4FT1<7At5T3zG>N:KM@4HB1<3>=a`uNP=q7M@4=<NBG3I9<9G>N:/Q1=<N:5
7:@4@45LFLGI7i1FLN:/|4N:HB1NA`9;3Ig:3I=<7:57gi7:FT587At45L3
GNPKr@HB13I=<9IZ[=FT13`uNPH4=oFTKM@kN:=1<7:/P1o@k3>=`uN:=<Ks7A/G>3 @7:=<7:KM313I=<9-Da24F8GC2r\:N:H*D NPH458E*G>N:/9FLE43>= FT/Mtk3>/GC2KM7:=V^FL/4XJ=37A5TSU1<FTKM3
GNPKr@HB13I=9;\B9;13>Ks9IZoq,3 /436123I93p@7A=C7AKM31<3>=C9R7A/Eh3~B@4587AFL/nDa2Q\W1243I\h7A=<3JFTKM@kN:=1<7A/Q1aFL/&=<3I7:5bSv1FLKM3p7A@4@45LF8G>7i1<FTNP/9IZ
4DZ Vo~B@4587AFL/1<243n1FLKM3l9;3I=g^F8G39r127A1,7d=<3I7:5bSv1FLKM3nN:@k3>=C7i1FL/4X_9\^9;13IK e 4 q64sFL9M3>~^@k3IG13E1<Nc9;H@4@ONP=;1Zw589;NO| t=FL3}\
24FLX:245LFTXP2Q1R2NiDx9HGC2,1<FTKM3I=q9;3I=g^F8G397:=3JFLKr@5T3IKr3I/Q13IEnFL/e7r=37A5TSU1<FTKM36N:@k3>=C7i1<FT/4XM9\^9;13IKnZ
[ZR[27i1aF897A/&N:@k3>/e9\B9m1<3>K n[27A1q7A=<3FT1<97PEBgi7A/Q1<7:X:39G>N:KM@7:=3Es1NW7MG>5TNQ9;3Eh9\B9m1<3>K
 ZR[27i1aF897rD7A1<GC2E4N:X*1FLKr3I= Vo~B@4587AFL/,1<243pH93JN:` 7rDR7i1CGC2EBN:X*1FLKM3>=HO9;FL/4Xs7A/&3~47AKM@45L3:Z
a DZ 
F89m1M`uNPH4=sFTKM@kN:=1<7:/P1r`u3I7A1H4=<3I9r1<27i1W7]6B.0 "" 4Z [ e 43I7A5TS0RFTKM3e9m1C7A/E7A=CEzG>N:KM@45LFL7:/Q1MNP@O3I=<7A1FL/4X]9;\B9;13>K KzH9;1
9;H@4@ONP=;1Z .m9f@4=<3>3IKM@B1<7:t4FT5LFT1m\rN:`
V:3I=/43I5O@=NBG3993I9f=3YQH4FT=<3IEWtQ\sR6^.0 ""! Z [ &?7:/,7zq/4FT~QS t7P9;3EsN:@k3>=C7i1<FT/4X*9;\B9;13>K
H9FT/4Xr1<243p@4=<3>3>KM@B1<FTNP/BS @ONPFT/Q1R13GC24/4F8YPH3G587AFLK1NMtk36^.0 ""! Z [rGNPKr@5TF87A/Q1 V~B@45L7:FT/&\:NPH4=7A/O9;D3>=C9>Z

^Z^H4@4@kNP93p\:NPH&7:=361<243pKs7A/^HB`j7PG$1H=3I=NA`o9;Ks7:5T5
3IKztk3IE4E43IEeGNPKM@ONP/43>/Q1<9RHO9;3EnKM7:FT/5T\hFT/eGNP/9H4KM3>=3I5T3G$1=<N:/FLGI9RX:N^NBE49
9;HOGC27P9W7AHB1<N:KMN:tFT5L3I9I| l @45L7\P3>=C9>|7A/E G>N:KM@4HB1<3>=Svt7P9;3Ec1<Ni\B9>Z[N:H458E\:NPH @4=<3`u3I=s1N_HO9;3e O6|[FL/k? V|NP=
4 qS FT/^HB~,FL/n\:NPH4=R3>Kztk3IEEB3IEnGNPKM@ONP/43>/Q1 Vo~B@4587AFL/,1<243p=37:9N:/9 tk3>24FL/En\:NPH4=a7A/9D3>=Z
< DZ Vo~B@4587AFL/M24NiD FT/Q13I==<H4@B1C9f7:=32O7A/EB5L3IEWFT/s[FL/EBNiD9{q61Z Vo~B@4587AFL/M24NiD1243FT/Q13I==<H4@B1@4=<N^G>3I9<9;FL/4X9<GC243>KM3N:`[FT/E4NiD9
{q KM7:V:39RFb1H4/O9;H4FT1<7:t45L36`uN:=a27:=<Eh=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/9I<Z NiDx27:91<24FL9@4=NPt45L3>K tk3>3I/&NigP3>=CGNPKr3FT/n[FL/k? V
 ZR[FT/OEBNiD96{qEBN^39/NA16@4=Nig^F8EB3M7A/^\e9;H4@@ONP=;1J1Nn9;\^/GC2=NP/4FTI3*7PG>G399NA` 1<7P9;VB9q1NnG=<Fb1<FLGI7A5 =39;NPH4=CG3I9I8Z Vo~B@4587AFL/24NiD
=39;NPH4=CG3927:=FL/4Xs7AKMN:/Xz1C7:9V^9aGI7A/&tO39H4@4@kN:=13EZ
5"4ZR[dNPH458Ec\:NPHc=<3IGNPKMKr3I/Eq/4FT~ ^\B9m1<3>K 1NtO3nH93IEc`uN:=M7l`u3ID =37A5TSU1<FTKM3,1<7:9VB9*`uN:=r=H4//4FT/X7dE47i1C7d7PG>YQH4F89;FT1FLN:/
7A@4@5TF8G>7A1FLN:!/ nw99H4KM3J127A11<243GNPKM@4HB1<7A1FLN:/,1FLKr36`uNP=12439;3J1<7P9;VB9RF89RNA`"12436N:=CEB3I=N:``u3ID 2^H4/EB=<3IE9RNA`"KMFL5T5LF89;3GN:/OE49
7A/E,123EB3I7PEB5TFL/436NA`-123I9361<7:9VB9FL9aN:`1<243pN:=CEB3>=aN:`-93>gP3>=C7A5k13I/9aNA` 9;3GNP/E49IZ PH9;1FT`u\,\PN:H4=a7A/O9;D3>=Z
5 DZ Vo~B@4587AFL/W1<2436@4=NPt45L3>Ks9 127A1R\PN:H&D NPH458EW3>/OGN:H/P1<3>=|^Fb` \:NPHW1=<\s1<NrEB3Ig:3I5TNP@&7:/EW=<H4/n7*2O7A=CEW=<3I7A5TSv1FLKr367A@@45TF8G>7A1FLN:/hN:/
1243p[FL/EBNiD9a{ NP@O3I=<7A1FL/4XM9;\B9;13>KnZ
55BDZ NiD FL91243aFL/Q13>XP=FT1m\zN:`O1<243VP3>=</43>54E47A1<7p9;1=<HG$1<H4=<3a@4=39;3I=gP3IE*FT/Wq/4FT~ FL/M1243R`j7PG3N:`k@=3I3>KM@B1FLN:/O9oNA`k1243qV:3>=</43I5BtQ\
FT/Q1<3>=<=H4@41<97:/EM24FLX:243I=f@4=<FTNP=FT1m\=<3I7:5bSv1FLKM3a1<7P9;VB9 ,[2^\MEBN^3I9124F89o1<3IGC24/4F8YQH43/4N:1fDN:=<V*9HG>G>3I9<9m`uH45L5L\*FL/s@4=<3I93>=<gQFL/4X61<243
FT/Q1<3>X:=<FT1m\,NA` 1<243V:3I=/3>5"E7i1<7s9;1=<HG1H4=<3I9qFT/eK*H45b1<FT@=NBG399N:=qFTKM@45L3>KM3>/Q1C7i1FLN:/O9 o3I=\&t4=<FT3>}\h3>~B@45L7:FT/n1<243FLKM@ONP=;1C7A/Q1
7A@4@=NQ7:GC24391<27i127gP36tO3I3>/e7:EBNP@B13EW1<NsNig:3I=<G>N:KM3q1<24F89a@4=<N:t45L3>K N:`-Ks7:VQFL/4Xs/Fb~^S t7:93IE&9;\B9;13IKM9a9H4FT1<7:t45T36`uNP=a=37A5TS
1FLKM37A@4@45LF8G>7i1<FTNP/&E43>g:3I5TNP@4KM3>/Q1IZ
5! 4DZ =FL3}\3~B@4587AFL/cDa2^\1243,1=C7:EBFT1FLN:/O7A5 q/4FT~cV:3>=</43I5fF89z/4N:1r9H4FT1<7At5T3,1Ntk3,HO9;3EcFL/7lK*H45b1<FT@=NBG399N:=z3>/^g^FT=<N:/4KM3I/P1Z
Vo~B@4587AFL/h7s9@4FL/h5LNBGCV,7A/En7rV:3I=/3>5TSv5L3>gP3>55TNBGCV,7:/E&EBFL9<GHO991<243>FL=H936FT/n=<3I7A5LFL>FL/4Xr7M@=3I3>KM@B1FLg:36VP3>=</43>5vZ
5J[ZR[27i1qE4Ns\:N:H&H4/E43>=C9m1C7A/E&t^\,7MKMFLG>=NPV:3I=/43I5bS t7P9;3EsN:@k3>=C7i1<FT/4Xs9\B9m1<3>K QV~B@45L7:FT/h1237:EBgi7A/Q1C7AX:39RNA`o7rKrF8G=<N:VP3>=</43>5TS
t7:93IEh=<3I7A5TSv1FLKr3JN:@k3>=C7i1<FT/XM9\B9m1<3>K NigP3>=a7rKMN:/4NP5TFT124F8G6N:@k3>=C7i1<FT/Xr9\B9m1<3>KyFL/e9;H@4@ONP=;1<FT/Xr=<3I7:5bSv1FLKM3J7:@4@45LFLGI7i1<FTNP/9>Z


"

Version 2 CSE, IIT Kharagpur

ZR[27i1rFL9*1<243&E4Fb3>=<3>/G>3htk31mD3>3I/7lKMF8G=<N:VP3>=</43>5TSvtO7:93IE=37A5TSU1<FTKM3hN:@k3>=C7i1FL/4X9;\B9;13>K 7:/Ec7EBH7A5V:3I=/3>5=37A5TSU1<FTKM3
N:@k3>=C7i1<FT/4XW9\B9m1<3>Kn6Z JFTgP3z7A/e3>~47AKM@45L3NA`o3I7PGC2
Zq? N:KM@7:=361<243@4=<NP97:/EeGNP/9N:` 1243z1mD NW7:@4@4=<NP7:GC23I91NhEB3>gP3>5LN:@4FL/4X
7r=37A5TSU1<FTKM36N:@k3>=C7i1<FT/4XM9\^9;13IKnZ
5 a ZR[27i1pF89p7&=37A5TSU1<FTKM3 5L3M9\B9m1<3>K [27A1z7:E4EBFT1FLN:/O7A5 `u3I7A1H4=<3I9pE4NQ39p7&=37A5TSU1<FTKM-3 5T3W9\B9m1<3>K9H4@4@kN:=1GNPKr@O7A=<3IEe1<N
1=C7:EBFT1FLN:/O7A5 5L39;\B9;13>Ks9 n[2^\WF89aH93JN:` 7r=<3I7:5bSv1FLKM/3 O5T3p9\^9;13IKy3993>/Q1F87A5FL/n27A=CE,=<3I7:5bSv1FLKM3p7A@4@45LF8G>7i1<FTNP/9
5
^ZR[27i1pF896123ME4Fb3>=<3>/G>3stO3>1mD 3I3>/]7n9;\B9;13>K G>7A5L57A/OE7h`uH4/OG$1FLN:/_GI7A5L5 [27A1p@4=NPt45L3>Ks9>|Fb`a7A/^\:|KrFLX:2Q1z7:=F89;3rFT` 1<243
9;\B9;13IKyG>7:5T589a7A=<3FL/EBF89;1FL/4X:H4F8927At45L36`u=<N:K @4=<NBG3EBH4=<36GI7A5L5L9
5 < DZ Vo~B@4587AFL/l24NiD 7h=<3I7A5TSv1FLKr3*N:@k3>=C7i1<FT/4X&9;\B9;13IKEBFb3>=C9`u=NPK7W1<=<7PEBFT1FLN:/7:5"NP@O3I=<7A1FL/4X&9\B9m1<3>KnZ{q7:KM3r7,`u3>D =37A5TSU1<FTKM3
N:@k3>=C7i1<FT/4XM9\^9;13IKs9127A1q7A=<36G>N:KMKM3>=CGF87A5L5T\W7gi7:FT587At45L3:Z
5  ZR[27i1F89R1<243EBFTk3I=3I/G3tk31mD3>3I/e7r93>5T`S 24NP9;1q7A/En7M24NQ9m1SU1C7A=<X:3>1t7P9;3E&3>Kztk3IEEB3IE&N:@k3>=C7i1<FT/XM9\B9m1<3>K @ JFTgP37i1a5T37:9;1
N:/43n3>~B7:KM@45T3eN:`67]G>N:KMKM3>=CGF87A5GNPKMKr3I=<G>FL7:5aN:@k3>=C7i1<FT/4X_9\B9m1<3>K `u=<N:K 3I7:GC2 G>7A13IX:N:=<\:Z [27A1,@4=<N:t45L3>Ks9MDN:H458E7A/
=37A5TSU1<FTKM367A@4@5TF8G>7A1FLN:/nEB3>gP3>5LN:@k3>=aKMFTXP2Q1`j7PG3pDa24FL5L3JHO9;FL/4X 4 qS FT/^HB~,`uN:=EB3Ig:3>5LN:@FT/4Xr27:=<Eh=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/9
"4ZR[27i1FL97A/eN:@k3>/l9NA`1mDR7A=<3 N^3I9q7:/eN:@k3>/l9NA`1mDR7A=<36KM7:/E47A13@kN:=1<7:t4FT5LFT1m\hN:`-1<2433>~^3GHB1C7At45L83 5L3I97:G>=NQ99aEBFT3>=<3>/Q1
@4587i1;`uNP=Ks9 {7AKM3z7:/&NP@O3I/l9;N:`1mD7:=3p9;1<7:/E47A=CEh`uN:==<3I7:5bSv1FLKM3pN:@k3>=C7i1<FT/4Xs9\B9m1<3>Ks9>Z[27A1qFL91243*7:EBgi7A/Q1C7AX:36N:`-H9FL/4X
7A/&N:@k3>/n9;N:`1mD7:=3JN:@k3>=C7i1<FT/XM9\B9m1<3>K`uNP=a=37A5TSU1<FTKM3p7A@@45TF8G>7A1FLN:/nEB3>gP3>5LN:@4KM3I/P1
ZR[27i1,7:=3&1<243eFTKM@kN:=1<7:/P1M`u37i1H=39sEBN^3I9W7=<3I7A5TSv1FLKr3e7:@4@45LFLGI7i1FLN:/ EB3Ig:3>5LN:@k3>=s3>~B@O3G$1s`u=<N:K 7=<3I7:5bSv1FLKM3&NP@O3I=<7A1FL/4X
9;\B9;13IK nwq/7A5L\^>361<NrDa2O7i13~^1<3>/Q17A=<31<243I936`u3I7A1H4=<3I9R@=Nig^F8EB3IE,tQ\,[FT/E4NiD9{q 7A/E&/Fb~ zZ
5BZR[27i1EBNM\PN:H&H4/EB3I=<9;1<7:/E,t^\,7r24NQ9m1SU1C7A=<X:3>1 1m\^@k3JN:`"=<3I7:5bSv1FLKM3JNP@O3I=<7A1FL/4XM9;\B9;13>K JFLg:3J1mDNsGN:KMKM3>=CGF87A53>~B7:KM@45T39
NA`f2NP9;1;Sv1<7A=<X:3>11m\^@k3MNA` =<3I7:5bSv1FLKM3*NP@O3I=<7A1FL/4Xn9;\B9;13>KnZ Vo~B@4587AFL/1<243s7A=CGC24Fb1<3IG1H4=<3*N:` 9HGC27:/dNP@O3I=<7A1FL/4Xn9;\B9;13>K7:/E
7A589;Nr3~B@4587AFL/&24NiDx7r=<3I7A5TSv1FLKr3p7:@4@45LFLGI7i1FLN:/nG>7:/htk3EB3Ig:3>5LN:@k3IE&NP/&7r24NQ9m1SU1C7A=<X:311m\^@O3pN:`"NP@O3I=<7A1FL/4Xs9;\B9;13>KnZ
 4ZR.mEB3>/Q1<Fb`u\,7A15L3I7P9m1`uN:H=FLKM@ONP=;1C7A/Q17:EBgi7:/P1C7AXP3I9N:`"H9FL/4X q~B[dNP=VB9R7:9 123JNP@O3I=<7A1FL/4X*9\B9m1<3>K`uNP=R5L7:=XP3q27:=<E,=37A5TSU1<FTKM3
7A@4@5TF8G>7A1FLN:/9RGNPKM@7A=<3IE,1NMH9FT/XMq/4FT~ zZ 4Z
[ZR[27i1nF89e7A/ NP@O3I/x9NA`1mDR7A=<3 [2O7i1l7A=<31<243@4=NQ9n7A/ExGN:/O9hN:`zH9FT/X 7:/ NP@O3I/x9NA`1mDR7A=<3@4=<NBEBHG$1nFL/x@4=<N:XP=<7:K
EB3>gP3>5LN:@4KM3I/P1|4GNPKr@O7A=<3IEs1<NsH9FT/4Xs7:/h3YPHFTgi7A5L3>/Q1a@4=<N:@4=<FL31<7:=\s@=NBEBHG1
 ZR[27i1FL9 7A/WNP@O3I/,9N:H4=CG39;1<7:/E47A=C E qNiDF89 Fb1REBFb3>=<3>/Q1 `u=NPK NP@O3I/WN:Jt 3m3G$1R7A/EMNP@O3I/Wt4FL/7A=<\r9;1<7:/E47:=<E49 JFTgP39N:KM3
3~47AKM@45L3I9N:`-@kN:@4H5L7:=aN:@k3>/e9;NPH4=CG369;N:`1mD7:=3J@4=<N^E4HG$1C9>Z
a Zq?7A/KzH45T1FT12=37:EBFL/4Xn=39;H5b1pFL/d`j7P9m1<3>=6=<3I9@ONP/9;3r1<FTKM3I9,jGNPKM@7A=<3IEl1Ne9;FL/4XP5T3r12=37:EB3El1C7:9V^9C3>gP3>/FT/]H4/4FL@4=<NBG3I9<9N:=
9;\B9;13IKM9 Vo~B@4587AFL/&\:N:H=R7:/9D 3I=R7:/E&FLE43>/Q1FT`u\W1<243p=37:9N:/9 1<NM9H4@4@kN:=1\:NPH4=a7A/9D3>=Z

^DZ Vo~B@4587AFL/dDa2^\1=C7:EBFT1FLN:/7:5qu/N:/BS =37A5TSU1<FTKM3qNP@O3I=<7A1FL/4Xe9;\B9;13IKM9/43>3E1NlEB\^/7:KrF8G>7:5T5L\dGC2O7A/4XP3*1<243W@4=<FLN:=<Fb1m\l5L3>gP3>5896NA`
1<7P9;VB9IZ-[2O7i1F891243pFLKM@45TF8G>7A1FLN:/nNA`"124F89R`uNP=a=37A5TSU1<FTKM3p7A@4@5TF8G>7A1FLN:/nEB3>gP3>5LN:@4KM3>/Q1aH9FT/XM9HGC2n7A/nN:@k3>=C7i1<FT/Xr9\B9m1<3>KnZ
 :o (na
  3I/4/4399\ PN:2/ fZO7:/En7g^F8EewZOo7A1;1<3>=C9;NP/

Z H<CE ^?@7)5 5
A2?@7
)?L^587K^ 9<W ?LA2?@9<?BA2OP7  EEF5#H/9
BZeN:=<XP7:/ p7:HB`S
Ks7A/4/efH4t45LFL9243>=C9IJ| 5"" 4Z
 5  p7AD
= 4pZ Z7:/Eh NP=;1<3>= M<Z 4a2437A589m1<N:/4 3
h7r=37A5TSU1<FTKM3JtO3I/GC24Ks7A=<V^FT/Xr@=NP@ONQ97:5UZ  5)YH   Q H3^5GWF9J; |443It4=HO7A=<\  <  Z
  =F87A/eB7:/P1<N<
Z VK*tO3E4EB3EhtO7i1;1<5T36=<Ni\P7:5T3PZ E7
)?L5^Cr|^@7AXP3ID9 a
[15B|^q3G3IKztk3>/= 5"" Z
5

Version 2 CSE, IIT Kharagpur


     
!#"%$'&)(+*',-!"%././$0*213"4(+*'576
89"%:+!;*'6<1:+!=">8*06/?>$0@BAC!3*06/?D*',-./$0!3,-!=67(+!=EF5>6GE/*08H(:+*'A
IJ(!#EK./$2"4(LM5>:+,-8=NPORQ/!3:+!">:!,-">6S@D:+!="78H576
8
QT @;EJ*28U(+:*0A/IJ(+!=E*',-./$0!3,-!=67(V"4(+*'576
8R"%:+!W
6<EJ*'6
?XLY"[Z75>I/:#N]\6
!*0,-.<57:H(V"%6^(_:+!="78H576;*28`(+Q
"4(*'(*08_5%La(+!36b15^8U(&c!3dC!#1e(*0Z>!(59Q
"[Z>!f"
S
EJ*28H(:+*'A/I/(!=Eg8H57$'IJ(+*'576-I
8H*06/?,h">6^@i./*0!=1!#8j5>Lk1VQ
!="%.hQ<"%:VE ">:!7l%:V"4(Q
!3:](+Q
"%6hQ
"[ZS*06/?"1!=6^(:V"%$0*'m=!=Ekl^8H57./Q/*28U(+*01="4(!#EklS"%6
Eh13578H($0@
,h">1VQ
*'6/!7NXn/I
:H(+Q/!3:#lk,h"%6S@o:!#"%$'&)(+*',-!9"%././$0*213"4(+*'576
8p"%:+!X*0T 6/Q/!=:!=67(+$'@qE/*08H(:+*'A
IJ(!#E T *'(QPEJ*'dC!=:!=67(8!36
85>:V8">6
Er"71e(+I
"4(+5>:V85>Ls"
8@J8U(+!3,t.
$0"71!=ED"4(?7!357?>:V"%./Q/*213">$'$0@o8H!=.
"%:V"4(+!i$05J13"%(*05>6
8=Nhu6/5>(Q/!=:.<57*'6^(?75>*06/?*06DLY"[Z>57I/:p5%LEJ*08H(:+*0A/IJ(!#ED*',-./$0!3,-!36^(V"4(*05>6<8
*28pLY"%I
$v(&)(+5>$0!3:V"%6
13!>N;n
">I/$'(H&c(5>$0!3:V"%6<1!9*08Z7!3:+@rEJ!#8H*0:+">A/$0!iLM57:8"%LM!(U@^&w1:+*v(+*01="%$j"%.
./$'*213"%(*05>6
8">6
EB*v(X*28!#">8*'!=:(+5o./:+54Z^*2EJ!9LY"%I
$v(&
(+5>$0!3:V"%6
13!i*06DE/*08H(:+*'A
IJ(!#EB*0,-./$0!3,-!36^(+"%(*05>6
8f(+Q
"%6P1!=6^(:V"%$0*'m=!=Er8@J8U(+!3,h8=N9u$'$`E/*08H(:+*'A
IJ(!#EB:+!=">$v&c(*0,-!98@J8U(+!3,h8"%:+!9A
">8!=Er5>6
">6I/6<EJ!3:+$'@S*06/?h157,9,iI/6/*213"%(*05>66/!( T 5>:+xyNzORQ
!=8!f6
!( T 5>:+xS8R">:!f!{J.C!=1e(+!=E(5;E/!3$0*'Z7!3:,-!=8+8">?>!#8s*06b"9(*0,9!=$'@gLY">8Q/*05>6|N
}D!i1="%6BE/!W
6/!i:!#"%$'&)(+*',-!915>,-,iI/6/*213"4(+*'576r">85>6
! Q/!=:!X(Q/!-"%./.
$'*213"%(*05>6
8,-">x>!98H.C!=13*vW<1i~^I
"%$0*v(U@b5>Ls8H!=:ZS*21!XE/!3,h"%6
E
8
(+5-(Q/!135>,-,XI/6
*01="4(*05>66/!3( T 57:xg8I
1VQb">8,h"%{S*0,XI
,EJT!=$0"[@7lJ,-"%{J*',iI/,$0578+8R:+"%(!7lJ!(+1>N'C"%6
Eg(Q
!6/!( T 5>:+xh5>6<1!*'(">1313!3.J(V8"
135>6/6/!#1e(+*'576g?>I<"%:V"%6^(!=!=8`(Q/!p:+!=~^I/!=8H(!#Eg8!3:+ZS*013!f~^I
">$'*'(U@>N]O:+"7EJ*v(+*'576
"%$y6/!3( T 57:x-./:+5%(+5J15>$28R8HI<1VQ">8Rj(Q/!=:6/!3("%:+!fEJ!#8H*0?>6
!=Eh(+5
EJ!=$'*0Z>!=:-HAC!=8H(R!3dC57:H(V9.<!=:HLM57:,h"%6<1!>N]uAC!=8H(!dy5>:(R6
!( T 5>:+x-8H(:+*0Z>!=8s(+5-"71VQ/*0!3Z>!f?>5S5JE"[Z>!3:V"%?7!.C!3:LM5>:+,-">6
1!7lJ"%6
E,h"%x>!#8_6/5
"%(H(!=,-.J((+5,-!=!(f(Q/!9*'6<EJ*'ZS*2EJI
">$zE/!=">E/$'*06/!=85%L`(+">8xJ83NpORQ/!#8H!i6/!( T 5>:+xJ8"%:+!X*06^(!=6
EJ!=EqLM5>:fI
8!i*06B">././$0*01="4(*05>6<8 T Q/!=:!i$'576/?
EJ!=$0"[@J8f"%6
EqQ/*'?7QBE/"%(+"g$'5^88I/6
EJ!=:pQ/!="[ZS@$'5^">Eq135>6
EJ*'(*05>6<8f">:!9">1=1!3./(+"%A
$'!7N(p*08f6/!=!=EJ$0!=8+8(5b8"[@(Q<"4(8HI
1VQr6/!( T 5>:+xJ8"%:+!
*06
8IJ;1*0!36^(LM5>:I
8!p*'6b:+!=">$v&c(*0,-!p">././$0*01="4(+*'576
83N
w6(Q
*081VQ
"%.J(+!3:#l !bW
:V8H(gEJ*08+1I<888H57,9!oA<">8*01o135>6
13!3.J(V8;1576
1!=:6/*06/?P:+!="%$'&c(*0,9!q135>,-,XI
6/*01="4(+*'576|NSI
A
8H!#~^I/!36^($0@>l !
135>6
8*0E/!3:Q
5 T :+!=">$v&c(*0,-T !X157,-,XI/6/*213"%(*05>6o13">6qAC!i8I/./.C5>:(!=Eb*06q,iI/$v(+*'.
$'!-">1=1!=8+86/!3( T 57:xJ8=Nn*'6
">$'$0@>l T !XEJ*2813I
88Q/5 T :!#T"%$'&
(+*',-!157,-,XI/6/*213"%(*05>6b13">6AC!8HI
./.<57:H(+!=E*06.
"71Vx>!3(H&w8 T *'(+1VQ/!#Eg6
!( T 5>:+xS8=N
oi+C=ioo3fz9=too33fz3ib
w6o(+Q/*28f8!=1(*05>6 T !iEJ*28+1I
8+8";LM! T "%.
./$'*213"%(*05>6
8 T Q/5^8H!X8+"4(+*08HLY">1(57:@gLMI/6
1e(+*'576/*06/?*28Q/!="[ZS*0$'@bEJ!3.C!36<EJ!36^(576o(Q
!iI/6<EJ!3:+$'@S*06/?
6/!3( 57:xy 81="%.
">A/*0$'*'(U@b(5b8HI
./.<57:H(p:+!="%$'&c(*0,9!-157,-,XI/6/*213"%(*05>6|N}D!h8HQ
5>I/$2EqAC!=">:(+Q/!=8!h"%./.
$'*213"%(*05>6
8*'6D,-*'6<E Q/*0$0!i(+:@S*06/?
(+5rI/T 6
E/!3:V8U(V"%6
EPZ4"%:+*05>I
8*28+8HI/!#8*06K:+!="%$'&c(*0,9!15>,-,iI/6/*213"4(+*'576
8XE/*08+1I
8+8!=EP$2"4(!=:X*06(Q
*08i1VQ
"%.J(+!3:#NrO:+"7EJ*v(+*'576
"%$0$0T @>l:!#"%$'&)(+*',-!
135>,-,XI/6
*01="4(*05>6<8 T !=:!I<8H!#E-*'6hQ
">:+E-">6
Eh8H5>La(`:+!="%$'&c(*0,9!">././$0*01="4(+*'576
8]:+I/6/6/*06/?*06;EJ*28U(+:*0A/IJ(+!=Eh./:+5J1!#88]135>6^(:+5>$
">././$0*01="4(+*'576
8
8I
1VQP">8.C5 T !=:p./$0">6^(+8=l"[ZS*'576/*2138=l1VQ/!3,-*213">$]./:5J13!=8+815>6^(+:57$)l|">IJ(57,957A/*0$'!#83l!(+1>N;5 T !3Z7!3:#lk(Q/!;13I/:+:!=67("7EJZ4"%6
13!3,-!36^(+8p*06
135>,-,XI/6
*01="4(*05>6(!#1VQ/6/57$'57?>*0!=8RQ
"78,h">EJ!*'(.<5^88*0A/$'!pLM57:8I/./.C5>:(*06/?h"%././$0*213"4(+*'576
8*06b,-">6S@EJ*'dC!=:!=6^("%:+!=">8R8I
1VQo">8=jZS*0E/!35
A/:+57"7E/13"78U(">6
EP"%././$0*213"4(+*'576
8p5>6D(+Q/!;w6^(!=:6/!3(X8HI<1VQP"78pA
"%6
x^*06/?<l8H(5J1Vxo(+:+"7EJ*'6
?
l!3&135>,-,-!3:V1!7l!(V1%Nw6B(+Q/!hLM57$'$05 T *'6
?
l T !
:+!3ZS*0! T "iLM! T 5>L(Q
!=8!"%././$0*213"4(+*'576
8=N

k/>=[)#<FJ=)<sgw6F">6F"%I/(5>,h"%(!=ELY">1e(+5>:+@D"B8H!3(i5>L:57A<5>(+8913"%:+:+@r5>I/(X(Q
!,h"%6SIJLY"71e(+I/:*06/?r"71e(+*'ZS*'(*0!=8=N
!3:+!>l%(+Q/!6
!( T 5>:+xX8H.<"%6
8j"X8H,h"%$0$
?7!357?>:V"%./Q/*21_"%:+!="p*06;"u!36SZS*':+5>6
,9!=6^(=NORQ
!:57A<5>(+8j135>,-,XI
6/*01="4(+!"%,-5>6
?p(Q/!=,-8!3$0Z>!#8
">6
E T *v(+Qb(Q/!135>6^(:+5>$0$'!=:I
8*'6/?h"-:+!=">$v&c(*0,-!p135>,-,XI
6/*01="4(+*'576.
:5>(5J157$k*',-./$0!3,-!36^(+!=Eb5>6b" T *0:!=$'!#88R,-!=E/*'I/,Y8!3!n*0?
NR>>N
ORQ/!15>6^(+:57$'$0!3:j135^57:+E/*'6
"%(!#8(Q/!f">1e(+*'ZS*'(*0!=8]5>Ly(Q/!:+5>AC5%(#NORQ
!,-!=8+8">?>!=8](Q
"%(j(Q/!:57A<5>(+8j135>,-,XI/6
*01="4(! *'(Q;(Q/!135>6^(:+5>$0$0!3:
:V"%6/?7!fLM:57,6/576J&13:*'(*213">$k"%6
E6/576J&c:+!=">$v&c(*0,-!p$'57?>?>*06/?-*06JLM5>:+,h"4(*05>6(5hQ
*'?7Q/$'@1:+*v(+*01="%$">6
EQ
"%:VE:!#"%$'&)(+*',-T !15767(+:57$k*'6/LM5>:+,-"%&
(+*'576|N]"4(+I/:V"%$0$'@7l>(+Q/!:+!=">$v&c(*0,-!157,9,iI/6/*213"%(*05>6;8@S8H(!=, T 57I/$0E-AC!p13"%$0$0!=E-I/.C5>6h(+5i8I/./.C5>:(`(+Q/!=8!135>,-,XI/6
*01="4(*05>6h:+!=~^I/!#8U(V8
T *'(Q T *2EJ!3$0@gZ4"%:+@S*'6
?98!3:+ZS*013!p~^I
">$'*'(U@;:+!=~^I/*0:!=,-!36^(+8=N
#<K/=SDi^FY>
C/%#
[]s5>6
8*0E/!3:z"1VQ/!=,-*01="%$^LY">1(5>:+@ T Q/*21VQXI
8!=8*'(+8!{J*28U(+*'6/?pu8H!3(I/.iLM5>:]135>6^(:+5>$0$'*06/?">6
E

Version 2 CSE, IIT Kharagpur

ROBOT

ROBOT

ROBOT

CONTROLLER

ROBOT

n *'?7I/:+! j5>AC5%(s57,9,iI/6/*213"%(*05>6*'6o"%6buI/(5>,h"%(!=Ebn<">1e(+5>:+@
,-5>6
*v(+5>:+*'6/?9(+Q/!.
">:+">,9!3(!=:+8R5>L(+Q/!X1VQ/!=,9*213">$k./$2"%6^(5>6o"-:+!=">$v&c(*0,-!fA<">8*08=NsORQ/!8!36<8H57:+8_(+:+">6
8H,-*'((Q/!8+"%,-./$0!=Eb.<"%:V"%,-!(+!3:
Z4"%$0I/!#8i"%(i.C!3:+*'5JEJ*21;*06^(!3:+Z4"%$28(+5q(+Q/!135>,-./IJ(+!3:i(Q
"%(9"71e(+89">8X(Q
!1576^(:+5>$0$'!=:=NrORQ
!135>6^(:+5>$0$'!=:X157,-./IJ(!#8(+Q/!b15>:+:+!=1e(+*'576
8
6/!#1!#88+"%:+@q(+5o(Q/!.
"%:V"%,-!3(!3:V8">6
ED(:V"%6
8,-*v(V8(+Q/!=8!h(5r(Q/!">1e(+I
"4(+5>:V8">8i"%6
E T Q
!36K:+!=~^I/*0:!#EkNoORQ/!=8!13:*'(*213">$`">1(*0ZS*v(+*'!#8
./:+5J1!=!=E"%$05>6/? T *v(+Qb5%(Q
!3:6/576J&13:*'(*213">$|">1(*0Z^*'(*0!=88I
1VQb">8R$05>?7?>*06/?
lS!&,h"%*0$08=l/"%6<E8I/:+Z>!=*'$0$0">6
1!7lS!(+1>N
y#^[^ #S i/ |Y )Y7J=)< >w6F"%6Fw67(+!3:+6/!(&cA<">8!=EPA
">6/xS*'6/?D"%./.
$'*213"%(*05>6|lzA
">6/x1I
8H(57,9!=:+8i13">::+@r57IJ(
(+Q/!3*0:A
">6/xS*'6/?9(+:+">6
8"71e(+*'576
8RI
8*'6/? T !3AbA/:+5 T 8H!=:+8_*06(Q/!X135>,9LM5>:(5%L(Q/!=*':Q/5>,-!=8=N`ORQ/57I/?>Q(Q
*08*08R5>La(!36q135>6
8*2EJ!3:+!=Eg(5hAC!
Z7!3:+@XEJ!=8*0:+">A/$'!7l4LM5>:j(Q/*28z(Q
!w67(+!3:+6/!(jA<"%6/xS*06/?"%./.
$'*213"%(*05>6
8z6/!=!=Ei(5AC!!3{^(+:!=,-!3$0@X8H!#1I/:+!"%6<Ei:+!3$0*2"%A/$0!EJI/!R(5p(+Q/!8!36
8*'(*0Z>!
6
"%(I/:+!-5%Ls(Q/!-W
6<"%6
13*0">$z(:V"%6
8+">1(*05>6
8f*06^Z75>$0Z>!#EkN9ORQ
!=8!-">././$0*01="4(+*'576
8"%$28H5Q
"[Z7!98H(:+*'6
?>!36^(EJ!=$0"[@q:+!=~^I/*0:+!3,-!36^(+8=N 6/$0!=8+8"
(+:+">6
8"71e(+*'576q*08p135>,-./$0!(!#Er*06B(*0,9!7ly(Q/!h8!3:+Z>!=:,h"[@b(*0,-!-5>IJ(p$'!#">EJ*06/?(5:! U!=1(*05>6r5>L`I
8!3:p:+!=~^I/!=8H(+8p">6
Er1="%6B1="%I
8!9I
8H!=:
EJ*28+8"%(*28ULY"71e(*05>6N
M#YKSYoM#Y7 37sw6o"9,XI
$v(+*',-!=E/*0"-,iI/$v(+*01=">8H("%./.
$'*213"%(*05>6|lJ,h"%6S@;:+!=13!3*0Z>!=:+8s$'5J1="4(!#Eb"4(?>!=5>?>:V"%.
Q/*01="%$0$'@hEJ*'dy!3:+!36^(
./$2">13!=8_:+!=1!=*'Z7!,iI/$'(*0,9!#EJ*2"i*06JLM57:,h"4(+*'576;LM:+5>,"i,XI
$v(+*',-!=E/*0"h8!3:+Z>!=:=NORQ/!p,XI/$'(*0,-!=EJ*2"9*'6JLM57:,h"%(*05>6*08RI
8I
">$'$0@h*'6(Q
!LM57:,
5>Lz8H(:+!=">,9*06/?9ZS*0EJ!=5h"%6
Eb"%I<EJ*'5<N]O:V"%6
8,-*08+8*'576"%6<Eg./:+5J1!#88*'6
?i5>L(+Q/!=8!*'6/LM5>:+,-"%(*05>6Q
"[Z>!W
:+,:+!=">$v&c(*0,-!:+!=~^I/*0:!=,-!36^(+8=N
y#^[^ _SY zCy] ]57 *28">$'$z8!((+5g:+!3Z75>$0IJ(*05>6/*0m3!XZ>5>*21!i15>,-,iI/6/*213"4(+*'576|N ]57 8H(+"%6<E/8LM57: ]57*013!X54Z>!=: zl Q/!3:+!
:+!LM!3:V8_(5-(+Q/!w6^(!=:6/!3( j:+5%(5J135>$C(Q
"%(I/6
EJ!=:$0*0!=8"%$0$|w6^(!=:6
!(157,9,iI/6/*213"%(*05>6|N _@;I
8*06/? ]5> ./Q/576/!=8">6
E(!#1VQ/6/T 5>$05>?7@
576/!f1="%6,-">x>!f./Q/576/!f1="%$0$08s(+Q/:57I/?>Qw6^(!3:+6/!3(=N]ORQ/!pA<!=6/!W
(R*28s(Q
"%(=l
"78j(+Q/!">1(I
">$CZ75>*21!(:V"4;1*08R13">::+*0!=EhAS@-(Q
!fw6^(+!3:+6/!(#l
]57 G*28_LM:+!3!5>:13578H(+8_,XI<1VQ$0!=8+8_(Q<"%6o"%6b">1(I
">$y(!3$0!3.
Q/5>6/!1="%$0$)lJ!#8H.C!=13*0">$'$0@;54Z7!3:R$'576/?hEJ*28U(V"%6
13!=8=N
ORQ/!h6
!( 5>:+xq!36
13:@S.J(V8Z>57*013!h8H*0?>6
">$08p*06^(5qE/"%(+"b.
"71Vx>!3(+8"4((+Q/!g8!36
E/!3:!=6
E"%6
EPEJ!#1:+@S.J(+8*'(*067(+5oZ>57*013!;13"%$0$28"4((+Q/!
:+!=13!3*0Z>!3:!=6
EkT NqORQ/*28!=6
1:+@S.J(*05>6K">6
EPEJ!=13:@S.J(+*'576*08LM:57, ">6"%6
">$'57?q8H*0?>6
">$M*cN !>Nq"bZ>57*013!;13">$'$ap*067(+5rEJ*0?>*'(+">$s8*'?76
"%$)E/"4(V"
.
"71Vx>!3(+8Vj(+Q
"4(*28R./$2">13!=8R5>6(Q
!6/!( T 5>:+x;"%6
Eb">?7"%*06;(+Q/*28*08EJ!=13:@S.J(+!=E*'6^(5h">6
"%$05>?-8H*0?>6<"%$28"4(R(Q/!:+!=13!3*0Z>!=:_!=6
EkN
]57 ">././$0*01="4(+*'576
8"%:+!i6
5>:+,-">$'$0@qI
8!=E *'(Q"o8*',-./$0!h,-*013:57./Q/5>6
!-">6
ED15>,-./I/(!3:i8H.C!=">x>!3:V8=lkA/IJ(X (!=$'!=./Q/576/!=81="%6
">$085gAC!iI<8H!#Eklk./:+54Z^*2EJ*06/?g">6r!{J.C!3:+*'!=6
1!i*0E/!3T 6^(*213">$(+56/57:,h">$(+!3$0!3./Q/576/*06/?
N ]5> "%./.
$'*213"%(*05>6
8f"%6
EB8H!=:ZS*21!#8:+!=~^I/*0:!XW
:,
:+!=">$v&c(*0,-!pE
"4(+"i(+:+">6
8ULM!=:8HI
./.<57:H(#N
ROBOT

 














 

























 3 9b
w6b(+Q/*088H!#1e(+*'576|l T !EJ*08+1I<88"9LM! T A
">8*01135>6
13!3.J(V88I
1VQq">8~^I
">$'*'(U@g5>L]8!3:+ZS*013!p.
"%:V"%,-!(+!3:V8"%6
E(+:+"%;113"4(+!3?75>:+*'m#"4(*05>6g(Q
"%(
">:!p*0,9.C5>:(+">6^(_(+5-I/6
EJ!=:+8H(+">6
EJ*06/?-5>I/:EJ*28+1I
8+8H*05>6<8R*'6(Q
!:!#8U(5%L(Q/*281VQ
">.J(!=:=N


Version 2 CSE, IIT Kharagpur



 



w6o:+!=">$v&c(*0,-!15>,-,iI/6/*213"4(+*'576|l/,h"%*06/$0@g(+Q/:+!3!(U@S.C!=85>Lz6
!( T 5>:+xS8">:!:+!3$0!3Z4">67(#_s5>6^(+:57$'$0!3:u:!#";!3( T 57:xJ8c_u8Vely|5J13">$
u:!#"o!( T 5>:+xJ8hYu8Vel]">6
EPw6^(!3:+6/!3(=NbORQ/*08i1$2">8+8H*'W<1="4(*05>6D*28,h">EJ!h576P(Q/!gA
">8*085%L_(Q/!8H*0m3!h5>L_(+Q/!;6/!3( T 57:xB"%6
ED(+Q/!
135>,-,XI/6
*01="4(*05>6(!#1VQ/6/57$'57?>@;EJ!=./$'54@7!=EkNzw6(Q
!pLM5>$0$'5 T *06/?
l T !pA/:*0!<@EJ*2813I
8+8_(Q/!#8H!f(Q
:!=!p(U@^.C!=8R5>L6
!( T 5>:+xS8=N
iCy34<)Y^ ;4S o^"!X< $#+i%'&r_u8"%:+!qZ>!=:@8H,h"%$0$6
!( 5>:+xS8=N_u8"%:+!o(U@S./*213"%$0$0@FI
8!=E(+5F1576/6/!#1e(;(+Q/!
EJ*'dy!3:+!36^(i157,-.<576/!36^(+8p5>L!3,XAC!=E
EJ!=E135>6^(:+5>$0$'!=:+8=Nhw6K"%6">IJ(57,95>(*0Z>!hT 8@S8H(!=, (+Q/!gEJ*'dC!=:!=6^(i157,9.C5>6
!36^(+88I
1VQK">8p!=6/?>*06/!7l
A/:V"%x7!=8=l
!3(+1%Nf"%:+!X1576/6/!#1e(!#Eo"%6
Er15>6^(+:57$'$0!=E(+Q/:57I/?>Qq"_uNkORQ/!i!36
EJ&)(+5%&!36
Eb$0!36/?>(Qq5>L`"_u *08I
8I
"%$0$0@$0!=8+8(+Q
"%)6 (*
,-!(+!3:V83NzS*06
1!7l=(+Q/!`.
:57.
"%?^"4(*05>6(*0,-!`5>LJ"f_uK*28|Z7!3:+@8,h"%$0$)l#LMI/6
1(*05>6
">$'$0@"_uKA<!=Q
"[Z>!#8|$0*'x7!`"$05S1="%$%A
I
8*06"135>,-./IJ(+!3:#N
ORQ/!f./:+!=8!36^(E/"[@h"%IJ(+5>,-5%(+*'Z7!!=$'!#1e(:+5>6
*01=8`*28sLY"%*0:$0@;8H57./Q/*28U(+*01="4(+!=Ekl *'(Qb"%IJ(+5>,h"4(+!=E;!=6/?>*06/!f,h"%6
">?>!3,-!=67(R8H@J8H(!=,-8=lSLMI/!=$
*06 U!=1(*05>6|lJ"71e(*0Z>!8HI
8.C!36
8*'576|l^A/:+">xS*'6/?<l7$0*0?>Q^(*06/?
lS"%*0:&135>6
EJ*'(*05>6
*'6/?<l78!=13T I/:*'(U@>lS"%6<Eh1!36^(+:+">$<$05J1Vx^*06/?<Nu 15>6<8H*2EJ!3:V"%A
$'!">,-5>I/6^(
5>L_*06JLM5>:+,h"4(+*'576B!3{J1VQ<"%6/?7!-">,-5>6/?(Q/!#8H!;135>,-.C5>6/!=67(V8*28:!#~^I/*':+!=E|N;ORQ/!;1576^Z7!36^(*05>6<"%$z,-!(Q
5SED5>L_6/!3( T 57:xS*06/?b8HI
1VQ135>,9&
.C5>6/!=6^(+8 T "78.C5>*06^(H&c(5>&c.C5>*06^( T *0:*06/?<NORQ/*08p,-!3(Q/5JEJ57$'57?>@ T "78"8*',-./$0!i!=Z>57$'IJ(+*'576r5>Lj(Q/!-8*',-./$0!-!3$0!=1e(+:*213">$8@J8U(+!3,h8fI
8!=E
*06B!#"%:+$'*0!3:p13">:+8=NX5 T !=Z>!3:#ly">8(Q/!h85>./Q
*08H(*213"%(*05>6r5>Lj(Q
!-1="%:V8f?>:+! T lk8HI<1VQD"8H*0,-./$0!-8+1VQ/!=,9! T 5>I/$2EqQ
"[Z7!X:+!=~^I/*0:!#Er8!3Z7!3:V"%$
xS*0$'57,9!3(!=:+8X5%L T *0:*06/?
l]"7E/EJ*06/?o(5r(Q/!15^8U(95%L,h"%6SIJLY"71e(I
:*06/?
l T !3*0?>Q^(=l]135>,-./$0!{J*v(U@7l]"%6
EK"%((Q
!8+"%,-!h(+*',-!:!#8HI/$'(*06/?q*06
8!3Z7!3:+!3$0@h:!#EJI
1!#Eg:+!3$0*2"%A/*0$'*'(U@>N
ORQ/*28?^"[Z>!p:*28!p(5-(Q
!XEJ!3Z7!3$05>./,-!=67(5>Lj_uNCu8H.C!=13*0">$|:+!=~^I/*0:!=,9!=6^(5>6r_u*28(+5hQ
"%6<EJ$'!6
5>*28H!7N_uIJ(57,95>(*0Z>!135>,9&
.C5>6/!=6^(+8R8HI<1VQ">8_!=$'!#1e(:+*21,-5%(+5>:V83l^*0?>6/*'(*05>68H@J8H(!3,h8=lJ"%6
EnP(:V"%6<8H,-*288*'576
8=l7!3(+1%Nj">:!Q/!="[ZS@-./:+5JEJI
1!=:+8s5%L6/5>*28H!7N]u6/5>(Q/!=:
EJ*28H(*06/?>I/*28Q/*'6
?rLM!#"4(I
:!5%Lp_u *08i(Q
! qZ75>$'(i.C5 T !=:98I/././$0@>l`(Q
"%(9Q<">89A<!=!36,h"%6
E/"%(!#EKAS@D(Q/!o1576SZ>!36^(+*'576
"%$ rZ>5>$'(
">IJ(57,95>(*0Z>!.C5 !=:`8I/././$0@>N`_u 8H.C!=13*vW<!=8j576/$0@(Q
!./QS@J8H*213">$
"%6<EhE/"4(V"p$'*06/x-$0"[@7!3:V8z5%LkH
\ +7\pS,-5JEJ!=$)l T *v(+Q;Q/*0?>Q/!=:j$2"[@>!3:V8
AC!3*06/?h$0!La((59(+Q/T !8H.C!=13*vWC1p*',-./$0!3,-!36^(V"4(*05>6<83N
_!=1="%I
8!5%Lj*'(+8:+5>A/I
8H(6
!=8+83lk_uQ<";!{J.
">6
EJ!#EbA<!=@>5>6<Eb*v(V8">IJ(57,95>(*0Z>!57:*0?>*06
8">6
Eq1="%6o6/5 AC!LM5>I
6
Eo*06q*'6<EJI
8H(:+*0">$
">IJ(57,-"%(*05>6X8@J8U(+!3,h8=l=(+:+">*'6<83l%8Q/*0.
83l%">?>:+*013I/$'(I/:V"%$7,-"71VQ/*06/!3:+@>l[Q/57I
8H!=Q/5>$2E">././$0*0">6
1!#83l[5%;13!s"%I/(5>,hT "%(*05>6X8@J8U(+!3,h83l[!=$'!=Z["%(57:+8=l
!3(+1%Ns_u 6/5 T *28">6*06^(!3:+6
"%(*05>6
">$y8H(+">6
E/">:+EI/6
EJ!=:H
\ >- ,/.0, "%6<EH<\ > ( 1 . &w/N
2s|>/;4S
o7" !X< ]su$05J13"%$/">:!#"f6/!( 5>:+x;Yu]*08 *'(Q/*06;"fA/I/*0$0E/*'6/?57:j"p13"%,-./I<8j"%6
Ei*28]I
8I
"%$0$'@X./:*0Z4"4(+!3$0@X5 6/!#EkN
u u*28I
8!=ED(+5q15>6
6/!=1(X"b6^I
,XAC!3:5>LRT 135>,-./IJ(+!3:V8 T *v(+T Q/*06K"%6D5>:+?7"%6
*'m#"4(*05>6r(5r8Q
">:!hE/"%(+"b"%6
EP5>(Q/!=::!#8H57I/:V1!=8pT 8I
1VQ
";W
$'!#83lk.
:*06^(!3:V8=lCnJ4u 38!3:+ZS*013!=8=l<!3(+1%Nu8(U@S./*213">$'$0@b5>.C!3:V"4(!9"4(E/"4(V";:V"4(+!=8!{/1!=!=EJ*06/? */5oA
.
8">6
Eq,h"%6S@b./:+!=8!36^(fE
"[@
u8XM?>*0?7">A/*'(j(Q/!=:6
!(+8Vs5>.C!3:V"4(+!p"%( 7 6 A/.
8=Nju8"%:+!fI
8HI<"%$0$'@;*0,-./$0!3,-!36^(!#EI
8H*06/?hA/:+57"7E/13"78U(R6/!3( T 57:xJ8=N
y#^[^>_ORQ/!w6^(!3:+6/!3(=l785>,-!3(*0,9!#8]13">$'$0!=E-8*',-./$0@i%(Q/!!(=l p*28]" 57:$2E *2EJ!8H@J8H(!3, 5%Ly15>,-./I/(!3:`6/!( 5>:+xJ8&"6
!( 5>:+x
5>L/6/!( T 5>:+xJ8|*06 T Q/*21VQI
8!3:V8"%(">6^@p576/!s135>,-./IJ(+!3:z13"%6l4*vL/(+Q/!3@pQ
"[Z7!j.CT !3:+,9*28+T 8H*05>6|l4?7!(*'6JLM57:,h"%(*05>6LM:+5>,"%6ST @p5%(+Q/!3:157,9.
T IJ(!=:
">6
E;85>,-!(+*',-!=8`(+">$'xhEJ*0:+!=1e(+$'@9(+5iI
8!3:V8`"%(s5>(Q/!=:_135>,-./IJ(+!3:V8`I
8*06/? ]57 zN7}D!,iI
8H(sQ/5 T !3Z7!3:jAC!f" T "%:+!5%L(Q/!LM5>$0$'5 T *06/?( T 5
EJ*28H(*06
1e(+*'576
83s(Q
!*'6^(+!3:+6/!(iY$'5 !3:V13"78H!f*a*28"%6S@15>$0$0!=1e(+*'576b5%Lj8H!=.
"%:V"4(+!p./QS@S8*213"%$6/!( 5>:+xJ83l/*06^(!=:+135>6/6/!#1e(+!=EAS@";135>,-,-5>6
./:+5%(+5J15>$cl/(+5hLM5>:+,";8*'6/?7$'!X$'57?>T *213"%$6/!( T 5>:+xyNORQ/!w6^(!=:6/!3(9YI/./.C!3:V13">8!H*08(Q/! T 57T :$2E T *2EJ!157$'$0!=1(*05>6o5>Lj*'6^(!=:+135>6/6
!=1e(+!=E
6/!3( T 57:xJ8=l T Q/*21VQ?>:+! T 57IJ(b5%L(+Q/!B57:*0?>*06
">$u kus9
O 8 ; :1< l(+Q
"4(bI
8!=8w6^(!3:+6/!3( `:5>(5J157$iM _-(+5G$0*'6
x(Q/!DZ4"%:+*'57I
8
./QS@J8*01="%$|6/!3( T 57:xJ8R*06^(5g"h8*'6
?>$0!$'57?>*213"%$6/!( T 5>:+xyNsORQ/!w6^(+!3:+6/!(AC!3?^"%6o*06 1 ./= 9">8"-:+!=8*'$0*0!36^(157,-./IJ(!=:6/!3( T 57:xhLM57:(+Q/!
fg,-*0$'*'(+">:@gI/6
EJ!=:(Q/!u ku`O./:5 U!=1(=l/"%6<E54Z7!3:s(*0,-!Q
">8?7:5 T 6*'6^(+5-"9?7$'57A
"%$k157,-,XI/6/*213"%(*05>6(5S5>$5%L,-57:!f(Q<"%6
Jl */*/*i157,9.
IJ(!=:6/!( T 5>:+xJ8j(+Q
"4(8Q
">:!"-157,9,-576"7E/EJ:+!=8+8H*06/?-81VQ/!=,-!>N







>



?@BADCEFGIHJ
KL EMN
PO?QHSR

!#"%$'&)(+*',-!"%././$0*213"4(+*'576
86
!3!=EK?>I
">:+">67(+!3!#8:!=?7">:+EJ*06/?b(+Q/!8!3:+ZS*013!g~^I
"%$0*'(U@BLM:+5>, (Q
!I/6<EJ!3:+$'@S*06/?r6
!( 5>:+xqLM5>:i(Q
!3*0:98+"4(+*08H&
LY"71e(57:@B5>.C!3:V"4(+*'576
83NORQ/!g8!3:+ZS*013!-~^I
">$'*'(U@D!{J.<!#1e(+!=EP5%L_(Q
!gI/6
E/!3:+$'@S*06/?o6/!( T 5>:+xq*285>La(!36!3{J./:!#88!=EBT *06P(!3:+,h85>L13!3:(+">*'6
T I
">$'*'(U@q5>LRS!=:ZS*21!o T 5S/.
"%:V"%,-!(+!3:V83N-!#"%$'&)(+*',-!;"%.
./$'*213"%(*05>6
8fI
8I
">$'$0@qQ
"[Z7!-8H(:+*06/?>!=67(:+!=~^I/*0:!=,-!36^(+8f5>6B(Q
!-LM5>$0$'5 T *06/?
T 5Sb.
"%:V"%,-!3(!3:V8=_A<"%6
E *2ES(+Q|lk,h"4{J*',iI/, EJ!=$0"[@b*06q(:V"%6<8H,-*288*'576|lyEJ!3$2"[@ U*v((!3:#lk$0578+8:V"4(+!>lk"%6
EqA/$'5J1VxS*06/?g./:+5>A<"%A/*0$'*'(U@>Np}D!
!=$0">A<57:+"%(!(Q/!#8H! T 5S;.
">T :+">,-!(!=:+8_*06(Q/!pLM57$'$05 T *'6
?
N
USY7]pu8I
1313!=8+8ULMI/$zEJ!=$'*0Z>!=:@5%L`"g.
">1Vx7!(AS@o"g135>,-,XI/6
*01="4(*05>6r6/!( 5>:+xg*06B"g:!#"%$'&)(+*',-!X">././$0*01="4(*05>6BEJ!3.C!36
E
86/5>(576/$'@
576;:!#1!=*'ZS*06/?(Q
!.
"71Vx>!3(s*067(V">1(=lSA/IJ("%$28H5X5>6h(+Q/!(+*',-!p"4( T Q/*01VQg*v(R*08_:+!=T 13!3*0Z>!=E|NL|(+Q/!(+*',-!(Q/!f6/!3( T 57:xi(+">x>!=8`(59EJ!3$0*0Z>!3:_"


Version 2 CSE, IIT Kharagpur

.
"71Vx>!3(s!{/13!3!=E
8j(+Q/!8H.C!=13*vW
!#EgEJ!=$0"[@-AC5>I/6<EklS(Q/!=6g(+Q/!p"%././$0*213"4(+*'576h(*0,-!=8R57IJ(R">6
Eg1="%6;:+!=8I/$'(_*06"XLY"%*0$0I/:!f*0613"78H!5%L"iQ
">:+E
:+!=">$v&c(*0,-!p">././$0*01="4(+*'576">6
E"-EJ!=?>:V">E/"%(*05>65%L]8H!=:ZS*21!p~7I<"%$0*v(U@;*06o13"78H!p5%Lz"h8H5>La(:!#"%$'&)(+*',-!"%./.
$'*213"%(*05>6|N
USY7
#M3#^^ 7*'(H(!=:]*08zEJ!3W
6/!#Ei"78(+Q/!R,h"4{J*',iI/,Z4"%:+*2"4(*05>6X*'6-EJ!3$2"[@!{J.C!3:+*'!=6
1!_AS@,-!=8+8">?>!#8*069"f8*'6/?7$'!R8!=8+8H*05>6|Nw6i5>(Q/!=:
5T >:VE/8=l
*'(*28(Q
!iEJ*'dC!=:!=6
1!iA<!3( T !=!36b(+Q/!X,h"4{J*0,XI/,">6
Eb,-*'6/*0,XI
,E/!3$2"[@S8(Q
"%(.
"71Vx>!3(+8!=6
157I/6^(!3:*'6q"g.
">1Vx7!(&8 T *v(V1VQ/!=E
6/!3( T 57:xyNn
5>:f!{/"%,-./$0!>lC*'Lj(Q/!9,h"4{J*0,XI/,!36<ES&)(+5%&!36
ErEJ!3$2"[@E/!3$2"[@!3{S.C!3:+*0!36
13!=EoAS@o";.
"71Vx>!3(*'6D"g13$0"788*08 ,h8=ly">6
Eb(+Q/!
,h"4{J*0,XI/,EJ!3$2"[@;*28 *i,h83lJ(+Q/!36(+Q/!EJ!3$2"[@ U*'(H(+!3:5>L(+Q/!13">$'$k*28 . ,-8=N
u8"-.
">1Vx7!(+8s(+:+"[Z7!3$k*06b"96/!3( 57:xylS(+Q/!3@,-"[@gI/6
EJ!=:?759EJ*'dy!3:+!36^("%,-5>I
67(5>L~^I/!=I/*'6
?;EJ!3$2"[@J8"4(EJ*'dC!=:!=67(6
5SE/!=8=Nju$28H5<l
.
"71Vx>!3(+8R,h"[@;(+:+"[Z7!3$k*06qEJ*vdy!3:+!36^(T .<"4(Q<813">I
8*'6/? U*'(H(+!3:#N 7*'(H(!=:*28I/6
"71313!3.J(V"%A/$0!*'6o,h">6^@"%./.
$'*213"%(*05>6
8=l/!=8.C!=1*2"%$0$0@g*06o,-">6S@
Q
">:+E9:+!=">$v&c(*0,-!R">././$0*01="4(+*'576|l>"%6<Ei*06;85%La(j:+!="%$'&c(*0,9!">././$0*01="4(*05>6<8j8HI<1VQ9"78],XI/$'(*0,-!=EJ*2""%.
./$'*213"%(*05>6
8=Nw6-"pZS*2EJ!35">././$0*01="4(+*'576|l
U*'(H(+!3:1="%6b8HQ/5 T I/.o">8R./*21e(+I/:+!f:+!3,h">*'6/*06/?h8H(*0$'$kLM57:1!=:H(V"%*06g(+*',-!>N
w6G,-">6S@K"%././$0*213"4(+*'576
8=ljA/IJdy!3:V8h"4(9(Q/!b:+!=13!3*0Z>!3:-13">6FAC!bI
8H!#E(+5P135>6^(:+5>$ U*'(H(!=:=NGw6F(+Q/*28h"%././:+57"71VQ|l]:+!3,-54ZS*'6/? U*v((!=:
:+!=~^I/*0:!#8R15>$0$0!=1e(+*'6
?i.
"71Vx>!3(+8_*'6bA/I/dC!=:+8">6
EgQ
5>$2EJ*'6
?i(+Q/!3,$'576/?-!36/57I/?>Qg(5h"%$0$'5 T (Q/!8$'5 T !=8H(R.
">1Vx7!(+8s(+5-">::+*0Z>!*06(*0,-!(+5
AC!X./$2"[@>!#E*'6r135>:+:!#1e(8!=~^I/!=6
1!7NORQ/!i">,957I/6^(5%L]A/I/dC!=:f8.
">13!:!#~^I/*':+!=Eo1="%6oAC!iEJ!3(!=:,-*06/!=ELM:+5>, (Q
!.<!#"%xb:V"4(!">6
Eb(+Q/!
EJ!=$0"[@ U*'(H(!=:=NORQ/!X8*'m=!5%L](+Q/!XA/I/dC!=: T 5>I/$2Eb*'6qLY">1e(fA<!i?>*0Z>!=6AS@ 

 
  SNn/57:!{/">,9.
$'!7lC";8*06/?>$0!ZS*0E/!35
85>I/:V1!(:V"%6<8H,-*'(H(*06/? V *iLM:V"%,-!=8R.C!3:8!=135>6
E|lJ!=">1VQ15767(V"%*06/*06/?;5oA5%LzE/"4(V"9">6
E!{J.C!3:+*'!=6
1*06/?-" U*'(H(+!3:5>L 8!=135>6
Ekl 5>I
$0E
:+!=~^I/*0:! = */5oAo5>L]A/IJdy!3:p8H.
"71!X"%((Q
!iEJ!#8U(+*'6
"%(*05>6b(+5;!3$0*',-*06
"4(+! U*'(H(+!3:#N j:+54Z^*2EJ*06/?;"-(+*'?7Q7(fEJ!3$2"[@ U*'(H(+!3:fA<57I/6
Eq1="%6o:+T !=EJI<1!
(+Q/!A/IJdy!3:+*'6
?9:+!=~^I/*0:+!=E"4((Q
!:!#1!3*0Z>!=:=N
9/ !hY=sRORQ/*08.
"%:V"%,-!(+!3:_*'6<EJ*01="4(+!=8_(Q
!:+"%(!p"4( Q/*21VQb"91576/6/!#1e(*05>6 5>I/$2EgAC!8H!=:ZS*21!#EgAS@h(+Q/!p6/!( T 5>:+xyN]JIJ;1*0!36^(
A
">6
E T *2ES(Qb*28:+!=~^I/*0:!#Eh(5;8I
8H(+">*'6(Q/!:+!=~^I/*0:+!=Eg(Q/:+5>I/T ?7Q/./IJ(RLM57:"%6b"%././$0*213"4T (+*'576|N
2s 4J#<_|5^88:+"%(!REJ!36
5%(!#8(Q/!.C!3:V1!=67(V"%?7!`5%Ly"%$0$^(:V"%6
8,-*v((!=Ei.
"71Vx>!(V8|(+Q
"4(],h"[@AC!_$0578H(]EJI/:+*'6/?f(+:+">6
8H,-*288*05>6|N ]"71Vx>!3(+8
*06q";1576/6/!#1e(*05>6o,h"[@A<!i$'5^8U(E/I/!(5"hZ4"%:+*'!3(U@g5%L]:+!="78H576
88HI<1VQq">8E/!3$2"[@gAC5>I/6
EbZS*05>$2"4(+*'576|l<EJ!=$0"[@ U*v((!=:H&A<57I/6
EoZS*05>$2"4(+*'576|l
A/I/dC!=:54Z7!3: 
5 T l["%6
EiE/"4(V"135>:+:I/./(*05>6|"N !f"4(V"135>:+:I
.J(*05>6*28*'6<8H*0?>6/*'W<1="%6^(*06W<A/:!_5>./(*21`,-!=E/*0"f"%6
Ei13">6XAC!s*0?>6/57:!#Ekl T Q/!3:+!="78
E/"%(+";135>:+:I
.J(*05>6b*288*'?76/*vWC13"%6^(*06 T *':+!3$0!=8+8,-!=E/*0"
N#!*'dC!=:!=6^("%./.
$'*213"%(*05>6
8"%:+!8H!=6
8H*'(*0Z>!p(+5;$0578+8:V"4(!p(+5gEJ*'dC!=:!=6^(!{S(!=6^(+8=N
u././$0*01="4(*05>6<8$0*0x>!`.
:5J1!#881576^(:+5>$>:+!=~^I/*0:+!`m3!=:5$'5^88:V"4(! T Q/*0$'!R"%./.
$'*213"%(*05>6
8$'*0x>!s,XI/$'(*0,-!=EJ*2"f13"%6i8HI
8H(+">*'69"13!3:(+"%*06i">,-5>I/6^(
5>L$0578+8U&:V"4(!7N
9Y| |) 4 zY)MV] _$05J1Vx^*06/?o./:+5>A<"%A/*0$'*'(U@r*28(+Q/!g.
:57A
"%A/*0$0*v(U@B5%L"o6/! T 15>6
6/!=1(*05>6*28:+! U!=1(!#EPA^@B(Q
!">E/,9*28+8H*05>6
135>6^(:+5>$y,-!=1VQ
">6/*28H, 5>Lz"96/!3( T 57:xyN
ORQ/!:+!=~^I/*0:+!3,-!36^(+85%L]EJ*vdy!3:+!36^(:+!=">$v&c(*0,-!"%././$0*213"4(+*'576
8 *'(Qo:+!=8.<!#1e((+5h(Q/!i"%AC54Z>! T 5^.
">:+">,9!3(!=:+8R,h"[@;AC!Z>!=:@EJ*'La&
LM!=:!=67(#Njn/57:_!3{/"%,-./$0!>l/1!=:H(V"%*06">././$0*01="4(*05>6<8_8I
1VQb">8_6/576J&c*06^(T !=:+"71e(*0Z>!(!=$'!=Z^*28*'576">6
E">I
EJ*05iA
:5^">E/1=">8H(*06/?X:+!=~^I/*0:!p8H(:+*'6/?7!36^(
AC5>I/6<E/8`576 U*'(H(!=:RA/IJ("%:+!,-5>:+!5>:_$'!#88`*'6<8H!=6
8H*'(*0Z>!(59EJ!3$2"[@>N} Q/!3:+!="783lS8!36
85>:_E/"4(V"./:+5J1!=8+8*'6/?*06" 
@^&cAS@^& T *':+!"%*0:+13:+"%La(`*28
I
8I
">$'$0@XZ7!3:+@i8!36
8*v(+*'Z7!R(5EJ!=$0"[@7l>*cN !7Nz5>6/$0@iEJ!=$0"[@J8z5>Lk8I/AJ&,-*'$0$0*08!=135>6
E/8j:+">6/?>!R*06h:!#1!3*0ZS*'6
?8H!=6
8H57:j8H*0?>6<"%$28]"%:+!">1313!3.J(V"%A/$0!>Nw6
135>6^(:V">8H(=l4(+:+"7EJ*'(*05>6
">$
157,9.
IJ(!=:`157,9,iI/6/*213"%(*05>6h"%./.
$'*213"%(*05>6
8j8I
1VQ;"78zW
$0!R(:V"%6
8HLM!3:#l>!=$'!#1e(:+5>6
*01R,h"%*0$cl7"%6<E-:!=,95>(!$05>?7*'6h"%:+!
6/576J&:!#"%$'&)(+*',-!"%.
./$'*213"%(*05>6
8=NzORQ/! T 5^9,-!3(:+*01=8]LM5>:_8HI<1VQ;"%././$0*213"4(+*'576
8`">:!Z7!3:+@iEJ*'dy!3:+!36^(`LM:+5>, T Q
"4( T !E/*08+1I
8+8!=E9LM5>:s:!#"%$'&
(+*',-!p"%././$0*213"4(+*'576
8=l^">6
E-(U@S./*213"%$0$0@-"[Z7!3:V"%?7!_.<">1Vx>!3(sEJ!=$0"[@h"%6<E;"[Z>!=:+">?>!R(Q
:57I/?>Q/.
IJ(_">:!135>6
8*2EJ!3:+!=Ekl^:V"4(Q
!3:j(+Q
"%6 T 57:+8H(H&w13"78H!
.
"71Vx>!3(_EJ!=$0"[@h57: 5>:V8U(&1=">8!R(Q/:+5>I
?>Q/./I/(=NjORQ/!#8H!p"%./.
$'*213"%(*05>6
8sQ
"[Z>!f"%$28H598U(+:*21e(R:+!3$0*0">A/*'$0*'(U@9:+!=~^I/*0:+!3,-!36^(+8_8*'6
13!f">6S@;15>:+:+I/.J&
(+*'576i5>L<.
">:H(V8z5%LC"fT EJ5J1I
,9!=6^(`13"%69,h"%x7!`(+Q/!R!36^(*0:!EJ5J13I/,-!36^(]I/6SI
8">A/$0!>Nw6
EJ!3!#EX,iI
1VQ95%L
(+Q/!157,-./$'!3{J*v(U@5>L
(Q
!R(:V">EJ*'(*05>6
">$
6/!3( T 57:x.
:5>(5J157$08]">:*28H!#8LM:57,(Q
!6/!3!#EXLM57:]$'5^88H&cLM:!=!_135>,-,XI/6
*01="4(*05>6-AC!( T !3!=69E/"%(+"%&c57:*0!36^(!#E6/576J&:!#"%$'&)(+*',-!"%./.
$'*213"%(*05>6
8=N
u6/5%(+Q/!3:6
5%(+">A/$0!;!{/"%,-./$0!h5%L"o8.<!#1*'W<1;8!3:+ZS*013!h:!#~7I
*':+!3,-!36^(5J1313I/:V8p*'6F1=">8!-5%LZS*0EJ!=5b(:V"%6
8,-*08+8*'576
83N *2EJ!35q(:V"%6
8H&
,-*288*'576
8p"%:+!iZ7!3:+@q8H!=6
8*v(+*'Z7!i(+5b.
">1Vx7!(p$'5^88!=8f8H*06
13!i(+Q/!=8!h8HQ
5 T I/.P">S8 
*21Vx>!=:+8f5>:p?7$'*'(+1VQ/!#8f5>6B(Q/!;EJ*28./$0"[@q8+1:+!3!=6|N ]57*013!
E/"%(+"i.
">1Vx7!(R8H*0m3!#8_">:!(Q/!=:!3LM5>:+!EJ!=$'*0AC!3:V"4(!=$'@hx7!3.J(8,-">$'$C(+5i,-*06/*',-*0m3!f(Q
!.
"71Vx>!3(*0m="4(+*'576gEJ!=$0"[@J8_"%6
E;(59$'*0,-*v(R(Q
!!3dC!#1e(5%L
.
"71Vx>!3($'5^88!=8=NORQ/!98U(V"%6
E
"%:VE $ , &AS@^(!X13!3$0$8*'m=!LM57:u] O 56
!( T 5>:+x;LM5>:f!{/">,9.
$'! T ">81VQ/578!36o.
:*0,h"%:+*'$0@gLM57:(+Q/!XAC!36
!W/(p5%L
(+Q/!Z>57*013!p">././$0*01="4(+*'576
83N








 



Version 2 CSE, IIT Kharagpur



 A M A 
  E A E 

(g*28;*0,-.<57:H(V"%6^(h(5G13"4(+!3?75>:+*'m=!b"D(+:+"%;1o8H57I/:+13!oA
">8!=E576*'(+8;(:V"4;1b?>!=6/!3:V"4(+*'576 1VQ
"%:V">1(!3:+*28U(+*01=83N JI
1VQ 13"4(+!3?75>:+*'m#"4(*05>6
AC!=135>,-!=8_6/!#1!=8+8+"%:+@-LM5>:_(Q/!p6/!3( 57:x9(+59AC!" ">:!5%L(Q/!13"%(!=?>5>:+*0!=8s5%L(+Q/!f(:V"4;1LM:57,EJ*'dC!=:!=67(85>I/:V1!#8jLM57:R*v(R(5-AC!"%A/$0!
(+5?>*0Z>!~^I
">$'*'(U@95%L|8H!=:ZS*21!?7I
"%:V"%T 6^(+!3!=8=NORQ/!(T :V"4;1?7!36/!=:+"%(!=E9AS@-"8H57I/:V1!1="%6hAC!13"%(!3?75>:+*'m=!=E9A
"78H!#E-5>6-(Q
!:V"4(!"4( T Q/*21VQ
E/"%(+"q">:!h?7!36/!=:+"%(!#EBAS@B(Q/!8H57I/:+13!-LM5>:X(:V"%6
8,-*08+8H*05>6P576K"b6/!( T 5>:+xyNbORQ
!hLM5>$0$'5 T *06/?q">:!-(+Q/:!=!;*0,9.C5>:(+">6^(i13"%(!3?75>:+*'!#8p5%L
(+:+"%h1(+Q
"4(">:!157,-,9576/$0@;!36
135>I/6^(+!3:+!=EkN
s4 K/i R(+:+"%h1g"%:+*08!=8iEJI/!(5Ps576
8H(+"%6^( _*'(-"4(!E/"4(V"q?7!36/!=:+"%(*05>6|N !f"4(V"o(+:+">6
8H,-*288*05>6*06^Z75>$0Z>!#EP*'6KQ<">E
:!#"%$'&)(+*',-!">././$0*01="4(*05>6<8"%:+!I
8I
"%$0$0@b R (:V"4;1>NRn
5>:!{/"%,-./$0!>l<.<!=:*05JEJ*01XE/"4(V"h?>!=6/!3:V"4(+!=EAS@8!36
85>:V8"%:+!!3{J">,-./$'!#8
5%Lj _ (+:+"%h1>N
s[ K/ R(+:+"%;1X">8(Q/!96
">,9!-8I/?>?7!=8H(+8135>6
8*28U(V85%L_EJ*vdy!3:+!36^(p:+"%(!#85%L_E/"4(V";?>!=6/!3:V"4(+*'576q"%6
Eo(:V"%6
8,-*08+8H*05>6q"%(
EJ*'dC!=:!=67(f(*0,-!=8=NXORQ/!=:!-"%:+!98!3Z7!3:V"%$(U@^.C!=8p5>L R 8H57I/:+13!=8=Nw6 R(:V"4;1>ly(Q/!hE/"%(+"8H57I/:+13!i">$v(+!3:+6
"4(+!=8A<!3( T !=!36
"-.<!=:*05JEb*'6 Q
*01VQbW/{J!#Eo8H*0m3!#Eb.
">1Vx7!(+8"%:+!?>!36
!3:V"4(!#E *v(+QrEJ!(+!3:+,-*'6/*28H(*218H.<">1*06/?;">6
Eo"%6b*2EJ$'!i.<!=:*05JEkNRw6q"%6/5>(Q/!=:
(U@S.<!5>L R(T :V"4;1%l
(Q/!X85>I
:+13!f.C!3:+*05SE/*01="%$0$'@8HI/A
,9*'(+8T Z4"%:+*0">A/$'!8*0m3!=E.
"71Vx>!3(+8R(+5-(Q/!6
!( T 5>:+xCNs5>,-./:+!=8+8H!#Eb"%I
EJ*05
8H*0?>6<"%$28j*28_">6;!{/">,9.
$'!5%L8I
1VQ R(:V"4;1%N]Os@S./*01="%$0$'@-*06135>,-./:+!=8+8H!#Eh"%I
EJ*05
l^(+5i:+!=EJI<1!(+Q/!p8H*0m3!5%LZ75>*21!(+:+"%;1%l^6/5
E/"4(V";*28?7!36/!=:+"%(!#EqEJI/:+*'6
?g.C!3:+*'5JE/85%Ls8*0$'!=6
1!7NpORQ
*08f:+!=8I/$v(V8*06r576J&5%d8H57I/:+13!=8 T Q/!3:+!W/{J!#Er8*'m=!=EqE/"%(+"*08?>!=6/!3:V"4(+!=E
EJI/:+*'6
?5>6.C!3:+*'5JE/8|">6
Ep6/5E/"%(+"*28k?7!36/!=:+"%(!=EpEJI
:*06/?*2EJ$0!j.<!=:*05JE/8=N|} Q/*0$'!_8H*0$'!=6
1!j8I/./.
:!#88*'57613"%6p./:+5JEJI
13!`8H*0?>6
*vW<1="%6^(
:!#EJI
1(*05>6
8*'6(+Q/!`A<"%6
E T *2ES(+Q:!#~^I/*':+!3,-!=67(V83l#(+Q/*08*28">1VQ
*'!=Z>!=E"%((+Q/!s13578H(5%L/Q
"[ZS*06/?(+5:!#1576
8U(+:I<1e(|(+Q/!`57:*0?>*06
"%$>(:V"4;1
"4(f(Q/!9:+!=1!=*'Z7!3:#Nu6/5>(Q/!=:!{/"%,-./$0!X5>L R(:V"4;1X*28p157,9.
:!#88!=EoZS*2EJ!35b8*'?76
"%$283N!#EJI/6
E
"%6
13@q*'6DEJ*0?>*'(*0m3!=EBZS*0E/!35
E/"4(V";*28fZ>!3:+@oQ/*0?>Q|N(*28(Q/!=:!3LM5>:+!X5%La(+!36P157,9.
:!#88!=EoI<8H*06/?b8HI
1VQD"%$0?>57:*'(Q/,h8f">8 5 ` 6 lyA<!3LM5>:+!iAC!3*06/?*'6^(:+5JEJI
13!=E
*'6^(+5(Q/!(:V"%6
8,-*08+8*'576h6/!( T 5>:+xyN(_8Q/57I/$0E;A<!f1$0!="%:`(Q
"%(sZ4"%:+*2"%A/$0!A/*'(_:V"4(+!(:V"%6
8,-*08+8*'5769*28s*'6^(!=6
EJ!#E-(5i,-">x>!AC!((!=:
I
8!f5>LA<"%6
E T *2ES(+Q*06o"%./.
$'*213"%(*05>6
8R8I
1VQ"78_(:V"%6
8,-*08+8*'5765>L157,-./:!#88!=EZS*0E/!35-5>:"%I<EJ*'5<N
`<[
) s4 K/pw68.<57:+"7EJ*01i(+:+"%h19Z4"%:+*2"%A/$0!98*0m3!=ED.
"71Vx>!3(+8p"%:+!-?>!36
!3:V"4(!#Eq*06PA/I/:V8U(V83N;S.C5>:V">EJ*21i(:V"4;195J131I
:I/6
EJ!=:
Z>!=:@h:V"%:+!f13*':V1I
,-8H(+">6
1!#83N]n
5>:!{/">,9.
$'!f(:V"4;1f?>!=6/!3:V"4(+!=EAS@g"%$2"%:+, ,-!=8+8">?>!=8_AC!3$05>6/?-(+59(Q/*2813"%(!=?>5>:+@>N
+C3 i oof]9 3 G
5q">6S@iQ
">:+E;:!#"%$'&)(+*',-!">././$0*01="4(*05>6<8s8I
1VQ;">8_"%I/(5>,h"%(!=E;,-">6SIJLY">1(I/:+*'6
?X8H@J8H(!=,-8=l^*'6
E/I
8U(+:*2"%$C./:+5J1!=8+8`135>6^(:+5>$C"%./.
$'*213"%(*05>6
8=l
Q/*0?>Q/&8.<!=!=EDE/"4(V""713~^I/*28H*'(*05>6P8@S8H(!=,h83lk!3(+1%Nh8.
"%6D"b8H,h"%$0$z?>!=5>?>:V"%.
Q/*01="%$z"%:+!="783Nw6P8I
1VQD8*'(I
"%(*05>6
8=l|$05S1="%$]"%:+!="6/!3( T 57:xJ8
)u8+I
8I
">$'$0@b(I/:+6D5>IJ(f(5A<!9(+Q/!-./:!3LM!3:+:!#Eq1VQ/57*013!XLM57:f6
!( 5>:+x^*06/?<Nfw6B(Q
!=8!98*v(+I
"4(+*'576
8=l|"EJ!#EJ*213"4(+!=EB.<57*'6^(&)(+5%&.<57*'6^(
6/!3( T 57:xh*28I
8I
">$'$0@gEJ*';1I/$'((5;EJ!=./$054@g"%6
E,h"%*06^(+"%*06b"%6
E*28"%$2T 8H5-6/5>(13578H(H&!dy!=1(*0Z>!>N
w6;"iuXl>(+Q/!3:+!*28s"X8H*06/?>$0!8Q
"%:+!=Eh1VQ<"%6/6/!=$<">6
E-5>6/$0@-5>6/!6/5JEJ!13">6h(:V"%6<8H,-*'(s"4(R"%6S@X(+*',-!7NzORQ
!/7> XJ Y34J=)<
.C5>$0*013@5%LX"K6
!( T 5>:+xGEJ!3(!3:+,-*'6
!=8 T Q/!36"F6/5JEJ!B1="%6 (+:+">6
8,9*'(g576 (Q/!P1VQ
">6/6/!3$cN ORQ/!B34/ =F =)<>Cy34<X.<57$'*21@
EJ!3(!=:,-*06/!=8sQ/5 $05>6/?(+Q/!f6/5JEJ!1="%6h(+:+">6
8H,-*'(=N]ORQ/!#8H!( 5i.<57$'*21*0!=8_"%:+!(57?>!3(Q/!=:_1="%$0$'!#E;/>7 i>Cy34<`=S[ k ">6
E
LM57:, (Q/!fST )>> Xi<y=[C #U; &R$2"[@>!=:]./:+5%T (5J135>$cNw6h5%(+Q/!3: T 57:+E/8=l%(+Q/!,-!=E/*0""71313!=8+8]15>6^(+:57$ 5quR]./:5>(5J157$
*06o"hu 15>6<8H*28U(V8R5%L( T 5h.
:5J1!#88!=8=]"%6o">1=1!#88">:A/*'(:V"4(+*'576.
:5J1!#88_(+Q
"4(E/!(!=:,-*06/!=8 T Q/!36o"-6/5JEJ!1="%6bI
8!p(Q/!X1VQ<"%6/6/!=$
">6
Eb"X(+:+">6
8,9*28+8H*05>6b15767(+:57$k./:+5S13!=8+8_(Q
"%(EJ!(+!3:+,-*'6/!#8RLM5>:Q
5 T $05>6/?h"96/5JEJ!X1="%6b15767(+*'6SI/!p(+5hI
8!(+Q/!X1VQ
">6/6/!=$)N _!LM57:! T !
EJ*28+1I
8+8`Q
5 T :+!=">$v&c(*0,-!157,-,XI/6/*213"%(*05>6g1="%6;AC!"71VQ/*0!3Z>!#E-*'6"Xul T !EJ*2813I
8+8`85>,-!A
"78H*21"78H.C!=1(+8_"%AC5>IJ(Ru8s(Q
"%(_"%:+!
13:I
13*0">$y(5-I/6
E/!3:V8U(V"%6
EJ*06/?-5>I
:8HI/A<8H!#~7I
!36^(EJ*08+1I<88*'576
8=N












 

 

 











 


 

 



 







  MSEF
M @B

ORQ/!=:!"%:+!( T 5X,-" U5>:_u"%:V1VQ/*'(!#1e(I


:!#8z(Q
"%(_">:!6
5>:+,-">$'$0@9I
8H!#EkN]ORQ/!=8!">:!(+Q/!fA/I
8_"%6
E9(+Q/!:+*06/?X"%:V1VQ/*'(!#1e(I
:!#8B8 : l . < N
ORQ/!#8H!( T 5i"%:V1VQ/*v(+!=1(I/:+!=8`I
8H!fEJ*'dC!=:!=67(">1=1!#88s15>6^(+:57$/(!#1VQ/6/*2~^I/!=8=Nz}B!W
:+8H(sA
:*0!
@hEJ*28+1I
8+8j(+Q/!=8!( T 5iu "%:V1VQ/*v(+!=1(I/:+!=8=l
">6
E8I/A
8!=~^I/!=6^($0@ T !pE/*08+1I
8+8_(Q
!">8+8H5J1*2"4(+!=E">1313!=8+815767(+:57$C(!=1VQ
6/*0~^I/!#83N
9 z #Sg4#M#S%=4 >]w6A/I<8U&A
">8!=Ep">:+1VQ/*'(!#1e(+I/:!#83l3(Q/!`6/5JEJ!=8"%:+!z135>6/6
!=1e(+!=Ef(+5R(Q/!s6/!( 5>:+x13">A/$0!]I
8H*06/?O_&w8Q
"%.C!=E
6/!3( T 57:xb*06^(!3:LY">13!i135>6/6/!#1e(+5>:V8"78f8Q/5 T 6q*06Bn*0?
Ni/NO!=:,-*06
"4(+*'6
?.C5>*06^(+8p"%:+!X./$2">13!=EB"4(p!=">1VQBT !36
Er5%Lj(+Q/!-6/!( T 5>:+xb13"%A
$'!7N



   

Version 2 CSE, IIT Kharagpur

n *'?7I/:+!/ju _I
8u:V1VQ/*'(!=1(I/:+!
ORQ/!=:!i*08p"8H*06/?>$0!i8Q
">:!#Eq1VQ
"%6
6/!3$LM5>: T Q/*21VQq(Q
!X(+:+">6
8H,-*'(H(+*'6/?6/5JEJ!=8p135>6^(!=6
EkNpORQ/!i,-5^8U(p15>,-,-5>6
$'@oI
8!=Eq./:5>(5J157$LM57:
"7131!#88`15>6^(+:57$J*'6-(+:+"7EJ*v(+*'576
"%$
A/I
8j6
!( T 5>:+xS8j*08z(+Q/!p_">::+*0!3:jS!36<8H4! 5qI/$v(+*'.
$'!fu1313!=8+8 T *'(Qs57$'$0*08*05>6 !!3(!#1e(*05>6qR 5qu +> !p
8 ;:1< N-w6BA
I
8p6/!( 5>:+xJ83l Q
!36B( 55>:,-5>:+!96/5JEJ!=8f(+:+">6
8H,-*'(.
">1Vx7!(+8p8*',iI/$'(+"%6
!35>I<8H$0@>ly(+Q/!3@q54Z7!3:+$0">.q*06B(+*',-!h"%6<Eq(+Q/!h:!3&
8I/$'(*06/?f8*0?>6
">$^?7!(VT 8?^"%:+A/$0T!=EkNzSI
1VT Qi">6X!=Z>!36^(z*08]1="%$0$'!#EX"f157$'$0*08*05>6|Nu135>$0$'*28*'576!36^(+">*'$28:!3(:V"%6
8,-*08+8*'5765%L/(+Q/!157::+I/.J(+!=EXE
"4(+"
N
w6R 5qu +7 !6/!( 5>:+xJ83ly"%6S@b6/5JEJ!-13"%6B"4("%6S@(*0,9!-8!36
8!X(+Q/!-1VQ
"%6/6
!3$(5bEJ!(+!3:+,9*06/! Q/!(+Q/!3:f(+Q/!91VQ<"%6/6/!=$*28f*0E/$'!7N
u6/5JEJ!(:V"%6
8,-*v(V8i"r.
T ">1Vx7!(i576/$0@D*'L*'(-8!36<8H!#8(+Q/!1VQ<"%6/6/!=$`(+5BAC!*0EJ$0!>N _IJ(#l](Q/*28-EJ5S!=8i6/5%T (-?>I<"%:V"%6^(!=!h(Q
"%(X(+Q/!3:+! T *0$0$
AC!i6
5135>$0$'*28H*05>6<83NS!3Z7!3:V"%$6/5JEJ!=8f,-*'?7Q^(p8!36
8!(+Q/!-1VQ
"%6/6
!3$(5A<!9*0E/$'!-"4(f(Q/!-8+"%,-!(+*',-!-*'6<8U(V"%6^(f">6
Er8H(+">:H((:V"%6
8,-*v((*06/?
8*',iI/$'(+"%6
!35>I<8H$0@>lS:+!=8I/$v(+*'6
?i*06"-157$'$0*28H*05>6|NzORQ/!f(:V"%6<8H,-*'(H(*06/?96/5JEJ!=8R1="%6">$085-EJ!(+!=1e("9157$'$0*08*05>6 T Q/!=6*'(5J131I
:+8=NORQ
!3:+!LM5>:+!
T576/Q/!>*0$0N]!(">:V:"%?76
!8,-.
:*v(57(.
*06/"%??^"4"p(*0.
5>"761Vx>EJ!!3(#$2"[l>@J"p8_6/*'5J6
EJ13:! !#T ">85>!fI/$2(E-Q/!1VQ/./!=:+1V5>xXA<LM"%5>A/:`*0$'"*'(U@h135>5%$0$'L]*281*'5757$'69$0*28H">*06
5>E 6
8=T N 57I/$0E9*0,-,9!#EJ*2"4(!=$'@-8H(5>.9(+:+">6
8H,-*'(H(+*'6/?<l>*'Lk*v(sE/!(!#1e(V8
j(Q/!=:6/!3(i*28h"ru8U(V"%6
E
"%:VEA
">8!=EF5>6 R 5qu +7 !">1=1!=8+8915>6^(+:57$)N !I/!(5D*v(V8-I/A/*2~7I
*v(U@7ljQ/*0?>QG8.C!3!=E|ls8*',-./$0*013*v(U@
">6
Eq$05 T 15^8U(#l|](+Q/!3:+6/!(pQ
"7854Z7!3:(Q/!9@>!#"%:V8!=,-!3:+?>!=EB">85>6/!-5>Lj(Q/!-,-578H(p./:!3LM!3:+:!#Equ./:5>(5J157$)N(*28f(Q/!=:!3LM5>:+!X6/5>(
8I/:+./:*28*'6/?;(Q
"%(f,h"%6S@o"4((!=,9./(+8fQ
"[Z>!XA<!=!36r,h"7EJ!X*06q(+Q/!i.<">8H((5EJ!=8*0?>6q./:+5%(+5J15>$28A<">8!=Eo576r](+Q/!3:+6/!(f(58HI
./.<57:H(f:!#"%$'&
(+*',-!;157,-,XI/6/*213"%(*05>6|N;5 T !=Z>!=:=ly(+Q/!;$05>?>*213">$z:*06/?o"%:V1VQ/*'(!=1(I/:+!-.<5^88!=8+8!=8p8H*0?>6
*vW<1="%6^(">EJZ4">67(V"%?7!=8p54Z>!=:](Q
!3:+6/!(EJI/!-(+5
*'(+8X*'6/Q
!3:+!36^(iEJ!3(!3:+,-*'6
*08H(*21;">1=1!#88">:A
*v(+:+"%(*05>6P,-!=1VQ
">6/*08, *'6K135>6^(:V">8H((5o(+Q/!g135>$0$'*28H*05>6PA
"78H!#EP,-!=1VQ
">6/*08,t5>L](Q
!3:+6/!(#N
n
5>:9!{/"%,-./$0!>l]*06F](+Q/!3:+6/!3(X(Q
!EJ!=$0"[@P*06K,-!=8+8">?>!h(+:+">6
8,9*28+8H*05>6*06
1:+!="78H!#8X"78(+Q/!g(+:+"%;1h*'6<1:+!=">8!=8=N 6
EJ!=:iQ/*0?>QF(:V"4;1
8*v(+I
"4(+*'576
8=lS(Q/!p(+Q/:57I/?>Q
./IJ("%6<Eg,h"4{J*0,XI/,EJ!3$2"[@g"%$0,-578H(A<!#15>,-!I/6<">1313!3.J(V"%A/$0!>N
Y i #S g[[M#^>=4 7bu:+*'6
?%&A
">8!=EP"%:V1VQ/*'(!#1e(I
:!hQ
"78i8+1VQ/!=,-"%(*213">$'$0@rAC!3!=6F8HQ
5 6*'6n*0?
N V Nqw6Fn*0?
N V l]"%6
,iI/$v(+*08H(+"%(*05>6q"7131!#88RI
6/*v(- 5r/u *28"-QSI/Ao57:1576
1!=6^(:V"4(57:R(Q
"%(1576/6/!#1e(+8"h?>:+5>I/.5%Lj135>T ,-./IJ(+!3:V8Y>6/5JEJ!=8+-*'6o6
!( T 5>:+x
(+!3:+,9*06/57$'57?>@/z(+59"9O57x>!=6*06/?9$'5J13">$k"%:+!="6
!( T 5>:+xCNw6"i:+*'6/?>&cA<">8!=E;">:+1VQ/*'(!#1e(+I/:!7l^(Q/!f6/5JEJ!=8R">:!p"%:+:+">6/?>!#E-*'6b"i:*06/?i">6
E
(+Q/!g6/5JEJ!#8(+:+">6
8H,-*'(X*06P(I/:+6I
8I
"%$0$'@BLM5>:91!=:H(V"%*06./:!#EJ!(+!3:+,-*'6/!#EP.<!=:*05JE/85>L(*0,9!7NqORQ/!3:+!LM57:!7l(+Q/!h(+:+">6
8H,-*288*05>6EJ!3$2"[@J8
">:!./:+!=EJ*21e(V"%A/$0!o"%6
EG13"%6AC!,h"7EJ!o8HIJ;13*'!=67(+$'@G8H,h"%$0$">89.C!3:h:+!=~^I/*0:!=,-!36^(=NORQ/!3:+!LM57:!7ls">8-">$':+!="7EJ@P,9!=6^(*05>6/!#EF!#"%:+$'*0!3:#l
:+*'6
?%&A
">8!=E"%:V1VQ/*v(+!=1(I/:+!=8R"%:+!p5%La(+!36b./:+!LM!3:+:+!=E;*06b:!#"%$'&)(+*',-!"%.
./$'*213"%(*05>6
8=N
5 !=Z>!3:#l7(Q/!p:+*'6/?-"%:V1VQ/*'(!#1e(I
:!f8HIJdy!3:V8sLM:57,"XLM! *0,-.<57:H(V"%6^(./:+5>A/$0!3,h8=Nzn*0:+8H(=lJ">6^@hA
:!#"%xh*06g(+Q/!p:*06/?-13"%6A/:+*'6
?X(+Q/!
QT /57$'!gT 6/!( T 5>:+xBEJ5 T 6NbORQ
*08i,h"%x>!#8:+!3$0*0">A/*'$0*'(U@B5>LR:+*06/T ?o6/!( T 5>:+xJ8"o,h" U57:X1576
1!=:6Nbn
I/:(Q/!=:=lz:+*'6/?r*08i"o.<5S57:W/((+5q(+Q/!
$0*'6
!="%:R(+5>.C5>$05>?7@h6/5>:+,h"%$0$'@hLM57I/6
E*06,-5^8U(">8+8!3,XA
$'@;$0*06/!=8">6
E5%(Q
!3:"%.
./$'*213"%(*05>6
8=NjORQ/*28R,h">EJ!:+!=8!=">:+1VQ/!=:+8`(5-$05S5>xhLM57:"%6
">$v(+!3:+6
"4(+*'Z7!(!#1VQ/6/5>$05>?7@ Q
*01VQg1="%6;Q<"[Z>!(+Q/!"7EJZ4"%6^(+">?>!5>LAC5%(QgA/I
8R"%6
E;:*06/?i">:+1VQ
*v(+!=1e(+I/:+!>NzORQ/*08s$0!=Eh(+5(+Q/!fE/!3Z>!=$'57./,-!36^(
5>Lj(Q/!i(57x>!=6qA/I
8p"%:V1VQ/*'(T !#1e(I
:!7Npu (57x>!=6qA/I
8p"%:V1VQ/*'(!#1e(I
:!i*08f"gA
I
8fA
">8!=Eq">:+1VQ
*v(+!=1e(+I/:+!>l T Q/!3:+!X(+Q/!-8U(V"4(*05>6<8576q(Q
!iA/I<8
">:!9$'57?>*213">$'$0@q"%:+:+">6/?>!#Eb*'6":*06/? T *'(QD!=">1VQD8U(V"4(+*'576BxS6/5 T *06/?(Q/!h">E
EJ:!#88f5>L`(Q
!;8U(V"4(*05>6r(5b*'(+8%$0!La(Vb"%6
ED%:+*'?7Q^(+r)8H!=!
n*0?
N $^N
} Q/!=6(Q/!B$'57?>*213">$:*06/?K*28;*06/*'(*2"%$0*'m=!=EklR(+Q/!rQ
*'?7Q/!=8H(g6SI/,XAC!3:+!=E 8H(+"%(*05>6 ?7!(+8"K1VQ
">6
1!b(+5K*'6
*v(+*0"%(!r*'(+8;(:V"%6
8,-*08+8*'576|N
uLa(!3:135>,-./$0!(+*'6/?9(+:+">6
8H,-*288*05>6hLM57:R"9./:+!=E/!(!=:,-*06/!=E;(*0,-!>lJ(+Q/!8U(V"4(*05>6.
">8+8!=8s(Q/!fLM:V"%,-!f(:V"%6
8,-*08+8*'576;.<!=:,-*288*05>6;(+5-*v(V8
*0,-,9!#EJ*2"4(!M$0!La(57::+*'?7Q7("78.C!3:(+Q/!X135>6SZ>!=67(+*'576o">EJ57.J(!#E
R6/!=*'?7Q^AC5>:AS@b8H!=6
EJ*06/?g"h8.<!#1*2"%$15>6^(+:57$yLM:+">,9!i13"%$0$0!=Eb"-(57x>!=6|N


  



Version 2 CSE, IIT Kharagpur

Legend:
MSAU: Multistation Access Unit

MSAU

MSAU
MSAU

MSAU

MSAU

n *0?>I
:! V ju*'6/?hu:+1VQ/*'(!#1e(+I/:!
ORQ/!i(57x>!=6o./:57.
"%?^"4(+!=8">:57I/6
E(+Q/!i$05>?7*01="%$:*06/?
Npu_("%6S@g(+*',-!95>6/$0@(Q/!i(57x>!=6qQ/5>$2EJ!=:*28.C!3:+,-*v((!#Eo(5g(:V"%6
8,-*v(fLM:V"%,-!=8=N
S*06
13!5>6/$0@g576/!8H(+"4(+*'576o"4("9(+*',-!Q/57$0E
8R(Q/!(5>x7!36b*06q"-:*06/?h6/!3( 57:xyl
135>$0$'*28H*05>6<813"%6b6/5>(5J1313I/:=N_u6o*0,-.<57:H(V"%6^(.<57*'6^((+5
:+!=">$'*0m3!p*28(Q<"4((+Q/!./QS@J8H*213">$k5>:VEJ!3:*'6 T Q/*21VQb(Q/!i8U(V"4(*05>6<8"%:+!15>6
T 6/!=1(!=E(+5-(Q/!i13"%A
$'!*286/5>(*',-.C5>:(+">67(#N_ORQ
*08*28AC!=1="%I
8!
(+Q/!13"%A
$'!*08_*06/Q/!3:+!36^(+$'@;"iA/:+57">E
13">8H(`,-!=E/*'I/,blJ!#">1VQ8H(+"%(*05>6;:+!=13!3*0Z>!#8`!=Z>!3:+@9LM:+">,-!(:V"%6<8H,-*'(H(!#Ekl/EJ*281="%:VEJ*06/?(+Q/578!(+Q
"4("%:+!
6/5>(p"7E/EJ:+!=8+8H!#Eb(5b*'(=N} Q
!36P"8H(+"%(*05>6r.<">8+8H!#8(+Q/!9(5>x7!36|lk*'(p(:V"%6
8,-*v(V8"8.<!#1*2"%$(57x>!36rLM:+">,-!>l|8.<!#1*'W<13">$'$0@q">E/E/:!#88!=Eb(+5
*'(+8$05>?7*01="%$k6/!=*'?7QSA<57:*'6(Q
!:*06/?
lJ*0:+:!#8H.C!=1(*0Z>!p5%L T Q/!3:+!f(Q
"%(8H(+"4(+*'576*28./QS@J8*01="%$0$'@;$05J13"%(!=E576g(+Q/!X13">A/$0!>N](*28"%$28H5 T 5>:(Q
6/5>(*06/?;(+Q
"4(p,h"%6S@o8U(V"4(+*'576
8576o(Q/!96/!3( T 57:x,h"[@6
5%(AC!96/5%(p*'6q(Q/!9:*06/?DaLM5>:f!>N ?
Np8H(+"4(+*'576
8 7 l (h*'6r(Q/!-n*'?<N $SeNpORQ/!
5qu./:+5%(+5S135>$k"%$2859.
:54ZS*2EJ!=8sLM5>:"7E/EJ*06/?h8U(V"4(+*'576
8_(5<l/"%6
E:+!3,-54ZS*'6/?-8H(+"4(+*'576
8_LM:+5>, (+Q/!$'57?>*213">$C:+*06/?
N

Logical Ring

Node not in the ring

n*0?>I/:+!
$ ]|57?>*213"%$k*06/?h*06o"9O5>x7!36 _I
8


X [+C3 i oof]93 G
S5>La(:+!=">$v&c(*0,-!X157,9,iI/6/*213"%(*05>6r1="%6oAC!iI
8!=Eo(5g8I/./.C5>:(f85%La(f:!#"%$'&)(+*',-!X">././$0*01="4(*05>6<8*06B";u 8 ,;< NfJ5%La(p:!#"%$'&)(+*',-!X135>,9&
,iI/6/*213"4(+*'576h6/!( T 5>:+xJ8]"%:+!6/5%(s!{J.<!#1e(+!=E-(+5./:+54Z^*2EJ!">6^@9"%A
85>$0IJ(+! T 5^9?>I<"%:V"%6^(!=!=8(5(Q/!">././$0*01="4(+*'576
83NzORQ/!=@i576/$'@9!36<8HI/:+!
./:+*05>:+*v(+*'m=!=Eh(+:!#"4(+,9!=6^(LM5>:R:!#"%$'&)(+*',-!p,-!=8+8">?>!#8_85i(Q
"%((Q/!,-!=8+8+"%?>!fEJ!="7EJ$0*'6/!,-*288R:V"4(+*'5baLM57::!#"%$'&)(+*',-!p,-!=8+8">?>!#8+s13">6AC!
x7!3.J(R(5;"9,-*06/*',iI/,">6
E(Q/!:+!=">$v&c(*0,-!p,9!#88+"%?7!=8R13">6AC!./:+54ZS*0EJ!#Eg8H(+"%(*28U(+*01="%$k?>I<"%:V"%6^(!=!=8_5>6bEJ!3$2"[@;AC5>I/6<E/83N




Version 2 CSE, IIT Kharagpur

S5>La(j:!#"%$'&)(+*',-!R./:+5%(+5S135>$28zI
8I
"%$0$'@i">8+8HI/,-!_(Q<"4(`AC5%(+Q-85%La(j:+!=">$v&c(*0,-!"%6
E96/5769:+!=">$v&c(*0,-!R,9!#88+"%?7!=8 5>I/$2E9A<!R(+:+">6
8H,-*'(H(+!=E
54Z7!3:R(Q
!6/!( T 5>:+xyNsS5>La(:!#"%$'&)(+*',-!p(+:+"%h1p*28I
8I
">$'$0@"788I/,-!=E(5hAC!,h">E/!I/.o5%L` R"%6
E _85>T I
:+13!=8=NsS5%La(:!#"%$'&)(+*',-!
,-!=8+8+"%?>!X:+"%(!=8f"%:+!X"788I/,-!=Eb(+5gAC!iZ7!3:+@b$'5 T 157,-.
"%:+!=Eb(+5;(+Q/!91VQ<"%6/6/!=$1="%.
"71*'(U@>Nf5>6B:!#"%$'&)(+*',-!i,9!#88+"%?7!=8">::+*0Z>!X">.<!=:*'&
5JEJ*213">$'$0@*06oA/I/:V8H(+8=Nw6q./:+!=8!36
13!5%LjA/I/:V8H(+8=l
*'(AC!=157,-!=8Z7!3:+@EJ*';1I/$'(f(5g8I
8H(+"%*06b(Q
!X?>I<"%:V"%6^(!=!=8_(5;(Q/!i:!#"%$'&)(+*',-!(+:+"%h1>N
ORQ/!=:!3LM5>:+!>l^(Q
!fA
I/:+8H(+8_6/!=!=Eg(59A<!8,-5^5>(Q/!#E;LM57:8HI
8H(+">*'6
*'6/?i(Q
!p8H(+"%(*28U(+*01="%$y?>I<"%:V"%6^(!=!=8s5>6E/!=">E/$'*06/!pA<57I/6
E/8_LM57:R:!#"%$'&)(+*',-!
,-!=8+8+"%?>!#8s(5-Q/5>$2EkN
!35769">6
E;SQ/*06;EJ!3Z7!3$05>.C!=Eh"fW/{J!#ES&c:V"4(+!R(:V"4;1e&w8,95S5>(Q/*06/?"%$0?>57:*'(Q/,bNzORQ/*28`"%$0?>57:*'(Q
, *28]A
">8!=E-5769(Q/!6
!( 5>:+x *2EJ!
(+:+">6
8H,-T *288*05>6P$'*0,-*v(V83Nqn
:57,t(+Q/!;(+:+">6
8,9*28+8H*05>6D$'*0,-*v(V83lz(+Q/!;*06/./IJ(9$'*0,-*v(iLM5>:i!=">1VQ6
5SE/!;*'6P(+Q/!8@J8U(+!3, T "78EJ!=:*0T Z>!#EkNoT ORQ/!
(+:+"%h18H,-5S5%(+Q/!3:#l T Q/*21VQF*289./$0"71!#EA<!3( T !=!36F(Q/! 5qu$2"[@>!=:i"%6<EKO J+4 $2"[@>!3:#l]8H,-5S5%(+Q
89"q6/576J&c:+!=">$v&c(*0,-!8H(:+!=">,85
(+Q
"4(R?>I
">:+">6^(!3!#8z(5i:!#"%$'&)(+*',-!,-!#88+"%?7!=8j*28s6/5%(_A<!fZS*'57$0"%(!=E|NORQ/!(:V"4;1&8,-5^5>(Q/*06/?135>6
13!3.J(_*08R"!="%xS@ _I
1Vx>!3(s"%$0?>57:*'(Q
,
1="%$0$'!#Eg">8s:+!=EJ*'( _I
1Vx>!3( !!3.J(+Qc !fNJ(Q
">8s( T 5i.
">:+">,-!(!=:+8 !"%6
E!3LM:!#8HQ z!3:+*'5JEq) sN/ORQ/!=8!f( T 59.
"%:V"%,-!3(!3:V8
">:!-W/{J!#ED8H(+"%(*213">$'$0@>Nq ! *28(Q
!;,h"4{J*',iI/,t6SI/,iA<!=:X5>LR13:!#EJ*v(V8(+Q
"4(i">:!h"7E/EJ!=ED(+5b(Q/!A/I
1Vx7!(X"4(!=Z>!=:@B:!3LM:!#8HQ|N(X*28
">$085o(Q
!g,h"4{J*0,XI/,6SI/,XAC!3:95%L13:!#EJ*'(+8(+Q
"4(h"oA/I<1Vx>!(-13">6KQ/5>$2EkND *28(+Q/!:+!LM:+!=8Q.C!3:+*'5JE *'(Q Q
*01VQ(+Q/!A/I
1Vx>!3(X*28
:+!3./$0!36
*08Q/!=E T *'(Q6/! T 1:+!=EJ*'(+8=N]ORQ/!p:+"%(*05h ! +4 *28`(+Q/!"[Z>!=:+">?>!?7I
"%:V"%6^(+!3!=Eh(Q/:+5>I/?7Q/./IJ(RLM57T:_6
5>6J&T :!#"%$'&)(+*',-!f,-!=8+8">?>!=8=N
ORQ/!6SI/,iA<!=:5>Lz13:!#EJ*v(V8*06b(Q/!A/I<1Vx>!(*28E/!36/5>(!=Eb"78R(Q/!i1I/:+:!=6^(R6
!( T 5>:+xg8HQ<"%:+!;c_
eN
} Q
!36b(Q
!6SI/,XAC!3:5>Lz"[Z4">*'$2"%A/$0!
13:!#EJ*v(V8]*28].<5^8H*'(*0Z>!7l>A/I/(`*08`8H,h"%$0$0!3:z(Q<"%6-(Q
!R(Q/!8*0m3!5%Lk"p,-!=8+8">?>!_(5AC!(+:+">6
8H,-*'(H(+!=Ekl^1:+!=EJ*'(+8j">:!">$'$05 T !#E(+5A<!A<57::+5 T !#EkN
S5<l(+Q/!hA
">$0">6
1!h5>LR13:!#EJ*v(V813">6PA<!#15>,-!;6
!3?7"%(*0Z>!h"4(X">6S@q(*0,-!>NbORQ/!_D,h"[@BA<!#15>,-!h6/!=?7"%(*0Z>!-*vL13:!#EJ*v(V8Q
"[Z7!hA<!=!36
AC5>:+:5 T !=E|Nsu_(!=Z>!=:@:!3LM:!#8HQ|l/(Q/!i6^I
,XAC!3:5>Lj1:+!=EJ*'(+8*'6b(+Q/!XA/I<1Vx>!(X_/*28I/.yE/"4(+!=Eo"78LM5>$0$05 T 83_  ,-*'6F_ 
!ilC !fN<ORQ
"%(R*28=lC !"%,-5>I
67(5>L13:!#EJ*v(V8"%:+!p:!=./$0!36/*28HQ
!=Ekl/8I/A U!#1e((5-(+Q/!$0*',-*'((Q
"%(f_EJ5S!=8R6
5%(!{/13!3!=Eq !iN
} Q/!=6B"g6/5>6J&:+!="%$'&c(*0,9!X,9!#88+"%?7!i">::+*'Z7!=8RLM:+5>, (+Q/!9O +[ j&c$2"[@>!=:=lJ(+Q/!-8H,-5S5%(+Q/*'6
?g,-!=1VQ
">6/*28H,13">::+*0!=857IJ((+Q/!iLM5>$0$'5 T *06/?
8H(!=.
83


 
















 

> 



      !#"%$& (' )(*  +,-.


/0 (1 !2"%$& ('( )*  +., -3-4(5.768 - 4(39(  !. 0 /
  $:  !;8 )-) $<=.78 $
4(8.> :  !?@$'&.. );&$- >A   

ORQ/!EJ*28"7EJZ4"%6^(+">?>!;5>L(Q/!W/{J!=ES&:V"4(!;(:V"4;1g8,-5^5>(Q/*06/?o(+!=1VQ/6
*0~^I/!*08X(Q<"4(i*'(-*08i6/5%(9Z>!=:@)
!3{S*0A/$0!"78(Q
!6/!3( 57:x *2EJ!
*06/./IJ(p$0*',-*'(*28W/{J!#Eo5>6
13!(Q
!9EJ!=$0"[@:+!=~^I/*0:!=,9!=6^(+85>Lz(Q/!9:!#"%$'&)(+*',-!,-!#88+"%?7!=8">:!xS6/5 T 6NORQ/!(+:+">6
8,9*28+8H*05>6o:VT "4(+!5%L]T (+Q/!
6/576J&:!#"%$'&)(+*',-!s85>I
:+13!=8|*28$'*0,-*v(+!=E9"%6
EX?>!3(+8:!#EJI
13!=EX"78|(+Q/!R6SI/,XAC!3:z5%L<6/5JEJ!=8*06
1:+!="78H!#8|5>6X(Q/!uN4ORQ/!=:!3LM5>:+!>l4"%6i*'6<1:+!=">8!
*06g(+Q/!p6SI/,XAC!3:R5%Lz8U(V"4(+*'576
83lS$0!="7E/8s(5-"9E/!=1:+!="78H!*'6b8H(+"4(+*'576;(+:+"%h1?>!=6/!3:V"4(+*'576
8s$'*0,-*v(V83NjORQ/*28R8HQ
5 T 8sI
."78_"9157::+!=8.C5>6
EJ*06/?
EJ!#1:+!="78H!*'6g(Q/:+5>I/?7Q/./IJ(R5%L6/5>6J&:+!="%$'&c(*0,9!(:V"4;1%N(*08R">$085XZ7!3:+@9.C!=8+8*',-*28U(+*01f8H*06
13!*'(_*28_A
">8!=Eg5>6 57:+8H(H&w13"78H!1="%$21I/$2"4(+*'576
8
576B(+Q/!h(+5%(+">$](:V"4;1h">::+*'Z4">$:V"4(+!=8*06D(Q/!8H@J8H(!3,bBN T !=5>6P"%6
ESQ/*06Q
"[Z7!9.
:57.<5^8H!#EB">6P"7E/"%./(*0Z>!-T (:V"4;1-8,95S5>(Q/!=:(Q
"%(
"7E/EJ:+!=8+8H!#8`(+Q/!8Q/5>:(+135>,-*'6
?78_5%L(Q/!i !">$'?75>:+*v(+Q/,$8 * < N
 =D C< s[ K K|<=YRw6q57:+EJ!=:(5g./:54ZS*2EJ!"h:+!="78H576
"%A/$0!f(Q/:+5>I
?>Q/./I/(LM5>:6/5>6/&c:+!=">$v&c(*0,-!,9!#88+"%?7!=8=lJ(Q
!X6/576J&
:+!=">$v&c(*0,-!(+:+"%;1e&?>!36
!3:V"4(*05>6F:+"%(!o13">6GAC!q"%$0$'5 T !=EF(5"7E/"%.J(h*'(+8!3$'Lp(5D(Q/!oI
6
EJ!3:+$0@^*06/?P6/!3( T 57:xK$057"7EG135>6
E/*v(+*'576
83N ORQ
"%(
*283lj(Q/!b6/5JEJ!#89">:!"%$0$'5 T !=ED(+5B*06
13:!#">8!;(Q
!3*0:i(+:+">6
8,9*28+8H*05>6K$0*0,9*'(+8=l`*'L(+Q/!bIJ(*0$'*0m="%(*05>6G5%L(+Q/!A
I
8-*089$05 T NF\6K(Q
!5>(Q/!=:
Q
">6
Ekl Q/!=6;(Q
!IJ(+*'$0*0m="4(+*'576g5>L|(Q/!fA/I
8sAC!=157,-!=8_Q/*0?>Q|l^(Q
!6/5JEJ!#8s(:V"%6
8,-*v((*06/?X6/576J&:!#"%$'&)(+*',-!,-!=8+8+"%?>!#8jQ
"[Z7!(+59EJ!#1:+!="78H!
(+Q/!3*0:h(T :V"%6<8H,-*288*'576$'*0,-*v(V83Nw6 5>:VEJ!3:-(+5*',-./$0!3,-!=67("%6 ">E/">.J(*0Z>!3&c:V"4(+!(:V"4;1o8H,-5S5%(+Q/!3: T Q/*01VQ T 5>I/$2E,-!3!(g(Q/!rE/!3$2"[@
:+!=~^I/*0:!=,-!36^(+895%Lf:!#"%$'&)(+*',-!.
">1Vx7!(V83l_"%6
EG"4(-(Q/!q8+"%,-!(*0,-!o./:54ZS*2EJ!*',-./:+54Z>!#EF"[Z>!=:+">?>!h(+Q/:+5>I/?7Q/./IJ(-LM5>:-6/576J&:!#"%$'&)(+*',-!
.
"71Vx>!3(+8=l7(+Q/!pLM5>$0$05 T *'6/?9( T 5-./:57A/$0!3,h8R,XI
8H(A<!:+!=85>$0Z>!#Ek
E 5 T (5hEJ!(+!=1("91VQ<"%6/?7!f*06b6/!( T 5>:+xhIJ(+*'$0*'m#"4(+*'576 F
E 5 T (5h">E/">.J(R(Q/!p(+:+">6
8,9*28+8H*05>6$'*0,-*v(V8R(5h"-EJ!3(!=1(!#E1VQ<"%6/?7G! F
ORQ/!8H57$'IJ(+*'576D(Q
"%(XQ
">8XA<!=!36./:+5>.C578!=ED*28(+Q
"4((+Q/!;6SI/,iA<!=:X5%L135>$0$'*28H*05>6<8.<!=:I/6/*'(X(+*',-!13"%6PAC!;I
8!=E"78X"b,-!="78HI/:+!
5>Lj6/!( T 5>:+xgIJ(+*'$0*0m="4(+*'576|NORQ
*08*08"g8*',-./$0!i">6
Eo"%.
./:5[{J*0,h"4(! T "[@(5E/!(!=:,-*06/!X6
!( T 5>:+xgIJ(+*'$0*'m#"4(+*'576r"4(p"%6S@g(+*',-!7Nw6o(+Q/!



Version 2 CSE, IIT Kharagpur

!=Z>!36^(_5%L"X135>$0$'*28*'576|l>(+Q/!p1:+!=EJ*'(sA/I<1Vx>!(_*08s*0,9,-!#EJ*0"%(!=$'@-!3,-.J(+*'!#Eg1="%I
8*'6
?i8I
8H.C!36<8H*05>6;5>L|6/5>6/&c:+!=">$v&c(*0,-!.
">1Vx7!(V83l7!{/1!=.J(sLM57:
(+Q/578!p.
">1Vx7!(+8R">$':+!="7EJ@hI/6
EJ!=:R(:V"%6
8,-*08+8*'576|NORQ
*08R*06
1:+!="78H!#8s(Q/!1VQ
">6
1!(5hEJ!=$'*0Z>!=:_(Q/!:+!=">$v&c(*0,-!.
"71Vx>!3(+8_?>!=6/!3:V"4(+!=EhLM:+5>,
5>(Q/!=:s6/5JEJ!#8R8H5S5>6
!3:#l^">6
Eh./:+!3Z7!36^(_EJ!=$0"[@J8_13">I
8H!#EhAS@-A/I/:V8U(V8s5>L|6/5>6/&c:+!=">$v&c(*0,-!.
"71Vx>!(V8j?7!36/!=:+"%(!=EhLM:57, (+Q/*28s6
5SE/!>Njn/57:`(+Q/*28
:+!="78H576|lS.
">1Vx7!(157$'$0*08*05>6g*28I
8!=E">8"9(+:*0?>?7!3:s(5;EJ!#1:+!="78H!(Q/:+5>I
?>Q/57IJ(">8 T !3$0$|">8_(5;E/!3./$0!(+!p(Q/!13I/::+!36^(1:+!=EJ*'(+8=N
ORQ/!f8U(V"4(+*'576;*'6
./IJ($'*0,-*v( ! +% F1="%6;AC!p">E/">.J(!#EhAS@9!=*v(+Q/!3:1VQ
">6/?>*06/?(+Q/! ! 5>:s(Q
!f F.
"%:V"%,-!3(!3:#NzORQ/!8H(+"%(*05>6
*06/./IJ(j$0*0,9*'(`*28z*'6<1:+!=">8!=Ei.C!3:+*'5JEJ*213">$'$0@AS@XEJ!#1:+!=">8*06/?f P.<!=:*05JEJ*01="%$0$'@XA^@i"W
{S!#E96^I
,XAC!3:#l%*vLy(+Q/!3:+!RQ
">8z6/5>(jA<!=!36h"%6S@:+!=13!36^(
135>$0$'*28H*05>6Nz\LC135>I/:V8!>l4(+Q/!R$'5 T !3:zAC5>I/6
E95>LC D*28W/{J!=EiA^@i8H57,9!R./:+!=E/!W
6/!#EXZ4">$'I/! `,-*'6|N} Q/!=6-"p135>$0$'*28H*05>6i*08]E/!(!#1e(+!=Ekl^"%$0$
13:!#EJ*v(]A/I<1Vx>!(V8]"%:+!_E/!3./$0!(+!=E-"%6
E9 D*28jEJ5>I
A/$'!#EkNzORQ/!RI/./.C!3:jAC5>I/6<Ei5>LC D*28W/{J!=E9AS@X"p1!=:H(V"%*06X./:+!=EJ!3W
6/!#EiZ4">$'I/! `,h"4{kN
ORQ/!!3{J.<!=:*0,-!36^(+">$:+!=8I/$v(V8Q
"[Z7!8HQ/5 6(+Q
"4(AS@I
8*'6/?-(+Q/!X"7E/"%.J(+*'Z7!p(:V"4;18,-5^5>(Q/*06/?;8+1VQ/!3,-!p(+Q/!X,-!=8+8+"%?>!EJ!#">EJ$0*06/!
,-*288:V"4(+*'5^8aLM57::!#"%$'&)(+*',-!p,-!=8+8">?>!=8V_13">T 6AC!x>!=.J( T !3$0$|I/6
EJ!=:(Q
!,9*0$0$'*8!=135>6
E
8:+">6/?>!LM5>:"%6S@g"%:+A/*'(:V"%:+@;"%:+:*0Z4"%$y:V"4(!pLM57:
(+Q/!6/576J&c:+!=">$y(*0,-!,-!=8+8">?>!=8=N`ORQ/*28(+!=1VQ/6
*0~^I/!(+Q/5>I
?>Qb!;1*0!36^(LY">*'$28R(+5;./:+54Z^*2EJ!EJ!3(!3:+,-*'6
*08H(*21:+!="%$'&c(*0,9!135>,-,XI
6/*01="4(+*'576|N
!36
13!*v(*288HI
*v(V"%A/$0!5>6/$0@hLM57:8H5>La(:!#"%$'&)(+*',-!p8H@J8H(!3,h8">6
Eb13"%66/5>(8HI/.
.<57:H(Q
">:+E:!#"%$'&)(+*',-!157,-,XI/6/*213"%(*05>6|N
  +C3 i oof]9 3 G
}D!;Q
"7EEJ*08+1I<88!=EP8!3Z>!=:+">$]!{/"%,-./$0!;"%.
./$'*213"%(*05>6
8*'6FS!#1e(+*'576 = N l|LM57: T Q/*21VQPQ
"%:VED:!#"%$'&)(+*',-!;135>,-,XI/6
*01="4(*05>6P*06K"qu
!=6^ZS*0:576/,-!36^(i*28i6/!=13!=8+8">:@7ND"%:VE:!#"%$'&)(+*',-!"%././$0*213"4(+*'576
8i5%La(!=6F*06SZ>5>$0Z>!;(:V"%6
8,-*08+8H*05>6F5%Lp R(+:+"%h18I
1VQF">8i.C!3:+*'5JEJ*21
8!36
85>:8*0?>6
">$08=Nw6Q<"%:VEB:+!=">$v&c(*0,-!;"%./.
$'*213"%(*05>6
8=lEJ!3(!=:,-*06/*08H(*21h./:+!=E/*01(+"%A
*'$0*v(U@D5%L6/!3( 57:xBEJ!3$2"[@q(V"%x>!#8./:+!=13!=EJ!=6
1!h54Z7!3:
6/!3( T 57:x-IJ(+*'$0*0m="4(+*'576"78H.C!=1(+8=Nz5 T !=Z>!=:=l>(59*',-./:+54Z>!(Q/!f6/!( T 5>:+x-IJ(*0$0*'m#"4(*05>6lJ5%La(!=685%LaT ("%6
Eg6/5>6/&c:+!=">$v&c(*0,-!(:V"%6<8H,-*288*'576
8
">:!"%$0$05 T !#Eh(5-AC!p(:V"%6
8,-*v((!#E*06(Q/5^8H!p*06^(!3:+Z4"%$28EJI/:+*'6
? T Q
*01VQbQ
">:+Eg:!#"%$'&)(+*',-!p,-!=8+8">?>!=8R">:!p6/5>(R.
:!#8H!=67(#N
w6g"iulSQ
"%:VE-:+!="%$'&c(*0,9!f157,9,iI/6/*213"%(*05>6
8s"%:+!6/5>:+,h"%$0$'@-8I/./.C5>:(!=E;I
8H*06/?9"%6S@-5%Lk(Q
!LM57$'$05 *'6
?(Q/:+!3!f1$2">8+8H!#8j5>L|./:5>&
(+5S135>$2 8 8 l > < ]?>$05>A<"%$y./:+*'57:*'(U@^&cA
"78H!#EklJ13">$'!=6
EJ!3:&A
">8!=EklS"%6<EAC5>I
6
EJ!=EJ&"7131!#88_./:+5%(+5J15>$28=N}D!pW
:V8U(T EJ*2813I
8+88H57,9!p*0,-.<57:H(V"%6^(
LM!#"4(I
:!#8R5%L(Q/!#8H!f(Q
:!=!1$2">8+8H!#8s5>LQ<"%:VEg:+!=">$v&c(*0,-!p135>,-,XI
6/*01="4(+*'576./:+5%(+5J15>$28=NzSI
A
8H!#~^I/!36^($0@>l T !EJ*2813I
8+88H57,9!p*0,-.<57:H(V"%6^(
./:+5%(+5J15>$28_A<!=$'576/?>*06/?9(5-(+Q/!=8!f(Q/:+!3!13$0"788!=8=N
 ) z/ p[)
4Y+
p4
#|>C 7w6"?>$05>A
">$.
:*05>:+*v(U@o.
:5>(5J157$)lk!#">1VQD,9!#88+"%?7!X*28">8+8H*0?>6
!=Er"./:+*05>:+*v(U@oZ4"%$0I/!7N9ORQ/*2 8 5qu
$2"[@>!=:s./:+5%(+5J15>$C(+:*0!=8s(5-!=6
8HI
:!(Q
"%("4("%6S@h(+*',-!f(Q/!1VQ
">6/6/!=$k*08R8!3:+Z^*06/?i(59(Q
!fQ
*'?7Q/!=8H(./:*05>:+*'(U@9,-!#88+"%?7!*06g(+Q/!p6/!( T 5>:+xyN
ORQ/*2857.<!=6
8I
.b(Q/!.C578+8*'A/*0$0*v(U@5%L]I
8*'6
?gB5qu LM57:8+1VQ/!=E/I/$'*06/?h,-!=8+8+"%?>!#8R*'6B"-6/!( 5>:+xEJ!=./$054@^*06/?;"-?7$'57A
"%$|.
:*05>:+*v(U@^&A
">8!=E
./:+5%(+5J15>$cN 5 T !3Z>!=:=ls( T 5*',-.C5>:(+"%6^(g.
:57A/$'!=,h8;"%:+*08! T Q/*0$'!q(:+@^*06/?(+5K*0,9.
$'!=,9!=T 6^(B5qut5>:g !n ,-!=8+8">?>!q8+1VQ/!=EJI
$'*06/?
">$'?75>:+*v(+Q/,h8sI<8H*06/?h"-?>$05>A
">$y./:*05>:+*'(U@7&A
"78H!#E;81VQ
!=EJI/$0*06/?-./:5>(5J157$)
N} Q/!36(+Q/!p(:V"%6
8,-*08+8*'5765>Lz"9.
"71Vx>!(*28I/6
E/!3: T "[@7l^*'(1="%6/6/5>(A<!8H(57./.<!#EA<!3LM5>:+!p(Q/!p(+:+">6
8H,-*288*05>6*08135>,-./$0!(!">6
E
(Q/!9:+!3,h"%*06/*06/?gA/*'(+8p5>Lj(Q
!i.
"71Vx>!3(+8(:V"%6
8,-*v((!=EB"4("g$2"4(+!3:f(*0,-!>Nw6B5%(+Q/!3: T 57:+E
83lyI/6/$0*0x>!i(Q/! T "[@g(V">8xS8p135>I/$2EqAC!
./:+!3!3,-.J(+!=EgLM:57, I<8">?>!>lS.
"71Vx>!3(_(+:+">6
8,9*28+8H*05>6
8R1="%6/6/5>(A<!,-!=">6/*06/?%LMI/$0$0@g./:+!3!=,9./(!=E1VQ
">6/6/!3$I
8">?>!7N
/Nu ?>$05>A<"%$j./:+*05>:+*v(U@B./:5>(5J157$`13">66/5%(i*'6
8H(+">6^(+"%6
!35>I<8H$0@BEJ!3(!=:,-*06/!;(+Q/!;,-!=8+8">?>!-(+Q
"4(9Q
">8(Q/!;Q
*'?7Q/!=8H(X./:+*'57:*'(U@>Nou8
T*'6/!LM5>8:+Q
,-"%"%$0$|(*085>!36|!N *0657I/:8I/A
8!=~^I/!36^(EJ*2813I
8+8H*05>6
8R*28R(+Q
"4( T Q
"%(*0857AJ(+">*'6
!=E*'6b./:V">1(*21!p*28RA
">8!=E5>6b85>,-! T Q
"%(5>IJ(VE/"4(+!=E
_5%(+Qr(+Q/!=8!-./:+5>A/$0!3,h8pZS*'57$0"%(!h85>,-!-5%L`(+Q/!hA
"78H*219./:!=,-*08!=8f(+Q
"4( !3:+!9,h"7EJ!9LM5>:B5qu(+5o5>.J(+*',h">$'$0@r8+1VQ/!=EJI
$'!9(+"78HxJ8=N
ORQ/!=:!3LM5>:+!>l*vLB5ru *28I
8!=ED(+5r81VQ
!=EJI/$0!;,-!=8+8+"%?>!#8p*'6G"o?>$05>A
">$j./:+*'57:T *'(U@q./:+5%(+5J15>$cl(Q/!"%AC54Z>!-,-!36^(*05>6/!#ED( T 5r./:57A/$0!3,h8
T 5>I/$2E:!#8U(+:*21e(R(Q
!">1VQ/*0!3Z4"%A
$'!8+1VQ/!=EJI
$0">A/$'!pIJ(+*'$0*0m="4(+*'5765>L(+Q/!1VQ
">6/6/!3$y(+5-Z>!3:+@;$05 T Z4"%$0I/!#83N
9<Sg7> [SY)iw6PAC5>I/6<EJ!=E"7131!#88p8+1VQ/!=E/I/$'*06/?<l:+!="%$'&c(*0,9!-?7I
"%:V"%6^(!=!=8(5o,-!=8+8+"%?>!#8p"%:+!9.
:54ZS*2EJ!=ErA^@
AC5>I/6<EJ*'6
?;(Q
!i">1=1!#88(*0,9!i5%Lj!=Z>!3:+@g6
5SE/!(5g(Q/!91VQ
"%6
6/!3$cNORQ/*28*06o(+I/:6r*',-./$0*'!#8(+Q
"4((Q/!X(*0,-!XLM57: T Q/*21VQr"h.
"71Vx>!3(,h"[@
Q
"[Z7!-(5 T "%*'(XAC!LM57:!;*'(i*28(+:+">6
8,9*'(H(+!=E*28AC5>I
6
EJ!=E|Nru $05S1="%$_81VQ/!#EJI/$0*'6
?r"%$0?>57:*'(Q/, *08XI
8!=ED(5DEJ!(+!3:+,-*'6/!;(Q/!5>:VEJ!3:*06
T Q/*21VQb.
">1Vx7!(V8_">:!(+">x>!=6I/.bAS@"96/5JEJ!pLM57:R(:V"%6
8,-*08+8*'576rN






















 

 

Version 2 CSE, IIT Kharagpur

i/)^J z =S [S)Yrw6"D13">$'!=6
E/"%:&A
">8!=E.
:5>(5J157$)lj!=Z>!=:@P6/5JEJ!b,h"%*06^(+"%*06
8-"P157.^@P5>L(Q
!b1="%$0!36
E
"%:9(Q
"%(
*06
EJ*213"%(!=8 T Q/*21VQ;6/5JEJ!*08s.<!=:,-*'(H(+!=Eh(+5(+:+">6
8H,-*'(_EJI
:*06/? T Q
*01VQh(+*',-!f.<!=:*05JEkN]O:V"4;185>I
:+13!=8`1="%6;:+!=8!3:+Z>!R(+*',-!f*'6^(+!3:+Z[">$
LM57:
.
"71Vx>!3(`(:V"%6<8H,-*288*'576;AS@hA/:+57">E
13">8H(*06/?<N} Q/!=6"i6/5JEJ!f6/!3!#E/8s(5i(:V"%6
8,-*v(",-!=8+8+"%?>!LM5>: T Q/*21VQg6/59:+!=8!3:+Z["%(*05>6 T ">8s,h">EJ!7l
*'(sW<6
E/8"LM:+!3!p8$'5>(_AS@;1576
8I/$v(+*'6
?(Q
!p1="%$0!36
E
"%:s">6
E;:+!=8!3:+Z>!#8](+Q/!:+!=~^I/*0:+!=Eh(+*',-!f*'6^(+!3:+Z[">$yA^@-A/:+57"7E/13"78U(+*'6
?(Q/!p:+!=8!3:+Z4"4(*05>6
*06JLM5>:+,h"4(+*'576-(5X">$'$C6/5JEJ!=8=Nzu13">$'!=6
E/">:H&A
">8!=E9./:+5%(+5J15>$
*08_8H*0,-./$0!>l^!;1*0!36^(=lJ">6
E T 57:xJ8]Z7!3:+@ T !3$0$ T Q
!36g">$'$<,9!#88+"%?7!=8]*06h(+Q/!
8@J8U(+!3,">:!p.C!3:+*'5JEJ*21p"%6
E./:+!=EJ*21e(V"%A/$0!>N
w6(Q/!pLM57$'$05 T *06/?
l T !EJ*08+1I<8885>,-!p*',-.C5>:(+">67(.
:5>(5J157$08sLM:+5>, !#">1VQ5%L(+Q/!=8!p(Q
:!=!p1="4(+!3?>57:*0!=8_5>L./:+5%(+5S135>$283N
  



 C SADC  E   EF4AD

H M4

4@SC E

uLM! T *0,-.<57:H(V"%6^(?>$05>A
">$k./:*05>:+*'(U@;"%:+A/*v(+:+"%(*05>6A
">8!=E./:+5%(5J135>$28_">:!f(+Q/!pLM5>$0$'5 T *06/?<N
Priority Arbitration

Transmission Interval

n *0?>I/:+! (J j:+*'57:*'(U@;u:+A/*'(:V"4(+*'576">6
EO:V"%6
8,-*08+8H*05>6w6^(!3:+Z4"%$28
iCy# !h p4
#|>CU_w6g(+Q/*28R./:5>(5J157$)l^(+Q/!f(*0,9!p$0*'6
!f*28EJ*0ZS*0EJ!#Eg*06^(5iW/{J!=E*'6^(+!3:+Z[">$08=N]u_(R(Q/!8H(+"%:(R5%L!=Z>!=:@h*06^(!3:+Z4"%$cl
./:+*05>:+*v(U@P"%:+A/*'(:V"4(*05>6F*08-13">::+*0!=EP5>I/(i(+5BEJ!3(!3:+,-*'6
!g(+Q/!Q
*'?7Q/!=8H(9.
:*05>:+*v(U@P,-!=8+8+"%?>!g*'6F(Q/!6/!( T 5>:+xyNDu8-8H5S5>6G">8i./:*05>:+*'(U@
">:A/*'(:V"4(+*'576r*28157,-./$'!3(!7lk(Q/!h6
5SE/!hQ
"[ZS*'6/?(Q
!hQ/*'?7Q/!=8H(./:+*'57:*'(U@o,-!=8+8">?>!9*08">$'$05 T !=Er(5(:V"%6
8,-*v(#Nhw6B5>(Q/!=: T 57:+E
83lk(+Q/*28
8+1VQ/!3,-!p*06^Z75>$0Z>!#8s.C!3:+*05SE/*01f./:+*'57:*'(U@g">:A/*'(:V"4(+*'576;LM57$'$05 T !#E;AS@g,-!#88+"%?7!(+:+">6
8H,-*288*05>6"788HQ
5 T 6*06on*0?
N (/N


msb

lsb

N1 10

N2 16

N3 20

Priority bits

n *'?7I/:+! = j:+*'57:*'(U@;u:+A/*'(:V"4(*05>6b]{/">,9.
$'!
`:*05>:+*v(U@o">:A/*'(:V"4(+*'576o(*0,-!h*08E/*'ZS*2EJ!=EB*'6^(+5W
{S!#EB8*0m3!=ED8$'5>(+8=N9ORQ/!hEJI
:+"%(*05>6r5>Ls!#">1VQP8H$05%(EJI/:V"4(+*'576B*28f(U@S./*01="%$0$'@o,h"7EJ!
!#~7I<"%$J(+5!36
EJ&)(+5%&!36
E9./:+5>.
">?7"%(*05>6-EJ!3$2"[@X5>L<(+Q/!,-!=EJ*0I/,bN]Ly(Q/!8H$05%(`8*'m=!*28],h">EJ!">6S@i8,-">$'$0!3:z(+Q
"%6-(+Q/*283l7(Q/!=6-(Q/!./:*05>:+*'(U@
">:A/*'(:V"4(+*'576r8+1VQ/!3,-! 57I/$2Eq6/5>( 5>:+xq8H*06
13!9"b157$'$0*28H*05>6q!=Z>!=6 Q/!=6r*'(5J131I
:+8 57I/$2Er6/5>(fAC!hEJ!(+!=1(!=E|N9u8$'5>(8*0m3!9$0">:?7!3:
(+Q
"%6B(Q/*28 T 5>I/$2Eq$0!="7TEq(+5">6B*06
1T :+!="78H!i*'6P1VQ
">6/6/!3$z*2EJ$0!i(+*',-!hEJT I/:+*06/?b!3Z>!=:@o8$'5>(=T Nh\Z>!3:(Q
!=8!-8$05%(+8=lk!3Z7!3:+@o6/5JEJ!9(:V"%6
8,-*v(V8
(+Q/!g./:+*05>:+*v(U@DZ4"%$0I/!;5%L*'(+8iQ/*0?>Q/!#8U(i./:*05>:+*'(U@B.C!36
E/*'6/?B,-!=8+8">?>! T *'(QK,h8AW
:V8U(-">8X8Q/5 T 6*06Fn*'?<N (JNDS*'6<1!8*0,XI/$'(+">6/!357I
8
(+:+">6
8H,-*288*05>6LM5>$0$'5 T 8
9$'57?>*21%l/"-6/5JEJ!p(+Q
"4((+:+">6
8,9*'(+8" *h">6
E:!#1!=*'Z7!=8R" l/xS6/5 T 8_(+Q
"4((+Q/!3:+!*28"4($0!="78U(5>6
!6/5JEJ!p(Q
"%(
*28RQ
"[ZS*'6
?-"9Q/*0?>Q
!3:./:+*'57:*'(U@h.C!36
EJ*06/?h,-!=8+8+"%?>!7l/"%6
EEJ:+5>.
8R57IJ(5%L(Q/!135>6^(!=6^(*05>6|N


Version 2 CSE, IIT Kharagpur

O5p*'$0$'I<8U(+:+"%(!R(Q
! 57:xS*06/?5>L<(+Q/*28]./:+5%(5J135>$cl4(:V"%6
8,-*08+8*'576i5>LCA/*'(+8jA^@9EJ*'dC!=:!=67(j6
5SE/!=8]*06h"QS@S.C5%(Q
!(*213">$/!{/">,9.
$'!EJI
:*06/?
(+Q/!"%:+A/*'(:V"4(*05>6i*'6^(+!3:+Z[T ">$JQ
">8]8+1VQ/!=,-"%(*213">$'$0@A<!=!36h8Q/5 T 6i*069(Q/!n*0?
N = Nw6hn*0?
N = l%(Q/:+!3!R6/5JEJ!#8j l>/l7"%6<Ei V ">:!R.
">:H(+*01&
*0.
"4(+*'6
?*'6-(+Q/!">:A/*'(:V"4(+*'576-./:5J13!=8+83NORQ/!./:+*'57:*'(*0!=8j5%LkQ/*0?>Q/!#8U(`,-!#88+"%?7!=8]"4(`(Q/!6
5SE/!=8` l^JlS"%6<Eh V ">:! *
l -= l7">6
E;*
N
u88HQ
5 T 6|l/6/5JEJ!X EJ:+5>.
857IJ("4La(+!3:(+:+">6
8,9*'(H(+*'6
?-(Q/!W<:+8H(A/*'(">8*'((+:+">6
8H,-*'(+8" *-A
IJ($0*08H(!=6
8" NRS*0,9*0$2"%:+$'@7lJ(Q/!X6/5JEJ!
f 5>I/$2E;EJ:+5>.h57IJ(_"%La(!3:s(:V"%6<8H,-*'(H(*06/?X(Q/!(Q/*0:+EgA/*'( Q/!=6g*'( 5>I/$2E-(:V"%6<8H,-*'(_" *i"%6
Eh$0*28U(+!36h(+5i" N]n*06
">$'$0@>lS"4La(+!3:s(:V"%6
8H&
,-*'(H(T *06/?(Q/!s$0"78U(A/*'(=l46/5JEJ!_ V T 5>I
$0E135>6
13$'I
E/!j(Q<"4(*'(zTQ
">8|(Q/!_Q/T *0?>Q/!#8U(.
:*05>:+*v(U@f,-!=8+8">?>!`">6
E T 5>I/$2EAC!3?>*06*'(+8(:V"%6
8,-*08+8*'576|N
Arbitration

Transmission

n *0?>I
:! : `:*05>:+*'(U@-u:A
*v(+:+"%(*05>6*'6 *0:(I
">$OR*',-! `:5>(5J157$
M[=/ )K p4<=|7<H`w6h(+Q/*08_./:+5%(+5J15>$C"6/5JEJ!fI
8!=8](+Q/!p8U(V"4(!5%Lk(+Q/!1VQ
">6/6/!=$
(+5X:+!=">85>6h">A<57IJ(`(+Q/!.C!36<EJ*'6
?X.
"71Vx>!(V8
:+!=8*0E/*'6/?-"4(5>(Q/!=:6/5JEJ!=8=Nj`"71VQg6/5JEJ! *'(Qo"X.<">1Vx>!3(R(5h8H!=6
E ">*v(V8`LM57:"%6*'6^(+!3:+Z[">$k5%L(*0,9!p(+Q
"4(*28R*'6SZ7!3:V8H!=$'@h./:+5>.C5>:(*05>6<"%$
(+5i(+Q/!./:+*'57:*'(U@h5%LQ/*0?>Q/!#8U(./:+*'57:*'(U@;,-!=T 8+8+"%?>!*v(Q<">8=NjORQ
"4(*28_(T Q/!$05 T !=:R*08_(+Q/!./:+*'57:*'(U@h5%Lz"i,-!#88+"%?7!(+Q
"4("96/5JEJ!Q
"783lS(+Q/!
,-5>:+!(+*',-!*'( T "%*'(+8=Nzu_(`(Q
!!{J./*0:V"4(*05>6h5>Ly(Q/! T ">*v(+*'6/?(*0,9!7l^(Q/!6/5JEJ!8!36
8!=8j(Q/!f8U(V"4(+I
8j5>Lk(Q/!f1VQ
"%6/6
!3$cNLk(+Q/!1VQ
">6/6/!=$
*28
A/I<8H@7l/(Q
!36b(Q
*08,9!#"%6
8(Q
"%("-Q/*0?>Q/!=:./:+*'57:*'(U@;,-!=8+8+"%?>!*28AC!3*06/?h(+:+">6
8H,-*'(H(+!=Eo"%6<Eb*v(6
!3!=E
8(5 T "%*'(I/6^(*0$z"%6b*0E/$'!.C!3:+*05SE|N
S5<l4*vL<*v(W
6
E/8(Q<"4((:V"%6
8,-*08+8H*05>6*28z"%$0:!#">EJ@(+">xS*'6/?./$2">1!7l#(Q/!=6X*'( T "%*'(+8LM5>:(Q/!_6/!3{^(LM:V"%,-!>l45>(Q/!=: T *28H!`*v(]8U(V"%:(+8(5(:V"%6
8,-*v(#N




N2

Propagation Time
N1

n *0?>I/:+! , `:57A/$'!=, *'6 *':(I


">$OR*0,9! `:5>(5J157$
} Q
"%(X8HQ
5>I/$2ErAC!h(+Q/!;EJ*'dC!=:!=6
1!h*06 ">*v(p(*0,-!=85>Ls( 5b6/5JEJ!=8 Q/*01VQPQ
"[Z7!-,9!#88+"%?7!=8 Q/5^8H!-./:+*'57:*'(*0!=8E/*vdy!3:AS@q576/!GF
_!=1="%I
8!X5>L](Q/!9./:+5>.
">?7"%(*05>6oEJ!3$2"[@b*'6r(TQ/!96/!3( T 57:xyly";6/T 5JEJ!-13">6q6/T 5%(p*06
8U(V"%6^(+">6/!357I
8$'@bEJ!T (+!=1( T Q/!=6B">6/5%(+Q/!3:6/5JEJ!98H(+">:H(V8
(+:+">6
8H,-*288*05>6rEJI
:*06/?b"%:+A/*v(+:+"%(*05>6|Nu8"g:+!=8I/$'(=lyI/6/$0!=8+8f(Q/! T "%*'((+*',-!-*08p"%(f$0!="78U(">8f$2"%:+?>!i"78(+Q/!-./:+5>.
">?7"4(+*'576b(*0,-!>lk(+Q/!
LM57$'$05 T *'6
?f.
:57A/$'!=, T 5>I/$2E95S1=1I/:#Nu88I/,-!R(Q<"4(j( T 5p6/5JEJ!=8] "%6
E-fQ<"[Z>!_(Q/!=*':].
:*05>:+*v(+*'!#8]EJ*'dC!=:jAS@X5>6
!>NzuLa(!=:` 8H(+">:H(V8
(+:+">6
8H,-*'(H(+*'6/?<ly*vLR T "%*'(+8LM5>:">6^@(+*',-!9$'5 T !3:(Q
">6q(Q
!i./:+5>.<"%?7"%(*05>6b(+*',-!>ly(+Q/!36B*v(13">6r6/5>(fEJ!3(!#1e(p(Q/!i(:V"%6<8H,-*288*'576o5%L
">6
E T 5>I/$2Er8H(+">:H((:V"%6
8,-*v((*06/?
NiORQ/*08 T 5>I/$2Eq$0!="7Eo(+5135>$0$'*28H*05>6B"%6
Er*'6
135>:+:!#1e(f./:*05>:+*'(U@b">:A
*v(+:+"%(*05>6|NORQ/*28fA<57I/6
E/8f(+Q/!
EJ*'dy!3:+!36
13!A<!3( T !=!36(Q/! T "%*'(R(*0,9!#85%L( T 5i6/5JEJ!#8R(Q<"4(Q
"[Z7!f135>6
8!=13IJ(*0Z>!p./:+*'57:*'(*0!=8=N


>





Us` , *^JN (*28"9./:+*'57:*'(U@;A


"78H!#E;(+5>x>!=6b:*06/?-./:+5%(5J135>$cNjORQ/!Q/!="7EJ!3:5>Lz"9(+5>x7!36b15>6^(V"%*06
8_( T 59W
!=$0E
83`"-.
:*05>:+*v(U@-W<!3$2Eo"%6
E"
,-5JEJ!pW
!=$0EkN]w6(+Q/*08./:5>(5J157$)l^(+5>x>!=6">$v(+!3:+6
"4(+!=8RAC!( T !3!=6g( T 5-,95JEJ!#83j"9:+!=8!3:+Z4"4(*05>6,-5SE/!>l
">6
E"iLM:+!3!p,-5JEJ!>N
>

Version 2 CSE, IIT Kharagpur

Priority

Packet
Payload

P
Header
Mode bit

n *0?>I
:! . j^(+:I<1e(I
:!5>L"-O57x>!=6*06bU`` , *^JN (
w6o:+!=8!3:+Z4"4(*05>6,-5JEJ!>lC.
">1Vx7!((+:+">6
8H,-*288*05>65S1=1I/:V8=NRORQ
!./:+*'57:*'(U@;5%Lz(+Q/!X,-!=8+8+"%?>!f(+Q
"4(f*08AC!3*06/?g(:V"%6
8,-*v((!=Eb*28:+!3?7*08H&
(+!3:+!=Eq*06q(+Q/!9Q/!="7EJ!3:f5%Lj(+Q/!i(5>x7!36r"788Q/5 T 6B*'6Dn*0?
N . Npu8f,9!#88+"%?7!=8.
">8+8(Q/:+5>I/?7Qo(Q
!i:+*'6
?
ly!3Z7!3:+@6/5JEJ! T *'(QD.<!=6
EJ*06/?
,-!=8+8+"%?>!#8*06
8.<!#1e(V8f(Q/!-:+!=8!3:+Z["%(*05>6oW<!3$2Er*06r(+Q/!9(57x>!36BQ/!="7EJ!3:#Niu6/5JEJ!9Q
"[ZS*06/?"Q/*0?>Q/!=:p./:*05>:+*'(U@o,9!#88+"%?7!>ly:+!3?>*28H(!3:V8*v(V8
./:+*05>:+*v(U@o*06D(Q/!-./:+*'57:*'(U@bW
!=$0ED5%Ls(Q/!hQ
!=">E/!3:#Ni} Q/!=6D(Q/!-(+5>x>!=6B:+!(+I/:+6
8(5(Q/!;8!36<EJ*'6
?6
5SE/!>l*'(./IJ(V8f(Q/!-(+5>x7!36D*'6BLM:!=!
,-5JEJ!;"%6<Er:+!3$0!="78H!#8*'(=N;u8f(Q/!-(+5>x7!36D.
">8+8H!#8(Q/:+5>I/?7Qr(+Q/!h:+*'6/?<lk(Q
!h6/5JEJ!9(Q
"%(,-"7EJ!9(Q/!h:+!=8!3:+Z4"4(+*'576B8!3*0m3!=8f(+Q/!-(57x>!=6|l
./I/(+8*'(*'6^(+59:+!=8!3:+Z4"4(+*'576g,-5JEJ!>l
">6
E8U(V"%:(+8_(:V"%6<8H,-*'(H(*06/?<N
ORQ/!=:!">:!( T 5-*0,-.<57:H(V"%6^(:!#8HI/$'(+8">A<57IJ((Q
*08.
:5>(5J157$)N
S
4S
$9:;#/0:!=<<
)&?> A @ C B?
DFE7
 ' 6HGI1"$
5BJ
)&K#:L0:! ?!"$# "$&'#%( &'
)(&&'
)
*&&' M
*C +
-N,.#%# ON#/EP0/
)1&K(23"$4#%#R5Q:
)#%&C65
*%4 S.

7RT  8&'3#%"'5"$# &'(
)&&'
* +-,
p4|C+_u 6/5JEJ!E/5^!#8R6/5%(8H(+">:H(R(+:+">6
8H,-*'(H(+*'6/?9(+Q/!6/!{S(.
"71Vx>!3(RI
67(+*'$c
E (Q
">8135>,-./$0!(+!=Eg(:V"%6
8,-*08+8H*05>65%L(Q/!$2">8H(A/*'(=N
E (Q
">8:+!=13!3*0Z>!#Eh(Q
!Q/!="7EJ!3:5>L(57x>!=6A
"71VxyN
ORQ/!=:!3LM5>:+!>l^(Q
!p(:V"%6
8,-*08+8H*05>6g(*0,-!*08R(+Q/!Q/*0?>Q/!=:5%L(Q/!p( T 5-Z[">$'I
!=8=N
U
S
4SW
V|5 XYZ
[Q\1"]"'
*"'
^_#/0/1?(
[Q\ZK O:!"CQA
a`\1"&'
* 7,!"N#%?b!&z  > A@C B?DFE7R T
p4|C+n*':V8H(=lz(Q
!g:+!=8!3:+Z["%(*05>6P,-5JEJ!;,XI<8U(-15>,-./$0!(+!gAC!LM57:!g">6S@B5>(Q/!=:X6/5JEJ!g(:V"%6
8,-*v(V8X"%6<E8H!#15>6<EJ$'@B(Q
!g6/5JEJ!,XI
8H(
:+!=13!3*0Z>!(Q/!pLM:+!3!6/5JEJ!f(+5>x>!=6|N
n
5>:W
:V8H(=lz*v(X(+"%x7!=c8 > A@C B?DFE7i"%6
EDLM57:X8!=1576
E"%$285o*v(i"%(X,-578H((+">x>!#c8 > A@* B?DFE^(+*',-!>NqORQ
!3:+!LM5>:+!>l(Q
!h(5>(+"%$`(*0,-!g"
Q/*0?>Q
!3:./:+*'57:*'(U@h.
"71Vx>!(,h"[@ T "%*'(*08R?7*'Z7!36A^@  > A@* B?D$E7eN
U




E
4  4AD

 D  MN C

w6D(Q
*08p./:+5%(+5J15>$clk(+*',-!h*28EJ*'ZS*2EJ!=ED*06^(5LM:+">,-!=8">88Q/5 T 6B*'6n*'?<N */Nh`Z>!3:+@o6/5JEJ!-,h"%*06^(+"%*06
8f(+Q/!;1I/:+:+!36^((+:+">6
8,9*28+8H*05>6
T./:+*0*06
5>EJ:+5*v(UT @-*2 8  \ef*v(+DLQ/g*'6 hgC \eleT ">Q/6
!=8E :! g  \he g8H">(+6
"%E :(+g8sC(+h:+gb">6
:+8H!,-LM!=*':+(H8(+*'(6/5;?<Ns(+Q/\!X6$05 "-T 1!357:$'$0">*28H6
*0Eo5>6|Q/lS*0!=?>Z>Q/!3!=:+:@-./6/:+5J*05>EJ:+!p*v(U*'@76<N1u:+!=">6/85J!=EJ8`!X(Q
(!Q
"%Z[(">$'Q
I
"7!85>"hL$0,-5 !#88+M"%*cN ?7!7! N],hT Q/"%57x>!#8!8
T
T
 \e33p_"%6<E576"iLM:+!3!pLM:V"%,-!p!3Z7!3:+@h6/5JEJ!:!#EJI
13!=8R$05 T M*cN !7Nj,h"%x7!  \e+iiN

*j



ADC

4

K  SAD 0
' D MN C

u69!3{/"%,-./$0!5%LC1="%$0!36
E
"%:&cA
"78H!#EX8+1VQ/!=E/I/$'*06/?p*28z(Q/!E/@^6<"%,-*01R:+!=8!3:+Z4"4(+*'576(!#1VQ/6/*2~^I/!>Nw69(Q/*28]./:+5%(+5S135>$cl%!="71VQi6
5SE/!,-">*'6^(V"%*06
8
"K1="%$0!36
E/!3:gE/"%(+"8H(:+I
1e(+I/:+! T Q/!3:+!q*06JLM5>:+,h"4(*05>6 ">A<57IJ(;(Q
!r">1=1!=8+8-(+*',-!q:+!=8!3:+Z4"4(*05>6<8-5%Lp(Q/!B?>I
">:+">6^(!3!#EF,-!#88+"%?7!=8h"%:+!

Version 2 CSE, IIT Kharagpur

n*0?>I/:+! */]n
:+">,9!#8R*'6(+Q/!} *'6<EJ5 T &cA<">8!=E j:+5%(5J135>$
,h"%*06^(+">*'6/!#EkNX} Q
!36"g,-!#88+"%?7!XLM57: T Q
*01VQD6/5b:!#8H!=:Z4"%(*05>6qQ
"78fA<!=!36PEJ5>6/!-@7!("%:+:*0Z>!#8"%("6/5JEJ!7lk(Q
!96
5SE/!-"%(H(+!3,-.J(+8f(+5
:+!=8!3:+Z>!"LMIJ(I
:!(*0,-!*06^(!3:+Z4"%$CAS@9A
:5^">E/1=">8H(*06/?X " % "$'&&1#1QA`(5-"%$0$<6/5JEJ!#83N]s">1VQ;6/5JEJ!I/.g576g:+!=13!3*0.J(s5>Lk(Q/!p15767(+:57$
,-!=8+8+"%?>!I
.CE/"%(!#8`*'(+8_13">$'!=6
E/"%:_">1=15>:VEJ*06/?>$0@>NORQ/*28`6/5JEJ!13"%6gZ>!3:+@X!3;1*0!36^($0@-Q
"%6
E/$'!fEJ!(+!3:+,9*06/*28U(+*01.<!=:*05JEJ*21,-!=8+8">?>!#83l>">6
E
(+Q/!3:+!*286/5g54Z>!3:+Q/!#">E*'6r./:*05>:+*'(U@"%:+A/*'(:V"4(+*'576I
6/$'*0x>!X(Q/!i5%(+Q/!3:fEJ*08+1I<88!=Eb./:+5%(+5J15>$28=NR5 T !=Z>!=:=l<*v(fA<!#15>,-!#8Z>!=:@EJ*'h13I/$'(
(+5Q<"%6
EJ$0!h"%.C!3:+*'5JEJ*219,-!=8+8">?>!=8f"%6<ED8.C5>:V">EJ*21X,-!#88+"%?7!=8*'6D(Q
*08p./:+5%(+5J15>$cN-ORQ/!3:+!LM57:!i(Q/*28./:+5%(+5J15>$z*28pI
8!=EB5>6/$0@q*06BZ7!3:+@
8*',-./$0!8@S8H(!=,h83N
io o t ];9
}D!hEJ*08+1I<88fU`s , *7/N $"%6
EB`O`">8( T 5.C5>./I/$2"%:p!3{J">,-./$'!#8f5%LsAC5>I
6
EJ!=ED">1=1!#88f./:+5%(+5S135>$283Nw6B(Q
!-LM5>$0$'5 T *06/?
l T !
EJ*28+1I
8+8_(Q/!#8H!p( T 5-./:+5%(5J135>$283N
     
sOs8H(+">6
E/89LM5>:;!="%$'&c(*0,9!osO`6/!(#N`Os*28h!=6/Q
"%6<1!=8-O +[ "%6
E./:+54ZS*0EJ!#89:!#"%$'&)(+*',-!.<!=:HLM57:,h"%6<1!
?7I
"%:V"%6^(!=!=8`(5-:+!="%$'&c(*0,9!">././$0*01="4(*05>6<8 T *'(Q
5>IJ(,-5JEJ*'LM@^*06/?-!{J*28U(+*'6
?-j(Q/!=:6
!(Q
"%:VE T "%:+! 8 1 , < Nj!( T 5>:+x-(:V"%6
8,-*08+8H*05>6<8s1="%6
5J1313I/:*06b( T 5h,-5JEJ!#83R 5qu +> !,-5JEJ!57:sO`,-5JEJ!>NORQ/!X6/!( T 5>:+x8 T *v(V1VQ/!=8(:V"%6
8.
"%:+!36^(+$'@h(+5gsO`&c,-5JEJ!
T8 Q/*v!=(V6F1VQ/(+*06/Q/?!3:+EJ!o57"%6/:+!i!(:+5g!=">,-$v&c*0(6/*0*0,-,9!*0m38!9!=8+(+8Q/*'!i576
.C8-!3:"%LM6
5>EF:+,hA
"%">6
1V13x!(+*05,9.<R"> 1e5q(V8fu 5>+76q 6/!57&6J,-&:5S!#E/"%! $'&)(+T *',-Q
!3!6 (+:+"%"%$0;$R:1 !#"%$'Q/&)(+!=*'6q,-!b(Q
8H!3!#:+8!i8*'"%57:+6
!X8i6
(5g!=::+,-!="%*06
$'&c"4((+*0,9!>N !9j8H!#:+85%8(*05J5>6
135>8=$N
T
w6oT sO` ,-5JEJ!p(57x>!36.
"788*'6
?98+1VQ/!3,-!p*28I
8!=EkN
p4<=|7< U #%4 #YC`jw6-(+Q/!">A
8H!=6
1!5>Ly">6S@X:+!="%$'&c(*0,9!,-!#88+"%?7!=8]"4(`(Q/!6
5SE/!=8=l>6/5JEJ!#8`157,-.<!3(!LM57:](Q/!1VQ
"%6/6
!3$/I
8*06/?
(+Q/!I<8HI
">$kR 5qu +7 ! .
:5>(5J157$<5>Lk(Q/!p](+Q/!3:+6/!(#Nz} Q/!36"6/5JEJ!f:!#1!=*'Z7!=8`"X:!#"%$'&)(+*',-!:!#~7I
!=8H(`LM:+5>, "$05J13"%$y"%.
./$'*213"%(*05>6|lS*'(
A/:+57"7E/13"78U(V8`"9 T *v(V1VQJ&c(5%&wsO`,9!#88+"%?7!5>6;(Q/!](+Q/!3:+6/!3(sI/6/$0!=8+8s(Q/!f6/!3( T 57:x9*08_6/5>(_">$':+!="7EJ@-*'6!(+Q/!3:_,-5SE/!>NjjZ7!3:+@
6/5JEJ!i(Q<"4(:!#1!=*'Z7!=8(Q/*28p,-!=8+8">?>!X:+!=8.C5>6
E/8fAS@q8!(H(+*'6
?*'(+8p./:+5%(+5J15>$,-5JEJ!9(5b`O`,-5JEJ!7NXORQ/!9(:V"%6
8,-*v((*06/?6/5JEJ!
T1="4"%(*'*0(+6/8s?-LM5>*'(+:R8 (+Q/!p*0$0$'5>*06/6/?>?76
5>!=*06/8+8_?9(.
5;">1V8 x7!*v(_(V1V(Q:V"%(+6
5;8,-`*08+O8H*05>6;`(5h,-1575S,9E/.
!$'!3"%(6
!>EN]((RQ<"4(+(Q/!3(+6oQ/!38:+!3!p6
*0E/88R6
">5;6E/"7"41V(Vx^"i6
$05 !T La($'!#*'EJ6?>(,-Q
!3!6^A
(_">A
1V">x71V5%x-dC&c(+.
5iQ
(+">Q/8!p!*'5>6
Lj*v(+R*0"% (5q5>:#u lJ*0+76
EJ! *'&
./:+5%(+5J15>$cN T.<576r:+!=13!3*0Z^*06/?T 5%L`"%$0$(Q/!9">1VxS6/5 T $0!=EJ?7,-!36^(+8=l
(+Q/!9*'6/*'(*2"4(+*'6
?g6/5JEJ!-1:+!="%(!=8"h(+5>x>!=6r"%6<EqAC!3?>*06
8f1*0:+13I/$2"4(*06/?*v(#N
ORQ/*28135>,-./$0!(!#8"-8HI
1=1!#88HLMI/$|8 T *v(V1VQ(+5h`O` ,95JEJ!7N
Lj,-5>:+!(+Q
"%6B5>6/!i*'6
*v(+*0"%(5>:V8(+:@(+5*06/*'(*2"4(!9`O`R&,-5JEJ!i"%((Q
!98+"%,-!(+*',-!7l|"%$0$6/5JEJ!#8576/$0@b"71VxS6/5 $'!#EJ?>!8 *'(+1VQ
,-!=8+8+"%?>!#8i(5D(Q/!o*06/*'(*2"4(+5>: T *'(QG(Q/!q8,h"%$0$'!#8U(h ! ">,9576/?B(Q/5^8H!(Q<"4(;Q
"[Z7!">$':+!="7EJ@A<!=!36 ">1VxS6/5 T $0!=E/?>!=E|NGT u6*06/*'(T *2"4(57:
576/$'@b8!36
E/8"%6q"71Vx^6
5 T $'!#EJ?>,-!36^((+5g"%6/5>(Q/!=:*06/*'(*2"4(57:*'Lj*v(V86
5SE/! ! *288,h"%$0$'!=:(+Q
"%6o*'(+85 T 6|Nw6o(+Q/!i1=">8!5%Lj$0578+85%L](+Q/!
"71Vx^6
5 T $'!#EJ?>,-!36^(#l<57: T Q/!=6B85>,-!X6/5JEJ!-EJ5S!=86/5>(f:+!=13!3*0Z>!(+Q/!; T *v(V1VQJ&c(5%&wsO` A
:5^">E/1=">8H(=lC5>: T Q/!36D8H57,9!i6/5JEJ!=8f"%:+!
EJ!#">Ekl/(Q/!=6b(Q/!*06/*'(*2"4(57:(*0,-!=857IJ(EJI
!p(5h6/576J&c:+!=13!3*0ZS*'6/?95%Lj">$'$y(+Q/!X">1VxS6/5 $0!=E/?>,-!36^(+8=N]uLa(+!3:"9W
{S!#E6^I
,XAC!3:5>L:+!(+:*0!=8=l
*'(1576
1$0I
EJ!#8_(Q
"%((Q/!6/5JEJ!#8_(Q
"%(EJ*2E6
5%(">1VxS6/5 T $0!=E/?>!">:!EJ!#">E T Q/*21VQ*'(T 1576SZ>!3@J8s(5h">$'$k5>(Q/!=:$'*0Z>!6/5JEJ!#83N
ORQ/!psO`,-5SE/!I
8!=8R"X(*0,-!=Eg(5>x7!3681VQ/!=,-!(+5i./:+54ZS*0E/!A
">6
E *2ES(Q?>I
">:+">6^(!3!#83Nzu_("%6S@9(*0,-!(+Q/!3:+!f*08_5>6
$'@h576/!
:+!=">$v&c(*0,-!&:!#~7I
!=8H(_.C!3:6/5JEJ!">6
E!="71VQ:+!=">$v&c(*0,-!f:+!=~^I/!#8U(8.<!#1*'W
!=8_(+Q/!:+T !=~^I/*0:!#E;(+:+">6
8H,-*288*05>6gA<"%6
E T *2ES(+Qo*'6(!=:,h8R5>L(+Q/!
">,957I/6^(`5%LE
"4(+"X*v(_6/!3!#E/8`(5i8!36<E;EJI/:+*'6
?X"W/{J!#Eh*'6^(+!3:+Z[">$
5>Lk(*0,9!f13">$'$0!=E 5rOOD& 5q"%{S*0,XI
,O5>x7!36;5>(+"4(+*'576gOR*0,9!7N]ORQ/!
5q"%{J*',iI/,O5>x>!=65>$2EJ*06/?hOR*',-!*2813"%$21I
$0"%(!=EgLM5>:!#">1VQ6/5JEJ!A
">8!=E5>6(Q
*08*06JLM57:,h"4(+*'576D)"%,-5>I
67(5>LE/"%(+"-"%6

E 5qOzOeN
u6b"[Z7!3:V"%?7!1576
8H(+"%6^(A
">6
E T *2ES(Qb*28R:!#8H!=:Z7!=EhLM57:!="71VQ8!=8+8H*05>6N








1V

Version 2 CSE, IIT Kharagpur

7#^ p4
#|>CU_ORQ/!p15>6^(+:57$/(57x>!=61*0:V1I/$2"4(+!=8_"%,-5>6/?X( 598H!3(+8s5%L6
5SE/!=8=l7(+Q/!p:!#"%$'&)(+*',-!f8H!3(p)O
s">6
Eh(+Q/!f6/5>6J&:+!="%$'&
(+*',-!g8!(g)zO/eNj\6/$0@q6/5JEJ!#8p(Q
"%(XQ
"[Z7!9,h"7EJ!;"bA
"%6<E T *0EJT (Q:+!=8!3:+Z["%(*05>6BA<!=$'576/?b(5qzOyNu$0$`5%(+Q/!3:6
5SE/!=8AC!3$05>6/?b(+5
OkN !I/:+*06/?i!#">1VQh(+5>x7!36;:+5%(V"4(*05>6l7(+Q/!(5>x7!36Z^*28*v(V8s">$'$y6/5JEJ!#8s*06g:+!=">$v&c(*0,-!&w8H!3(s*0657:+E/!3:#N} Q/!=6"i6/5JEJ!f*'6:!#"%$'&)(+*',-!&w8!(
:+!=13!3*0Z>!=8_(+Q/!(+5>x>!=6*'(8!36
E
85>6/!I
6/*v(5%Lz:!#"%$'&)(+*',-!&wE/"%(+"-"%6
E(+Q/!36o.
"788!=8_(+Q/!(+5>x>!=6(5h*'(+86
!3*0?>QSA<57:*'6b(+Q/!:+!="%$'&c(*0,9!3&8!(#N
ORQ/!$2">8H(6/5JEJ!*06b(Q/!zO.
">8+8!=8_(Q
!p(5>x7!36(5-(+Q/!zOyNC|!4( 5rOO AC!p(Q/!,-!#"%6(5>x7!36b:+5%(+"%(*05>6g(*0,9!i"%6
E 
">6
Eh$0! ( 
yA<!(Q/!,9!#"%6h(+5>x7!36hQ/57$0EJ*06/?(+*',-!LM5>:`6
5SE/
! HN]ORQ/!(+5>x>!=6h*08`(Q
!36h(V"%?>?7!=E T *'(Qg"XOR*',-!=O5 !!="7EJ$0*'6/!W
!3$2E
8I
1VQ(Q
"%(=

3>

i

#     
   

  


} Q/!=6">6zO6/5JEJ!p:+!=13!3*0Z>!=8s(+Q/!f(5>x7!36|lJ*'(EJ!3(!3:+,-*'6
!=8R*'L(Q
!3:+!f*288IJ;1*0!36^(R(*0,9!p(+5h8H!=6
E"9.
"71Vx>!3(_AC!LM57:!f(Q
!p(5>x7!36
JE !#">EJ$0*06/!>N]Lz(Q
!3:+!f*28=l/*v(8!36<E/8R(Q
!.
">1Vx7!(=l/E/!=1:+!3,-!=67(V8OR*',-!#O5!!#">EJ$0*'6
!">13135>:VEJ*06/?>$0@>lJ"%6<E.<">8+8H!#8`(+Q/!(+5>x>!=6g(+5-(Q/!6
!{S(
6/5JEJ!`*'6OkN3LJ(Q
!3:+!]*086/5(*0,-!](58H!=6
Ep".
">1Vx7!(#l=*'(*06JLM5>:+,h8y(Q/!`$0"78U(6
5SE/!j*'6p(+Q/!j:+!=">$v&c(*0,-!j8H!3(|(Q
"%(*'(8HQ
5>I/$2EpA<!j(Q/!]W<:+8H(
6/5JEJ!_(+5?>!(z(+Q/!_(5>x7!36-"%,-5>6
?fOi6/5JEJ!#8]EJI/:+*'6
?(+Q/!6/!3{^(j:+5>I
6
Ekl%"%6<Ei*'(].
">8+8!=8(Q
!s(+5>x7!36i(5f(Q/!RW<:+8H(]6/5JEJ!R*'69(Q
!OkN
`Z>!3:+@D6/! :+!=">$v&c(*0,-!:+!=~^I/!#8U(9?>5S!=8X(Q
:57I/?>Q"%6F"7EJ,-*08+8H*05>615767(+:57$s.
:5J1!#EJI/:+!;(+Q
"4(hEJ!(+!3:+,-*'6/!#89*vLf*v(-*089.C578+8H*0A/$0!g(+5
"7131!=.J(R(Q/!:+!=T ~^I/!#8U(#NjuEJ,-*288*05>6b15>6^(+:57$C*28.C!3:LM5>:+,-!=E$'5J13">$'$0@;576!#">1VQ6/5JEJ!>juEJ,-*v(:+!=">$v&c(*0,-!f:+!=~^I/!#8U(*'L
   "! #$% '&(


} Q/!=:!oO RzO*089(+Q/!oA
">6
E T *2ES(Q:+!=8!3:+Z>!=EKLM5>:9(Q
!qzO8!(#N uEJ,-*288*'576 15>6^(+:57$_*28-6/5>(-.C!3:LM5>:+,-!=EGI/6^(*0$(Q
!o6/5JEJ!
:+!=13!3*0Z>!=8j(Q/!f(+5>x>!=6|N} Q/!36b":+!=">$v&c(*0,-!6/5JEJ! T ">6^(+8`(5(+!3:+,-*'6
"%(!f*v(V8_:!#"%$'&)(+*',-!135>6/6
!=1e(+*'576|lS*v(R,-!3:+!3$0@-:!=,954Z7!=8`*v(V8H!=$vL|LM:+5>,
(+Q/!zOg*06JLM57:,h"4(+*'576576g(+Q/!p(57x>!=6|N
 >  4j



n *'?7I/:! 7 ]O57x>!=6*06/?-*06Us` , *^JN $


"$URs`% Nzw, 6i*7(+JQ/N $;*28]././:+:+5%5%(+(5J5J1135>5>$$cl4*28f(Q/">!./">./,-$0*01=5>"%I/A/6^$0(j!i5%(L<5((*0,-5>x7!!36q!="7:+1V*0Qi6/?g6/5J6/EJ!3!( T Q
575>:$2E/xJ8]8=N"OR(5>Q/x7*08f!36-./*2:+8z5%(+A<5J571I/5>6
$EJ*2!#8Ek5>NzLa(!=(j6rQ
">:+!8zLMAC!3:+!3:+!=!=6hEb*'6
(+5135>"7:+8.<57(+Q/:+"%! (!#CE
*06-O8n 3!  0/!1e N
w6BU`` , *^JN $
lkOOzOYO"%:+?>!3(pO5>x7!36B5%(+"%(*05>6DOR*',-!#*28pI
8!=ED">8pEJ!=8*0?>6r.<"%:V"%,-!(+!3:#NXOOzO*28(+Q/!-!{J.C!=1e(+!=EB(*0,-!
AC!( T !3!=6i( T 51576
8H!#1IJ(+*'Z7!RZ^*28*v(V8]5%LC(Q/!R(+5>x7!36i(5"p6/5JEJ!7Nu_(](+Q/!6/!3( T 57:x*06/*'(*2"%$0*'m#"4(*05>69(+*',-!>l>(Q/!!{J.<!#1e(+!=Ei(57x>!369:+5%(+"%(*05>6
(+*',-!X*288.C!=1*'W
!#Eq">8OOOpN<w6
EJ*0ZS*0EJI<"%$6/5JEJ!=8"%:+!X"%$0$'5J1="4(!#Eb"h.<57:H(+*'576o5%L`OOzOpl
xS6/5 T 6q"78*'(+N8 &'^ Z"$% Z&(b#% OG
*O% 
"713157:+E/*'6/?_(+5(Q/!j(*0,9*06/?1VQ<"%:V">1e(+!3:+*08H(*2138y5>LS(Q/!j.C!3:+*05SE/*01],-!#88+"%?7!=8y5>:+*0?>*06
"4(+*'6/?"%(!="71VQf6
5SE/!>NuF8U(V"4(*05>6p(+:+">6
8,9*'(+8|6/5>6J&:+!="%$'&
(+*',-!p,-!=8+88+"%?7!=8,576/$0@h(Q/!f(+5>x>!=6">::+*'Z7!=Eg!="%:+$0*'!=:`(+Q
"%6!{J.C!=1e(+!=EkNjORQ
!(+*',-!p6/!=!=EJ!#E;(+5i(+:+">6
8,9*'("%6">8@^6<1VQ/:576/5>I<8jLM:V"%,-!
*281="%$0$'!#E#&^ L"$ Z&`!"'"' "%6
Er*v(p:!#EJI
13!=8(Q/!9!dy!=1(*0Z>!XA<"%6
E T *2ES(+QB"[Z4"%*0$0">A/$0!(5(:V"%6
8,-*v(p8H@S6
1VQ
:576/5>I
8,-!=8+8">?>!=8=N
!I/!R(5"78H@S6
1VQ/:+5>6
5>I
854Z>!3:+:+I/6|l#(Q/! T 5>:V8H(z1=">8!`(+*',-!AC!( T !3!36i( T 5f8I
1313!=8+8H*0Z>!_ZS*08*'(+8z5%L<(Q/!_(+5>x>!=6X(+5f(Q/!R6/5JEJ!R*28j 
)N
5 T !=Z>!3:#l[*'69"f6/!( T 5>:+xf(Q
"%(I
8!=8576/$'@8@S6
1VQ/:+5>6/57I
8,95JEJ!7l4(*0,-!RA<!3( T !=!36i135>6
8!=13IJ(*0Z>!s(57x>!=6X"%:+:*0Z4"%$28*28$'*0,-*v(+!=E9AS@OOzOpN
$

Version 2 CSE, IIT Kharagpur

OOzO1="%6A<!:+!3.
:!#8H!=67(+!=E">8

5E E %=O
ZQ8C
N#%H RO:'&

)

; 
T %Q/z !=Q
:">! 8_X(+Q/*28j!(+,-Q/!f!=8+./8:">57?>.
!"%(?^Q
"4"%(+(*'57Q
6i">(+8_*',-(+Q/!7!N`8HS,hI/./">.C$'$057!=8H8(!EJ5>!=L"7"%EJ$0$<$'*0,-6/!!=8+N8+"%]?>}D!#8]!(+Q
13"%"46(_((Q/Q
!p!36EJ*'W/dC{!=:O!=6^O(szO6/5JEJ(!#5-8`AC*06;!> (+Q/!6
!( T 5>:+x91="%6;57:*0?>*06
"4(+!>l76/5JEJ!
)&
s">1VQ6/5JEJ!  *28"788*'?76/!=E"h8@^6<1VQ/:576/5>I<8sA<"%6
E T *2ES(+Q  l T Q/*21VQb*08(Q/!,h"%{S*0,XI
, (*0,-!(Q
!6/5JEJ!  *28">$'$05 T !#E;(+5hQ/5>$2E

(+Q/!X(+5>x7!36o(+5;(:V"%6<8H,-*'(.C!3:+*'5JEJ*21X,-!#88+"%?7!=8=N} Q/!=6B";6
5SE/!i:+!=13!3*0Z>!=8(Q/!X(57x>!36lC*'(fW
:+8H((+:+">6
8,9*'(+8*'(+8p8H@S6
1VQ
:576/5>I
8(:V"4;1
LM57:R">6g(+*',-!pAC5>I/6
E/!=EAS@-(Q/!8@^6<1VQ/:576/5>I<8s1="%.
"71*'(U@>N]ORQ/!36*'(R,h"[@-(+:+">6
8H,-*'(">8@^6<1VQ/:576/5>I<8](:V"4;1>lJ5>6/$0@h*vL(Q
!(+*',-!8*'6
13!
(+Q/!./:+!3ZS*'57I
8s(57x>!36bEJ!=.
"%:(I/:+!fLM:57, (Q
!8">,9!8H(+"%(*05>6b*08R$0!=8+8_(Q<"%6oOOzOpN
O5>x7!36qQ/57$0E/*'6/?g(*0,-!=8p"4(p*'6<EJ*'ZS*2EJI
">$6
5SE/!=8f*08(Q
!-8@S6
1VQ/:+5>6/57I
8A<"%6
E *2ES(+QB"%$0$05%(!#Eb(5(Q
!i6/5JEJ!7Nu8p85^576r">8p"g6/5JEJ!
:+!=13!3*0Z>!=8(Q/!g(5>x7!36|lz*'(98H(+">:H(V8"o(+*',-!3:98H!3(X(+5q*v(V8i8@S6
1VQ/:+5>6/57I
8pA
">6
E T *2ES(T Q|lj">6
E:+!3$0!="78H!#8p(Q/!g(57x>!36I
.<576!{J./*0:@D5%L(+Q/!
(+*',-!3:#NjORQ/!8@S6
1VQ/:+5>6/57I
8`A<"%6
E T *2ES(+Qb">$'$05J13"%(!=Eg(5;"96/5JEJ! %z*08?7*'Z7!36AS@h(Q/!pLM57$'$05 T *06/?-!{J./:+!=8+8H*05>6|
 =)        
 = 

} Q/!=:!  *08](Q/!8*0m3!5>LC(+Q/!,-!=8+8+"%?>!Y*'6;A
*v(V8+(+Q
"4(s6/5JEJ! |:!#~7I
*':+!=8z(+5p(:V"%6
8,-*v(s54Z>!3: k*06^(!=:Z4"%$cl7">6
E  

*08z(+Q/!1VQ<"%6/6/!=$
IJ(+*'$0*0m="4(+*'576oEJI/!f(5-(+Q/!6/5JEJ! HN
 |/ zY
C<RSI/./.C578!f"X6/!( 5>:+xhEJ!=8*0?>6/!#EhI
8*'6/?9U`s , *^ $X./:+5%(+5J15>$<Q
">8s(+Q/:!=!6/5JEJ!#83Nj5JEJ! 6
!3!=E
8j(+5X(+:+">6
8H,-*'(
$5>LsE/"4(V"g!=Z>!=:@ V *0*%>7NpT 5JEJ! i6/!3!#E/8(5(:V"%6
8,-*v(   $5%LsE
"4(+"!3Z7!3:+@I(*/*/>7N5JEJ! X6/!=!=E/8(+5g(+:+">6
8H,-*'(
$ 5>LzE
"4(+"9!=Z>!3:+@ (/*/*%>7NjS!3$0!=1("98I/*'(+">A/$'!OOzOLM5>:(+Q/!6/!3( T 57:x;">6
Eb15>,-./I/(!p(Q
!p(5>x7!36bQ/57$0EJ*06/?9(*0,-!LM5>:!#">1VQ
6/5J EJ!7N
<)#YC`sn/:+5>, "%6! {/*0"%* ,-*06
"4(+*'576;5%L(Q/!f,-!=8+8">?>!#83l7(Q/!p8Q/5>:(!#8U(EJ!="7EJ$0*'6/!p"%,-576/?i">$'$y,-!=8+8">?>!#8j*28R/ */*/>7NzORQ/!3:+!LM57:!7l T !
1="%6b8H!=$'!#1e())A  *0*%>>N]ORQ/!1VQ
">6/6/!=$kIJ(*0$'*0m="%(*05>6oEJI/!p(+59(Q/!EJ*'dy!3:+!36^(6/5JEJ!=8 T 5>I
$0EAC!>
   V */* , 5oA +4,-8
 , 5oA +4,-8
    (
*0*
  
 , 5oA +4,-8
  /*/*
 ,    ,  V :0:  = 5oNA +[,h8
            V */* ,   (/
*/*
 *0*
V */*/*
8*06/?h]{J./:#N = , N lS(Q/!pV *0(+*/5>* x7!36Q/5>$2EJ*06/?9(*0,9!#85%L(Q/!E/*vdy!3:+!36^(6/5JEJ!#813"%6bAC!EJ!(+!3:+,-*'6/!#E;(+5hA<!7
   */* V */*  V :0: =   1 , >

  */* (. */ = *  V V :0*0: */* =  (  / (%>
*
0
*
/
*

1
=
V
   */*  */*  V :0: =  =/V  ( = >

U

Version 2 CSE, IIT Kharagpur

 ]> jb9 bji


u_(f(Q/!9EJ!=8*0?>6o(+*',-!>l|"EJ!(V"%*0$'!#EoxS6/5 $0!=EJ?7!5%L](+Q/!i,-!#88+"%?7!X8H!3(*28f5%La(!=6qI/6
"[Z4">*'$2"%A/$0!>Nf5 !3Z7!3:#l/(Q
!9EJ!#8H*0?>6
!3:V85%L`"g:!#"%$'&
(+*',-!b6/!( T 5>:+xDI
8HI<"%$0$'@Q
"[Z7!">6F!=8H(*0T,h"4(+!5>L(Q/!(:V"4;1?>!=6/!3:V"4(+!=EAS@P(Q
!EJ*'dy!3:+!36^(9:+!=">$vT &c(*0,-!85>I
:+13!=8*06G(!3:+,h895%L(+Q/!
:+!=8.<!#1e(+*'Z7!1VQ
"%6/6
!3$/IJ(+*'$0*0m="4(+*'576|NzORQ/!3:+!LM57:!7l4(Q/!LM5>$0$'5 T *06/?p( T 5fI/(*0$'*0m="%(*05>6J&A
">8!=E9,-!(+:*2138`"%:+!_,-!#"%6/*06/?%LMI
$ T Q/*0$'!15>,-.
">:*06/?
(+Q/!.<!=:HLM57:,h">6
1!p5%LzEJ*'dC!=:!=67(.
:5>(5J157$08=N
E =CY= X4S | !h=)Y7J=)< #U  &[ORQ
*08g,9!3(:+*01b*06
EJ*213"%(!#8h(Q
!q!{J.C!=1e(+!=EZ4"%$0I/!q5>LfIJ(+*'$0*0m="4(+*'576 5%L"
,-!=8+8">?>!p8H!3("%( T Q/*01VQ,-!=8+8">?>!#8_8H(+">:H(,-*288*'6
?-E/!=">E/$'*06/!=8=N
    
5
T,XQ/I
!31V:+Q! ( :V"4;*28j1p(+13Q/">!f68*0ACm3!!f">5%1=L1,-57,9!=8+,-8+"%5J?>E/! "%(!=
E R*06blJ"%"96
6/E !3 ( 57*28`:x *'(+8_.C*'(!3Q
:+5>*'5JIJEk(Nz(+Q/}D!!p,-1=!="%8+6g8">">?>$v(+!=!38_:+6
Q
"4"[(+ZS!3*06/$0@-?9Z^(*05-! T ,-(+*08+Q/8_*28R(Q
,9!3!3*0:(:+EJ*01!="7(EJ59$0*'*'6/6<!#EJ83*0N1="4(+!Q/5 T
T T
E  /[
y=S p[ z )YY+ #   #  & &4CORQ/!?>I
">:+">6^(!3!.
:57A
"%A/*0$0*v(U@-"4(R1VQ
"%6/6
!3$
I/(*0$'*0m="%(*05>6  6  j*06
EJ*213"%(!#8j(+Q/!
./:+5>A
">A/*'$0*'(U@-(Q
"%("i,-!#88+"%?7!f8!( T *'(QbIJ(+*'$0*'m#"4(+*'576 ,-!3!3(+8">$'$k,-!=8+8+"%?>!pEJ!#">EJ$0*'6
!>N
 

Unsaturated
Saturated

Unschedulable

n *0?>I/:+! JjJ1VQ
!3,h"4(+*01!=./:+!=8!36^(+"%(*05>6g5>L 5q!=8+8">?>!S!(V8
}D!6/5 ./:+54ZS*0EJ!">6o*'6^(+I/*v(+*'Z7!X!3{S.
$0">6
"4(+*'5765>Lz(Q/!i,9!3(:+*01=83NORQ
!!36^(*0:+!.<57./I/$2"4(+*'576o5%L`8@^6<1VQ/:576/5>I<8R,9!#88+"%?7!=81="%6oAC!
EJ*0ZS*0E/!=Ei*'6^(T 5f(+Q/:!=!_13$0"788!=8zEJ!=.<!=6
EJ*06/?p5>6X(Q/!8+1VQ/!=EJI
$0">A/*'$0*'(U@5%dy!3:+!=E9">8z8HQ
5 T 6X*069n*0?
N JNORQ/!=8!s(Q/:+!3!1$2">8+8!=85%L<,-!#88+"%?7!=8
">:!pA/:+*'! 
@;!3{S.
$0">*'6/!#Eg*06(Q/!pLM57$'$05 T *06/?
N
 #J#4J#^ [S) zYCORQ/!X,-!=8+8+"%?>!i8H!3(f*06o(Q
*08p1$2">8+8f"%:+!X81VQ
!=EJI/$2"%A
$'!9"%6
Eo:+!3,h">*'6r8+1VQ/!#EJI/$2"%A/$0!X!=Z>!36B"4La(!=:f">6S@
,-!=8+8+"%?>!p8*'m=!f*288$'*0?>Q^(+$'@;*06
13:!#">8!=EkN
J=4J=S [S) zYCXORQ/!9,-!=8+8">?>!-8H!3(f*06r(+Q/*281$2">8+8">:!-81VQ
!=EJI/$2"%A
$'!9A/IJ("%6S@o*06
1:+!="78H!i*'6B(Q
!9,-!#88+"%?7!i8*'m=!i5>Ls"
,-!=8+8+"%?>! T 5>I/$2Eg$0!="7E(5h8H57,-!f,-!#88+"%?7!=8_,-*08+8H*06/?9(Q
!3*0:EJ!="7EJ$0*'6/!#83N
 #[S) zYC 6
81VQ
!=EJI/$2"%A
$'!f8H!3(s:+!LM!3:V8](+5(Q
578!,-!=8+8">?>!#8zLM5>: T Q/*21VQ;EJ!="7EJ$'*06/!#8`5>L8H57,9!,9!#88+"%?7!=8 T 5>I
$0EhAC!,-*288!=E|N
}D! 57I/$2E!3{J.<!#1e( 6  R(5hAC!X1$0578!p(5 LM57:IJ(*0$0*'m#"4(*05>6b$05 T !=:R(Q
">6qu ">6
Eb"%././:+57"71VQ *h"78IJ(*0$0*'m#"4(*05>6o*06
13:!#">8!=8
AC!3@75>6
ET u N
w6P$05 A
">6
E *2ES(Q6/!3( 57:xJ8=l|./:+*'57:*'(U@^&cA<">8!=Eq.
:5>(5J157$ 5>:+xJ8pA<!3(H(+!3:# Q
!3:+!=">8"%(Q/*0?>Q/!=:A
"%6
E *0ES(+Q
8=l(+Q/!;AC5>I/6
E/!=E
"7131!#88s./:+T 5%(+5S135>$ TT 57:xJ8`A<!3(H(T !=:=NjORQ
!.C!3:LM5>:+,h"%6
13!5%L(Q/!f./:+*'T57:*'(U@^&E/:*0Z>!=6h./:T 5>(5J157$<*06/*'(*2"%$0$'@h*0,-./:+54Z>!=8_T ">8`(Q
!fA<"%6
E T *2ES(+Qg*28
*06
1:+!="78H!#EklSA/IJ(8H(+"%:(+8`(5-EJ:+5>.5%doA<!=@>576
Eg"91!=:H(V"%*06g.C5>*067(#NjORQ/*28s*28R"%?^"%*06
8U(_(Q
!*06^(I/*'(*05>6(Q
"%(.<!=:HLM57:,h"%6<1!5>L"i./:5>(5J157$
8Q/5>I
$0E*',-./:+54Z>!"78`(+Q/!A
">6
E T *2ES(Qo*28R*'6<1:+!=">8!=E|N

 

 

1=

Version 2 CSE, IIT Kharagpur

low Bandwidth
802.5

GP(U)
802.4

U
high Bandwidth
802.4

GP(U)

802.5

n *0?>I/:+! 1V 6  _Z7!3:V8HI<8 (*0$0*'m#"4(*05>6o"%(5 T ">6


E*'?7Q _">6
E T *2ES(Q<8
} Q/!=6(Q
!gA
">6
E *2ES(QG*08X*'6
13:!#">8!=EPAC!3@75>6
E"B1!3:(+">*'6Z4">$'I/!7lz(Q/!EJ!=13:!#">8!h*'6F(:V"%6
8,-*08+8*'576B(+*',-!13"%I<8H!#8(Q
!gLM:V"%,-!
(+:+">6
8H,-*288*05>6(*0,9!nKT (5hAC!$'!#88(Q
">6(+Q/!p(57x>!=6:+5%(V"4(+*'576;(*0,-f! E/Njw6(+Q/*0813"78H!7lJA<!3LM5>:+!f:+!3$0!="78H*06/?h"96/! T (57x>!=6|lJ(Q
!p(:V"%6
8H&
,-*'(H(*06/?96/5JEJ!Q<">8`(5 T "%*'(`LM57:`(+Q/!(5>x7!36-(+5i:+!(+I/:6h!=Z>!=6g"4La(+!3:s(Q/!(:V"%6
8,-*08+8*'576h5%Lk(Q
!LM:V"%,-!*28_15>,-./$0!(+!(+5X(+:+">6
8H,-*'(`(+Q/!
6/!3{S(.
">1Vx7!(#NsORQSI
8=lJ(Q/!X!dy!=1e(+*'Z7!LM:V"%,-!p(:V"%6
8,-*08+8*'576g(+*',-!X*06b(Q
*081=">8!*08 E;"%6
E(+Q/!LM:V">1e(+*'576b5%Lz(Q/! T "78U(+!=EA
"%6<E T *0EJ(Q
*284E%&n]+%n_N<ORQ/!./:+5>.<"%?7"%(*05>6g(*0,9!*28*06
EJ!=.<!=6
EJ!36^(5>L(+Q/!A
">6
E *2ES(Qo">6
EQ/!36
13!13">6AC!1576
8*0EJ!=:!#E"78"-1576
8U(V"%6^(=NsORQ/!
(+5>x>!=6r(+:+">6
8,9*28+8H*05>6B(*0,-!;EJ!=13:!#">8!=8 T *v(+QP*'6
13:!#">8*'6
?A<"%6
E T *2ES(+Q|T NgORQ/!=:!3LM5>:+!>ly(Q
!;.<!=:+13!36^(+">?>!95%L T "78U(+!=EBA
"%6<E T *0EJ(QP*'6/&
13:!#">8!=8 T *v(+Qb*'6
13:!#">8!*06bA
"%6<E T *0EJ(Q|N
ORQ/!X(*0,-!=Er(5>x7!36q.
:5>(5J157$EJ5S!#86/5>(f!3{JQ/*'A
*v(f(Q/*28p"%6/57,h"%$0@>lyA<!#13">I
8H!9"g6
5SE/!i*28.C!3:+,-*v((!#Eq(+5g(+:+">6
8H,-*'(f135>6^(*06SI/5>I
8$0@
EJI
:*06/?-*v(V8">8+8*'?76/!=E;(*0,9!8$05%(=N
w6"%$0$C1=">8!=8=l7*'(13"%6gA<!8!3!36;(Q
"%(s(+Q/!p?>I
">:+">67(+!3!.
:57A
"%A/*0$0*v(U@-:+!3,h"%*06
8_1$0578!(5 "78`$05>6
?i">8s(+Q/!I/(*0$'*0m="%(*05>6g*28_$'!#88`(Q<"%6
u XN/ORQ/!3:+!f*08R"98HQ
">:.EJ:57.g*06g(+Q/!f?>I
">:+">67(+!3!./:57A
"%A
*'$0*v(U@h"%(_IJ(+*'$0*0m="4(+*'576Z4">$'I/!#8R1$0578!(5-u XN/ORQ/*08E/!3,-5>6
8H(:V"4(+!=8`(Q
"%(
u *28s":+5>A
I
8U(_,-!=">8I/:+!5%L"[Z7!3:V"%?7!.<!=:HLM57:,h"%6<1!5>L|:!#"%$'&)(+*',-!6/!3( 57:xJ8=N5 l !1="%6;8I/,-,h"%:+*'m=!5>I
:`5>A<8H!=:Z4"4(+*'576
8`"78
LM57$'$05 T 83N]u_($05 T (:V"%6<8H,-*288*'5768.<!=!=E/8=lS(Q
!f.
:*05>:+*v(U@h*06SZ>!=:+8*'576
8_13"%I<8H!#T EgAS@h(+Q/!p:T57I/6
T ES&:57A/*068+1VQ/!=EJI
$'*06/?h"%./.
:5^">1VQh(+!36
E/8_(+5
"7EJZ>!=:+8!3$0@*0,-.
">1(f,-!#88+"%?7!=8 *'(QP8Q/5>:(fEJ!#">EJ$0*06/!=8=NORQSI
83lk"%(f$05 A
"%6<E *0EJ(Q
8f./:+*'57:*'(U@^&E/:*0Z>!=6o./:5>(5J157$*28A<!3(H(!=:8HI
*v(+!=E
(+Q
"%6(Q
!p(*0,9!#E(5>x7!36./:+5%(5J13T 5>$CLM5>::+!=">$v&c(*0,-!p">././$0*01="4(+*'576
83N T T


 
 

 

802.5
802.4

ABU
Bandwidth

n*'?7I/:! $
]uA
85>$0IJ(+! s:+!=">xJEJ5 T 6 (*0$'*0m="%(*05>6 ]!3:V8HI
8 _">6
E T *2ES(Q






;:

Version 2 CSE, IIT Kharagpur

+C3 i oof]9i |9 jbR

n
:57,"D,95JEJ!#8U(hAC!3?7*'6/6
*'6/?K"D$0*v(($0!o54Z>!=:9"PEJ!#13">E/!b">?>5<l`w6^(!=:6/!3(hQ
">8-AC!=135>,-!o"BZ4"78U(h:+!3.C578*v(+5>:+@5%L*06JLM57:,h"4(+*'576|ls">6
E
!=6
"%A/$0!3:`5%Lk8H!=Z>!3:V"%$J6
! T "%./.
$'*213"%(*05>6
8]8I
1VQh">8]!3&135>,-,-!3:V1!7Nw6^(!=:6/!3(`./:+54ZS*0EJ!#8 b'&' 5"'
8!3:+ZS*013!R(5"%.
./$'*213"%(*05>6
8=l>,-!#"%6/*06/?
(+Q
"4(p(:V"4;1i*08f./:+5J1!#88!=EB">8f~7I
*01VxS$0@q">8f.<5^88*0A/$'!9A/IJ(p(+Q/!3:+!-*08f6/5?>I
">:+">6^(!3!i5%Lj(+*',-!=$'*06/!=8+8p5>:"71e(I<"%$]EJ!3$0*0Z>!3:+@>N} *'(QD(+Q/!
*06
1:+!="78H*06/?D15>,-,-!3:V1*2"%$_I
8+"%?7!g5%Lw67(+!3:+6/!(#l](Q
!3:+!*28-"q6/!=!=EF(5P8HI/.
.<57:H(h8H5>La(-">6
EW<:, :+!=">$v&c(*0,-!"%.
./$'*213"%(*05>6
8=NPw6F(+Q/*28
8!=1(*05>6|l T !W<:+8H(_.
:54ZS*2EJ!f85>,-!fA
">8*21135>6
13!3.J(V8_">A<57IJ(w6^(!3:+6/!3(=N`SI/A<8H!#~7I
!36^($0@>l T !:+!3ZS*0! T (+Q/!p:!#1!=67(_(:+!36<E/8R*'6g(Q/*28"%:+!="
N


A EM


HJ
 LBE MN

 B
C

ORQ/!A<">8*01fw6^(!=:6/!3(8H!=:ZS*21!p,-5SE/!3$kQ
"7881VQ/!=,h"4(*213">$'$0@;AC!3!=6b8Q/5 T 6*'6on*0?
N (/N
physical
link
Host
(Sender)

Host
(Receiver)

Edge router

Edge router

n *0?>I
:! (/]uS*',-./$0! 5o5JEJ!=$k5%L(Q/!w6^(!=:6
!(
ORQ/!Rw6/?7:!#88:+5>IJ(+!3:]*28(Q/!:+5>I/(!3:]"%(H(+"71VQ/!=E9"4(z(+Q/!8H!=6
EJ!=:= 8z!36
E|N(j*28(Q/!RW<:+8H(]*'6^(!=:HLY"71!_(5p(+Q/!E/"4(V"p8H!=67(jAS@(+Q/!8!36
EJ!=:
Q/5^8U(#NORQ/!-(U@S.C!;5%LR./QS@J8H*213">$]$'*06/xDI
8!=EP"4(X"b$0*'6
xB,h"[@qAC!g"( T *28U(+!=ED.
"%*0:X1="%A/$0!>l"W
A<!=:5>./(*21;13">A/$'!7l">6
ED!3Z>!=6 T *':+!3$0!=8+8
$0*'6
xCNjORQ
!fw6^(+!3:+6/!(8!3:+Z^*21!*08R.
:54ZS*2EJ!=EgA^@"%6gw6^(+!3:+6/!(S!=:ZS*21! j:+54Z^*2EJ!=:fYH sN/ORQ/!3:+!LM57:!7l7(+Q/!E/"4(V"9.
">8+8H!#8s(Q/:+5>I/?7Q;(+Q/!
H  8s:+5>IJ(+!3:V83NzORQ/!=8!p"%:+!(!=:,-!=E">8_157:!:57IJ(!=:+8=NORQ
!EJ!=6
8H*'(U@h5%L(Q/!#8H!:57IJ(!=:+8s*08sZ>!=:@-Q/*0?>Q"4(s(Q/!fH G!36
EklJ8*'6<1!fQ^I
?>!
">,957I/6^(f5>L_E/"%(+"b"%6<Eq$0*'6/xJ8f(U@S./*213">$'$0@q1576^Z7!3:+?>!9"4(p(Q/!-H zN|n
:57,(Q/!h135>:+!i:+5>IJ(+!3:V83ly(+Q/!hE/"4(V"*08LM5>: T "%:VEJ!=Eq(Q/:+5>I/?7Qq(+Q/!
!=?>:+!=8+8s:+5>I/(!3:V8pY"%((Q/!:+!=13!3*0Z>!3:R!=6
E
s(59(+Q/!157::+!=8.<576
EJ*06/?9:!#1!3*0Z>!=:+8=N
!#"%$'&OR*0,-!X157,-,XI/6/*213"%(*05>6o13">6qAC!i8I/./.C5>:(!=Eb576b(Q/!iw6^(!3:+6/!3(AS@.
:54ZS*2EJ*'6
?h./:!3LM!3:+!36^(*2"%$(:+!="%(,-!36^((+5gE/"4(V"h5%L`13!3:&
(V"%*06D8!36
E/!3:V8(+Q
"4(Q
"[Z7!X!=67(+!3:+!=Er*'6^(5o"15767(+:+"71e( T *v(+QB(+Q/!-H zN _IJ(pLM5>:f(Q
"%(E/"4(V"g.
"71Vx>!3(+8p8HQ
5>I/$2EqQ
"[Z7!iAC!3!=6D13$0"788*'W
!=E
AC!LM57:!-(+:+">6
8H,-*288*05>6|Nhu_((Q
!;15>6
6/!=1(*05>6P8H!3(H&I/.D(*0,9!7l(+Q/!;8!36
EJ!=:./:+54Z^*2EJ!#8f(Q/!hH T *'(QP( T 5b.
"%:V"%,-!(+!3:V83(Q
!h(:V"4;1
8.<!#1*'W<13"%(*05>6"%6
E;(Q/!p8H!=:ZS*21!f8H.C!=13*vW<1="4(+*'576|N]ORQ/!H FI
8!=8`(Q
*08_(+59EJ!3(!=:,-*06/! T Q
!(Q
!3:R*v(13">6"7131!=.J(s57:RQ
">8`(59:!3LMI
8!(+Q/!
13$'*0!36^(:+!=~^I/!=8H(=N9(X1VQ/!#1VxS8LM57:p(Q/!h:+!=85>I/:V1!#8f5>6B(Q/!h.C578+8H*0A/$0!-:57IJ(!#85>Ls(+Q
"4(.<">1Vx>!3(pE
"4(+"
Nhu$'(!3:+6
"%(*0Z>!3$0@>l !h13">6D8+"[@q*'(
(+:*0!=8(5W
6
ED".
"4(+QGYI/6/*213">8H(5>:f,XI/$'(*213"78U(:+5>IJ(+*'6
?^(Q
"%(pQ<">8(Q/!-6/!#1!#88+"%:+@:+!=85>I
:+13!=8(5b8"%(*28ULM@b(+Q/!-:!#~7I
T *':+!=E T 5^bLM57:
(+Q/!8H.C!=13*vW<!=E(:V"4;1f.
"4((!=:6(5hAC!?>!=6/!3:V"4(+!=E;AS@g(Q/!85>I/:V1!7N
Lf(Q/!b6/!3( 57:xG">1313!3.J(V89(Q/!o135>6/6/!#1e(+*'576:+!=~^I/!#8U(#lj(+Q/!36*'(;./:57,-*08!=8i(Q<"4(h(Q
!qE/"4(V"r(+:+">6
8,9*28+8H*05>68H!=:ZS*21! *'$0$,-!3!3(
Y5>:!3{/1!3!#E
R(+Q/T !i13$'*0!36^(&8.<!#1*'W
!=Eq.<!=:HLM57:,h"%6<1!AC5>I/6
E
83Nf5 T !3Z>!=:=l/(Q/!i?>*0Z>!36o?7I
"%:V"%6^(+!3!:+!3,h"%*06
8Z4">$'*2Eo5>6
$'@*vL](+TQ/!i13$'*0!36^(&
?7!36/!=:+"%(!=EF(:V"4;1:+!3,h"%*06
8 T *'(Q/*06(Q/!q8.C!=1*'W
!#E(:V"4;1A<57I/6
E/8=NLp(Q/!q13$'*0!36^(h(+:+"%h1bZS*05>$2"4(+!=8i(Q/!r./:!#8H.C!=13*vW<!=EG(:V"4;1
AC5>I/6<E/83l/(Q/!=6(+Q/!6/!3( T 57:xh,h"[@gEJ:+5>..
"71Vx>!(V83lS57::!#8HQ
">.<!f(+Q/!p(:V"4;1%N
u6/5%(+Q/!3:f*',-.C5>:(+">67(p157,9.C5>6
!36^(f5>L](Q/*28p"%./.
:5^">1VQo*28(+Q/!i.
:5>(!=1(*05>6q?7*'Z7!36o(+5;(+Q/!i:+!=">$v&c(*0,-!i135>6/6/!#1e(+*'576
83Np5>(!i(Q
"%(
(+Q/!g6/!3( T 57:xD8H!=:ZS*21! T *0$0$`,-!3!3(X(Q
!g?>*0Z>!=6.<!=:HLM57:,h">6
1!;AC5>I
6
E/8X"78$05>6/?B">8(+Q/!13$'*0!36^(i(:V"4;1h:+!3,h"%*06
8 T *'(Q/*06K(+Q/!;(+:+"%La&
W<1h8.C!=1*'W<1="4(*05>6l*0::+!=8.<!#1e(+*'Z7!i5>Ls(+Q/!hA<!=Q
"[ZS*'57:5%LR5%(+Q/!3:13$'*0!36^(+8=Ng5 T lk(Q/*28.C!3:LM5>:+,h"%6
13!-1="%6/6
5%(AC!h?>I
">:+">67(+!3!#Eklk*vLR(+Q/!
135>6/6/!#1e(+*'576
8"%:+!-6/5%(./:+5%(+!=1(!=EBLM:+5>,(+Q/!;,-*28HAC!3Q
"[ZS*06/?M57:,-">$'*21*05>I<8+f:+!=">$v&c(*0,-!-">6
ED6/5>6D:+!="%$'&c(*0,9!;85>I
:+13!=8=N-O5q"[Z>57*0E
ZS*05>$2"4(*06/?(Q
!h?>I
">:+">67(+!3!#8,h">E/!i(+5o:!#"%$'&)(+*',-!-1576/6/!=1(*05>6
8=l|(+Q/!h6/!3( T 57:xo,iI
8U(!=*v(+Q/!3:!3{J./$'*21*'($0@B135>6^(:+5>$(+Q/!h*'6
./IJ(:V"4(!#8
576"D.C!3:&135>6/6/!#1e(+*'576GA
"78H*28-*cN !7N8HQ
">./*06/?"%6
EG.<57$'*21*06/?P5%Lf(Q
!qE/"4(V"/l_5>:h">EJ57.J(g8+1VQ/!=EJI
$'*06/?"%$0?>57:*'(Q/,h8i(Q<"4( T *0$'$EJ5K85
core router





1,

Version 2 CSE, IIT Kharagpur

">IJ(57,-"%(*213">$'$0@h*'6(+Q/!6/5JEJ!=8XM!>N ?
N0l/n
">*': T I
!3I/*06/?
lJ}D!3*0?>Q^(+!=Ebn
">*': T I/!=I/*06/?
lJ!3(+1%N eN
ORQ/!#8H!(!=1VQ
6/*0~^I/!#8">:!"h.<"%:(5%L]*067(+!3?7:+"%(!=Eb85%La( "%:+!"%:V1VQ/*'(!=1(I/:+!=8R$0*0x>!w6^(VJ!3:+ZCl !*vd|S!3:+Z!(+1>N'l Q/*21VQoQ
"[Z>!XA<!=!36qEJ!3&
8*'?76/!=EXx>!=!3./*06/?f*'69,-*'6
EiZ4"%:+*'57I
8*08+8HI
!=8.<!=:H(V"%*06/*06/?(+5T :+!=">$v&c(*0,-!_135>,-,XI
6/*01="4(+*'576|N}D!EJ*08+1I<88(Q
!=8!_*28+8HT I/!#8*06i(Q/!_LM5>$0$05 T *'6/?<N
>

 A M 4
 A ADM 
 E A E 

O:+"%;11VQ
">:+"71e(+!3:+*'m#"4(*05>6h*28"i,95JEJ!=$k5%L(Q/!E/"%(+"i?>!36
!3:V"4(*05>61VQ
"%:V">1(!=:*28U(+*01=8j5>L"98H57I/:+13!>Nz57:,h"%$0$0@;"X(+:+"%;1*28R1VQ
"%:V">1(!3:&
*0m3!#ErAS@qAC5>I/6<EJ*'6
?*'(+8Z>5>$0I/,-!>N-uA<57I/6
ED5>6B(Q
!9Z75>$0I/,-!-5%L`(+Q/!9(:V"4;1-13">6BAC!-I
8H!#EB(5bA<57I/6
Er(Q/!;">,-5>I/6^(p5%Ls6
!( T 5>:+x
:+!=85>I/:V1!#8z(Q<"4(R,-"[@9Q
"[Z7!(5iA<!f:!#8H!=:Z7!=E9(+5X./:+54ZS*0EJ!(Q/!:!#~7I
*':+!=E;~^I
">$'*'(U@95%L8!3:+ZS*013!=8=N !I/:*06/?915>6
6/!=1(*05>6;!#8U(V"%A/$0*08Q/,-!36^(#l
:+!=85>I/:V1!#8j"%:+!./:+54ZS*0E/!=E-A
"78H!#E-5>6h(+Q/!(+:+"%h11VQ
"%:V">1(!=:*0m="%(*05>6-"%6
Eh:+!=85>I
:+13!:!#~7I
*':+!3,-!36^(V83NzORQ/!3:+!">:!,h">6^@-8.<!#1*'W<13"%(*05>6
,-5JEJ!3$28./:+5>.C578!=Eg*'6(+Q/!$'*'(!=:+"%(I/:+!fLM5>:R(+:+"%h1p1VQ
">:+"71e(+!3:+*'m#"4(*05>6N}D!EJ*08+1I<88"iLM! T *0,9.C5>:(+">6^(5>6/!#83N
#   0&iK|^H
ORQ/!-  kl 7`,95JEJ!=$yA<57I/6
E/8"(:V"4;185>I
:+13! T *'(Qb".C!="%xh:V"4(+!>N]u15>6
6/!=1(*05>68+"4(+*08HW
!#8  kl 7`,-5SE/!3$clJ*vdo(+Q/!
*06^(!3:&w"%:+:*0Z4"%$k(+*',-!=8fAC!( T !3!=6q( T 5;.
">1Vx7!(V8*28">$ T "[@J8$0!=8+8(+Q
"%6  klk"%6
 Er8H*0m3!95%L](+Q/!i$2"%:+?>!#8U(.
">1Vx7!(*28A<57I/6
EqAS@
N
_5%(+Qg(+Q/!.C!="%x"%6
E"[Z>!=:+">?>!:+"%(!=8R5>L(+:+"%h1f*06(Q/*28,-5JEJ!3$|*28R?>*0Z>!=6AS@
N


 












  

n *0?>I/:+! 1= js576
8H(+"%6^( _*v(&"4(!O:V"4;1
ORQ/*289,-5SE/!3$./:+54ZS*0EJ!#8i"B(+*'?7Q7(-AC5>I/6
EGLM57:; R (:V"4;1%Nn/:+5>,n*0?
N -= *'(g13">6FAC!b8!3!=6F(+Q
"4(-LM57:; R (:V"4;1A<5>(Q
(+Q/! T 57:+8H(f1=">8!9">6
Eo(+Q/!h"[Z>!3:V"%?7!.
">1Vx7!("%:+:*0Z4"%$(*0,9!#8"%:+!X(+Q/!-8">,9!7NX5 T !3Z7!3:#lCLM5>:pA/I/:V8U(U@(+:+"%h1iI
8!-5%Lj(+Q/*08p,-5JEJ!=$(+5
8.<!#1*'LM@(+:+"%h1R1VQ
">:+"71e(+!3:+*08H(*21j:+!=8I/$'(+8z*069Z7!3:+@1576
8H!=:Z4"%(*0Z>!_:!#8H57I/:+13!s:+!=8!3:+Z4"4(+*'576|l4$'!#">EJ*06/?f(5p$05 T IJ(+*'$0*0m="4(+*'576-5%L
(+Q/!:+!=8!3:+Z>!=E
:+!=85>I/:V1!#83N
#U &iK|SU
w6B(Q/*28,-5JEJ!3$z(+Q/!-(*0,-!;"4{J*28*28EJ*0ZS*0EJ!#ED*'6^(5b*06^(!3:+Z4"%$28f5%Ls$0!36
?%(QPO !=">1VQl|13"%$0$0!=ED"gLM:V"%,-!7N9u 135>6/6/!#1e(+*'576B8+"4(*28HW
!=8hY:=l O
,-5JEJ!3$clC*vL]*'(?>!=6/!3:V"4(+!=86
5;,-5>:+!p(Q
">6o:=N OA/*v(V85>L](:V"4;1p*'6B"%6S@g*06^(!3:+Z4"%$OpN
w6b(Q
*08,-5SE/!3$cl<:*28(+Q/!XI
./.<!=:AC5>I/6<Eo5>6b(+Q/!
"[Z7!3:V"%?>!9:V"4(!g54Z>!3:p(+Q/!"[Z7!3:V"%?7*'6/?*067(+!3:+Z4"%$sOpNORQ/*28,-5JEJ!3$_*08X*'6K85>,-!g8!36<8H!g8*0,9*0$2"%:(+5o(Q/!D   l ,-5JEJ!3$cNqORQ/*28
,-5JEJ!3$y"%$285./:+54Z^*2EJ!#8j"p(*0?>Q^(_A<57I/6
E-LM57:R R(:V"4;1>N5 T !=Z>!3:#l%LM57:`A/I
:+8H(U@X(+:+"%;1*v(_:!#8HI
$v(V8j*06;Z>!=:@-1576
8H!=:Z4"%(*0Z>!:+!=85>I/:V1!
:+!=8!3:+Z4"4(*05>6l^$0!="7EJ*06/?9(5-$'5 T IJ(*0$0*'m#"4(*05>6b5>L(+Q/!:!#8H!=:Z7!=Eh:+!=85>I
:+13!=8=N
# 
1&iKSU
w6P(+Q/*08i,-5JEJ!3$cl  8H.C!=13*vW<!=8(+Q/!g,-*06/*0,XI/,*067(+!3:&">::+*0Z[">$z(*0,-!gAC!( T !3!36P( T 5q.
"71Vx>!3(+8=N r8H.C!=13*vW
!#8(+Q/!;,h"4{J*0,XI/,
.
"71Vx>!3(p8*'m=!9">6
Eq*08p"1!=:H(V"%*06r*067(+!3:+Z4"%$z54Z>!=: T Q/*21VQB(Q/!-5>A<8H!=:Z4"4(+*'576
8">:!9Z4"%$0*0E|N *28f(Q
!-"[Z7!3:V"%?7!*'6^(!=:H&w"%:+:+*'Z4"%$(*0,-!
AC!( T !3!=6r.
"71Vx>!(p54Z>!=:f">6S@o*'6^(+!3:+Z[">$)N9S5"b135>6/6/!#1e(+*'576B8+"4(*28HW
!=8(Q/*28p,-5JEJ!3$]*'Ls*'(8"%(*28UW
!#8-  D 7,-5JEJ!3$]"%6<Eq(+Q/!
"[Z7!3:V"%?>!`*'6^(!=:H&w"%:+:+*'Z4"%$>(*0,-!5%LC135>6
8!=13IJ(*0Z>!s.
">1Vx7!(V8*28z$2"%:+?>!3:(Q<"%6 sEJI/:+*06/?f">6S@*'6^(!=:Z4">$J5%L
$0!36/?>(Q9eN%!=:!R*06X(+Q/*08z,-5JEJ!=$
(+Q/!h.<!#"%xq:V"4(+!h"%6
Er(Q/!;"[Z7!3:V"%?7!:+"%(!-5%Ls(Q/!-(+:+"%;19">:! +  D"%6
E + #Nh5>(!=8f(+Q
"4((+Q/*28,-5SE/!3$j./:+54ZS*0E/!=8
AC5>I/6<E/8]LM57:`AC5%(Qg.<!#"%x9:+"%(!">6
Eh"[Z>!=:+">?>!_:+"%(!5>LC(+Q/!(+:+"%;1%NzORQ/*08s,-5JEJ!3$<./:54ZS*2EJ!=8jA<!3(H(!=:_1VQ<"%:V">1e(+!3:+*'m#"4(+*'576i5>L R(:V"4;1
135>,-.
"%:+!=E;(5hAC5%(+QP   l R">6
EPM:#l Os,-5JEJ!3$283N
# D &9K|^H
w6D(Q
*08X,95JEJ!=$ *08(Q/!;,h"%{S*0,XI
,tA/I/:V8H(X8H*0m3!;">6
E q*08(Q/!;$05>6
?(+!3:+, "[Z7!3:V"%?>!i:+"%(!h5>Ls(+Q/!g85>I/:V1!9(:V"4;1>l:+!=8.<!#1e(*0Z>!=$'@7N
uZ>!3:V"%?7!(+:+"%h1i*2813"%$21I
$0"%(!=EBAS@KM6SI/,iA<!=:5%Ls.<">1Vx>!3(+8f?>!=6/!3:V"4(+!=Eo54Z7!3:p$2"%:+?>!iE/I/:+"%(*05>6< +JY$0">:?7!iEJI/:V"4(+*'576<eN9u 1576/6/!=1(*05>6
8+"4(+*08HW
!=89 D Sl|*'LsEJI/:+*'6
?"%6S@b*067(+!3:+Z4"%$5%L`$0!36/?>(Qr((+Q/!i6SI/,iA<!=:5>L`A/*'(+8f?>!=6/!3:V"4(+!=EbAS@b(Q
!9135>6/6/!#1e(+*'576q*'6r(Q
"%(f*06^(!=:Z4"%$*28
$0!=8+8_(Q
">6  7(=N _I/:V8U(,h"[@g135>,-!54Z7!3:_(EJI/:V"4(+*'57657:_6
5%(A<!#13">I
8H!p*'(*08RZ7!3:+@h*'6JLM:+!=~^I/!=6^(8H596/5-5%LA/*v(V8?>!=6/!3:V"4(+!=Eg*08R$0!=8+8


 





 

!



"



"

 # 

 #

 



$ %

&$

'%

$ (%

)$

*%



1.

Version 2 CSE, IIT Kharagpur

(+Q
"%6b5>:R!#~7I<"%$  7(=NjORQ/*28,-5JEJ!3$|1="%6bAC!8"%(*28ULY"71e(57:*0$0@hA<!I
8!=Eg(5h,-5JEJ!=$kA/I/:V8U(U@h(+:+"%;1f85>I
:+13!=8=N
M# zYg[/= `CY_u,-5>:+!"71313I/:+"%(!f"%././:+5[{J*',h"%(*05>6-LM5>:RA/I
:+8H(U@9(:V"4;185>I
:+13!=8_13"%6gA<!p5>A/(+"%*06/!#E;AS@h1VQ
"%:V">1(!3:&
*0m3*06/?i(Q/!f(:V"4;1 T *v(+Qg,iI/$v(+*'.
$'!pAC5>I/6
E/*'6/?h"[Z7!3:V"%?>!:V"4(+!=8=lS!=">1VQg54Z>!3:REJ*'dC!=:!=6^(R"[Z7!3:V"%?>*06/?*06^(!3:+Z4"%$283N]u (:V"4;1 T 57I/$2E;8"%(*28ULM@
M: l O Y:V/l O7eN0N'N 7lS*'L    V    l
">6
E54Z>!3:">6S@g*067(+!3:+Z4"%$|s(Q/!X6^I
,XAC!3:5>LzA
*v(V8?>!=6/!3:V"4(+!=E*08A<57I/6
EJ!#EbA^@:* 4OR**vL
#Ii
#VN_u8(+Q/!i"[Z7!3:V"%?>*06/?9*'6^(+!3:+Z[">$|?>!3(+8$'576/?>!=:=l
"g8H57I/:+13!*08A<57I/6
EJ!#EbAS@"h:V"4(+!$'5 T !3:(Q
">6o*v(V8.C!="%x:V"4(!">6
E
13$'5^8H!=:s(+5h*v(V8$05>6/?i(!=:, "[Z>!3:V"%?7!:V"4(+!>N
iz=
\6
13!;"(:V"4;1h85>I/:V1!hQ
"788.<!#1*'W
!=EP*'(+8p(+:+"%;1;1VQ
"%:V">1(!=:*28U(+*01=8p"%6
ED*'(+8 T 5SB:!#~7I
*':+!3,-!36^(V8f(5o(+Q/!;6/!3( 57:xyl*'( "%*'(+8pLM57:
(+Q/!X6/!3( T 57:x(5">1313!3.J((Q/!i:!#~^I/!=8H(AC!LM57:!*'(f1="%6r8H(+">:H(*v(V8(+:+">6
8H,-*288*05>6
8=NORQ/!X6
!( T 5>:+x576o*v(V8.
">:H(p1VT Q/!=1VxJ8*'Ls"7T EJ!=~^I
"%(!
:+!=85>I/:V1!h*28X"[Z4">*'$2"%A/$0!;"%$05>6
?q"%6S@B.<"4(QPLM:+5>,85>I/:V1!h(+5rEJ!#8U(+*'6
"%(*05>6P(+5q,-!3!(i(Q/!EJ!3,h">6
EkNq57IJ(!8H!=$'!#1e(*05>6 YI/6/*213">8H(i57:
,iI/$v(+*01=">8H(VsLM57:"98!=8+8*'576EJI
:*06/?9(Q/!135>6/6
!=1e(+*'576!#8U(V"%A/$0*28HQ/,-!=67(./Q<">8!>N
 ?QH   @B E
sI/:+:+!36^(jw6^(!3:+6/!3(`./:+5%(5J135>$28zI
8H!:+5>I/(*06/?"%$0?>57:*'(Q/,h8j8I
1VQh">8](Q/!8Q/57:H(+!=8H(j.
"4(+Qh:57IJ(*06/?*06 Q/*01VQ-(+Q/!:+5>IJ(+*'6
?13"%6-AC!5>./(*'&
,-*0m3!=E9LM57:j8H57,-!,9!3(:+*01 T *v(+Q/5>IJ(](V"%xS*06/?*'6^(+5">13135>I/6^( T Q/!3(Q/!=:](Q
!:!#~^I/*':+!=Ei:+!=85>I/:V1!R*28j">1(T I
">$'$0@i"[Z4"%*0$2"%A/$0!>N]s5>6
8!=~^I/!=67(+$'@7l
(+Q/!B
5 T 8j,9*0?>Q^(`AC!:+5>I/(!=E954Z7!3:](+Q/!.
"%(Q
8j(Q
"%(s"%:+!I/6
">A/$0!(598HI/.
.<57:H(j(+Q/!3*0:`:+!=~^I/*0:+!3,-!36^(+8 T Q/*'$0!5>(Q/!=:`.
"%(Q
8`,9*0?>Q^(`!3{J*08H(
T135>Q/6/*26/1VQP!#1e1(+*'5>57I
6
$083ErNzQ
!"[#Z>8H!-!#"%8:V"%1V(Q/*28U!3W<:V!=8zEoQ
"[(+Z>Q/!!h6/8H5.C!=13./*vW<:!=57EB.<5^:8H!#!#~7E I
*':+!3 ,-!3"$6^(V83N9
AORQQ/5>*0_:8 LT %5> I/&'$2EB"$#$'
!# a"> EoFb#\(+5b&1ONA/:"$!#">1VQq
A5>Q L_13Q/5>,-*21VQh,-54*v(Z>(!3!=:VE 157T ,-5^!Rr(Q/?>!#I<8H"%!:V"%./6^:(57!=A/!=$08!3,b(+5 N
T
ORQ/!.
:*0,h"%:+@h?>57">$08_5>L T 5S;:+5>IJ(+*'6
?9T ">:!7
E O5h8!3$0!=1(R:+5>I/(!=8_(+Q
"4(1="%6,-!3!(13!3:(+">*'6 T 5^g:!#~^I/*':+!3,-!=67(V83l
E O5-*06
1:+!="78H!(Q
!IJ(*0$'*0m="%(*05>6b5%L(Q/!6
!( T 5>:+xCN
} Q/*0$0!-E/!(!=:,-*06/*06/?":+5>IJ(+!>l T 5So:+5>IJ(+*'6/?b8+1VQ/!3,-!=8f6/5>(f576/$0@r1576
8H*2EJ!=:(+Q/!9(5>.C5>$05>?7@o5%Ls"6/!3( 57:xylyA/IJ(">$085g(+Q/!-:!3&
~^I/*0:!=,-!36^(5%L(Q/! 
5 T lS(+Q/!:+!=85>I/:V1!p"[Z4"%*0$0">A/*'$0*'(U@h5%L(+Q/!$0*'6/xJ8=l
"%6<Eg5>(Q/!=:.<57$'*21*0!=8R(+Q
"4(,h"[@hAC!8H.CT!=13*vW<!=EAS@;(Q
!f6
!( T 5>:+x
"7EJ,-*'6/*28H(:V"4(57:+8=NORQ
!3:+!LM5>:+!>l T 5^9:+5>IJ(+*'6
? 57I/$2E-A<!f"%A/$0!(5W
6
E;"X$'576/?>!=:`"%6
E-$0*0?>Q^($0@^&c$057"7EJ!=E9.
"%(Q;:V"4(+Q/!3:`(Q
">6-(Q/!f8HQ/57:H(&
!#8U(.
"%(QB(Q
"%(,h"[@qA<!hQ
!="[ZS*'$0@^&c$057"7EJ!=E|N T T 5Sq:+5>IJ(+*'6
?b8+1VQ/!=,9!#8"%:+!9(Q/!=:!3LM5>:+!i!3{S.C!=1(!#Er(+5oA<!h,-57:!h8I
1313!=8+8ULMI/$z(+Q
"%6D(+Q/!
(+:+"7EJ*v(+*'576
"%$k:+5>I/(*06/?h81VQ/!=,-!=8_*'6b,-!3!3(*06/? T 5^g?>I<"%:V"%6^(!=!=8=N
$
















  @B E C   EF P
ORQ/!9157,9.
$'!3{S*'(U@5%Lj" T 5^:+5>I/(*06/?g"%$0?>57:*'(Q
,EJ!=.<!=6
E/85>6o(+Q/!i1VQ/5^8H!=6 T 5^b1576
8H(:V"%*067(V88I
1VQq">8Q/5>.r135>I/6^(#l<A
">6
E T *2ES(Ql
EJ!=$0"[@7l/EJ!3$2"[@^& U*'(H(+!3:!3(+1%NjORQ
! T 5Sg135>6
8H(:V"%*06^(+81="%6A<!EJ*0ZS*0E/!=E*'6^(+5i(+Q/:+!3!pA/:+57">E1$2">8+8!=8 8 -.;< N
!(fEM*cl pEJ!=6/5%(+!i"1VQ/578!36q135>6
8H(:V"%*06^(LM57:(+Q/!-$'*06/xM*cl NXn/57:f">6S@.<"4(Q ?Y*)l lkxyl0N'N0N$clC,;l"g135>6
8H(:V"%*06^(fE 5>I
$0E
AC!p(!=:,-!=E #/O:O

`\3l
*'L]E| _ E|M*cl  E| l x/ N0N0N E|Y$)l ,;eNjn/57:!{/"%,-./$0!>lJ!=6
ES&c(5>&c!=6
EgEJ!=$0"[@g*08">6">E
EJ*v(+*'Z7!15>6<8UT (+:+">*'6^(
">6
E*08R!#~7I<"%$y(5-(+Q/!8I/,5>L(+Q/!EJ!3$2"[@;5>L(Q
!*'6<EJ*'ZS*2EJI
">$k$'*06/xJ8*06(+Q/!.
"%(Q|N 7*'(H(!=:=l/13578H("%6
EQ/57.b135>I/6^("%:+!"%$28H5-">E
EJ*v(+*'Z7!
135>6
8H(:V"%*06^(+8=N
u 1576
8H(:V"%*067(R*28_(!3:+,-!=ME ([C

*#
`\3l
*'L C #  C D S  C :D /   C -D$>bNjn/57:_!3{/"%,-./$0!>lJ:+!3$0*0">A/*'$0*'(U@;15>6<8U(+:+">*'6^(
*28R,XI/$'(*0./$0*01="4(+*'Z7!>NjORQ/!:+!3$0*0">A/*0$'*'(U@;5%Lz"9.
"4(+Q*28?7*'Z7!36gAS@g(Q/!./:+5JEJI
1(R5>L(+ Q/ !:+!3$0*0">A/*'$0*'(U@;5%L(Q/!*06
EJ*0ZS*0EJI<"%$|$0*'6
xS8=N
S*0,-*'$2"%:+$0@>lj"D15>6<8U(+:+">*'6^(i*28i(!=:,-!=E  L#%`\3l`*'LE| s  ,-*06 E|Y*)l el_E| l x/elfN'N0N0l`E|M$cl ,h 7Nu6F!3{/"%,-./$0!5>L"B135>6
1="[Z>!
135>6
8H(:V"%*06^(z*28jA<"%6
E T *2ES(+Q|N _">6
E T *2ES(Q-576-"p.<"4(Qh*28]!#~7I<"%$J(+5p(Q/!,-*06/*0,XI/,A
"%6<E T *0EJ(Qh5%Lk"p$0*'6/x95>69(+Q
"4(`.<"4(QN}P"%6/?">6
E
s:+5 13:5>La(j./:+54Z>!=E9(+Q
"4(_(Q
!./:+5>A/$0!3,5>LkW
6
EJ*06/?9.
"4(+Qg8HI
A U!=1(`(5X( 5i5>:s,957:!f">E/E/*v(+*'Z7!"%6<E +[57:j,XI/$'(*0./$0*01="4(+*'Z7!1576
8H(:V"%*067(V8
*06i">6^T @p.C578+8H*0A/$0!s135>,XA
*'6
"%(*05>6*28 ]&w157,-./$'!3(! 8 < Nz5 T !3Z7!3:#l3(+Q/!_./T :5S5>L/5%L
j&Us57,-./$'!3(!=6/!=8+8*28A
">8!=EX5>6(+Q/!_"788I/,-.J(+*'576
8
*
>











Version 2 CSE, IIT Kharagpur

(+Q
"4(# R"%$0$y(Q
!15>6<8H*2EJ!3:+!=E1576
8H(:V"%*067(V8R"%:+!f*06
EJ!=.<!=6
EJ!=67(#<">6
E7s(Q/!E/!3$2"[@g"%6
E U*'(H(!=:5%Lz!3Z7!3:+@h$'*06/x"%:+!fxS6/5 T 6b"9./:+*'57:*cN
u$v(+Q/5>I/?7Qr(+Q/!-W
:V8U("788I/,-.J(*05>6D*28p6/5>:+,h"%$0$'@b(+:I/!-LM57:1*0:+13I/*v(&8 *'(+1VQ/!#Er6/!3( 57:xJ8=lkA
"%6<E *0EJ(Q|lEJ!3$2"[@>l">6
E U*v((!3:i"%:+!i6/5>(
*06
EJ!=.<!=6
EJ!36^(f.
"%:V"%,-!(+!3:V8R*'6q1=">8!5%Lz.
">1Vx7!(8 T *v(V1VQ/!=Eb6
!( T 5>:+xS8=T N`u8"h:+!=8I/$'T (=l/.C5>$0@S6/5>,-*2"%T $">$'?75>:+*v(+Q/,h8R$'*0x>! _!=$'$0,h"%6J&wn/57:+E
">6
E(Q/!X!{S(!=6
EJ!=E !* UxS8H(:V"/ 8">$'?75>:+*v(+Q/, 8 ; :1< !{J*28U(LM57:157,-./IJ(*06/?;:+5>I/(!=8 *v(+QoQ/5>.q135>I/6^(=lCEJ!3$2"[@>l<"%6
E U*'(H(+!3:135>6
8H(:V"%*06^(+8=N
w6^(!=:!#8U(+*'6
?>$0@>lA<"%6
E T *2ES(+QP">6
EDQ/5>.135>I/6^(X1576
8H(:V"%*067(V8"%:+!-,957:!-*0,-.<57:H(V"%T6^((Q
">6D(Q/!gE/!3$2"[@q5>: U*'(H(+!3:i135>6
8H(:V"%*06^(+8=l8*'6
13!
(+Q/!=8!;( T 5r"%:+!-(5D"o$2"%:+?>!;!3{^(+!36^(9E/!(!=:,-*06/!=EPAS@D(Q
!gA
">6
E T *2ES(QF">6
EQ/57.K157I/6^(91576
8H(:V"%*067(V8"%6<EK"%$28H5o,-5^8U(9:!#"%$'&)(+*',-!
8!3:+ZS*013!=8p:+!=~^I/*0:!hA
">6
E T *2ES(QK"78X">6D!#88!36^(+*0">$`1576
8U(+:+">*'6^( T Q/*0$0!h(Q/!gQ/5>.157I/6^(i1576
8H(:V"%*067(XE/!(!=:,-*06/!=8!dy!=1e(+*'Z7!;:+!=85>I/:V1!
IJ(+*'$0*0m="4(+*'576|N
w6b(+Q/!$2">8H(( 5;E/!=13"7EJ!=8=l<8!3Z7!3:V"%$|">$'?75>:+*v(+Q/,h8Q
"[Z>!AC!3!=6o./:+5>.C578!=E(5g"7E/EJ:+!=8+8R(Q
!XZ4"%:+*'57I
8R./:+5>A/$0!3,h8">8+8H5J1*2"4(+!=E *'(Q
I/6
*01=">8H(s"%6
E-,iI/$'T (*213">8H(`:+5>IJ(+*'6
?
Njs5>,-./:+!3Q/!=6
8H*0Z>!R:+!3ZS*0! T 8j5>LkI/6/*213">8H(`"%6<E-,XI/$'(*213"78U(s">$'?75>:+*v(+Q/,h8zLM5>: T 5^i:+5>IJ(+*'6/?">:!"[T Z4">*'$'&
">A/$'!X*'Q6 8 Jl =;< BN 5qI/$v(+*',-!#EJ*0""%./.
$'*213"%(*05>6
8=l T Q/*21VQo:!#~^I/*':+!,XI
$v(+*01=">8H( T 5^:+5>IJ(+*'6
?
l<">:!AC!=135>,-*06/?hZ>!=:@*',-.C5>:(+"%6^(">6
Eo"%:+!
TT *25SEJ;!3$0:+@;5>IJAC(+!3*'*06
6/?
?-l/I
"%86<!=E;E(+*'Q/6!3,h6b"%*06^6SZ7@;!=8H8H(5>*0La?7("%:(!#!"%"i$'&)(+LM*'! ,-!p*',-"%./.C./5>$0*2:13(+"4"%(+6^*'(576
./8=:+N5%(+w5S613(5>Q
$283!N LM57$'$05 T *06/?
l T !fEJ*28+1I
8+88H57,-!*288I/!#8s:+!3$0!3Z4">67(_(5-,iI/$v(+*01=">8H(
T


 oVz3|i]3

w6^(!=:6
!(*08W
6
EJ*06/?-?>:+5 T *'6
?iI
8!p*'6b,h"%6S@;85%La(:+!=">$v&c(*0,-!f">././$0*01="4(*05>6<83Nzw6o">E/E/*v(+*'576g(+5hZ^*2EJ!=5%&5>6J&wEJ!3,h">6
EklJ"%6
Eg(!=$'!#1576JLM!3:&
!=6
1*06/?
ly,h"%6S@bEJ*28U(+:*0A/IJ(+!=Er">././$0*01="4(+*'576
8:+!=~^I/*0:+!,XI/$'(*213"78U(p157,9,iI/6/*213"%(*05>6|N 6 *'ZS*06/?g!#">1VQr85>I/:V1!i"%6q*06
EJ!=.<!=6
EJ!36^(p.<57*'6^(&
(+5%&.<57*'6^(f135>6/6
!=1e(+*'576o(5!="71VQrEJ!=8H(*06
"%(*05>6q*28">6qI/6
"71313!3.J(V"%A/$0!i">././:+57">1VQbAC!=1="%I
8!X5>L](Q/!9.<5>(!=67(+*0">$ T ">8H(+">?>!5>Lj:!#8H57I/:V1!=8=N
ORQ/!i15>,-,-5>6q">././:+57"71VQ*28(+5g1576
8U(+:I<1e(LM57:!="71VQo8H57I/:+13!"h,XI
$v(+*01=">8H((:+!3!X135>6/6
!=1e(+*'576|N`"71VQZ7!3:(!3{576b";,XI/$'(*213"78U((+:!=!
:+!3./:+!=8!36^(V8s!=*v(+Q/!3:"i:+5>I/(!3:R57:"iQ
578H(=N
\6/!1="%6b8"[Z7!f"9?>:+!="%(RE/!="%$5%L:+!=85>I
:+13!=8_AS@;Q
"[ZS*'6
?i(+Q/!8H57I/:V1!=88Q
">:!f:!#8H57I/:V1!=8 Q/!=6/!3Z7!3:R.C578+8H*0A/$0!>Njn/57:!{/"%,-./$0!>lJ*06
">6b">I
EJ*05;1576JLM!3:+!36
13!>l/576/!;M57:"4(A<!#8U("9LM! T R.C!35>.
$'!8.<!#"%x"4(">6^@g(*0,-!>N_w6b8I
1VQq"hT 8+1!=6
"%:+*'5<l T !1="%6oEJ!3W
6/!X"-,iI/$v(+*01=">8H(
?7:57I/."78R5>6/! T Q/!=:!f(+:+"%h1LM:+5>,"-8!(5>L85>I/:V1!#8`(+:+"[Z7!3:V8H!p85>,-!15>,-,-5>6:+5>IJ(+!3:V8_">6
E(:V"%6
8,-*08+8*'576g$0*'6/xJ8=N
ORQ/! T 5Si:57IJ(*06/?pLMI/6
1(*05>6h*06;"p,XI/$'(*213"78U(_"%././$0*213"4(+*'576-*'6SZ>57$'Z7!=8W
6
E/*'6/?i"f(:+!3!:+5S5%(!#Ei"%(s"85>I/:V1!">6
E-154Z>!=:*06/?p"%$0$/(+Q/!
:+!=13!3*0Z>!3:V8=l T *'(Q!3Z7!3:+@h.
"4(+QgLM:+5>, (+Q/!8H!=6
EJ!=:s(+59(Q/!p:+!=1!=*'Z7!3:V8s8+"4(+*08HLM@S*'6
?X(+Q/! T 5^g:!#~7I
*':+!3,-!36^(#NORQ/!f(+:!=!p135>6
8H(:+I
1(*05>6g*06
,iI/$v(+*01=">8H(*06/?">:!XI
8HI<"%$0$'@b.C!3:LM5>:+,9!#Eo*06o( T 5gA
">8*01 T "[@J8=8H57I/:+13!&A
">8!=Eb">6
Eq157:!3&cA<">8!=EkN}D!X6
5 T EJ*08+1I<88f"-LM! T :57IJ(*06/?
./:+5%(+5J15>$28_A<!=$'576/?>*06/?9(5-(+Q/!=8!f( T 5-A/:+57"7Eg1="4(!=?>57:*0!=8=N
 B  H @B MN
 SA

  @ E
 D  MN C
w6(Q
!pLM5>$0$'5 T *06/?
l T !EJ*2813I
88_( T 5-*',-.C5>:(+">67(85>I/:V1!3&cA<">8!=Eh:+5>IJ(+*'6
?9.
:5>(5J157$08=N
U   # U ==/> S%#
M=)> = gC#Y p4<=|7< &
! 5q 8 V < *0,9.
$'!=,9!=6^(+8;85>I/:V1!3&cA<">8!=EP(+:!=!=8 *'(Q:!=Z>!=:+8!g.
"%(QLM5>: "%:VEJ*'6
?
l]./:+I/6/*06/?"%6
EG?>:V"4La(+*'6
?
N(;:!=$'*0!=8-576F(+Q/!
!3{J1VQ<"%6/?7!5>L>E/*08H(+">6
1!pZ>!#1e(+5>:RI/.yE/"4(+!=8+9">,-5>6/?-T 6/5JEJ!#83N]`"71VQZ7!=1(5>:R!=T 67(+:@15>6^(V"%*06
8s(Q/!EJ!#8U(+*'6<"4(*05>6b"%6<EE/*08H(+">6
1!p*06JLM5>:&
,h"4(+*'576b!{J./:+!=8+8H!#Eg*06(!3:+,h85%L]6SI/,iA<!=:5%LzQ/5>.<83N`ORQ
!=8!I/.CE
"4(!#8"%:+!8H!=6^(5>6!="71VQ$0*06/xyNsORQ/!,iI/$v(+*01=">8H(EJ*28U(+:*0A/IJ(+*'576(+:!=!
*28_(Q/!=6q1:+!="%(!=E|N
  #UM#Y7 3  s^ <[= = J=M 3 & <=) p4<=|7<

5B\p `n 8 < *08i"q,XI
$v(+*01=">8H(X!{S(!=6
8*'576(5r(Q/!o\p `n I/6/*213"78U(9$'*06/x^&8H(+"%(!;:+5>I/(*06/?q./:+5%(+5S135>$cNqw6\p sn!#">1VQ:+5>IJ(+!3:i.<!3&
:+*'5JEJ*213">$'$0@P8H!=6
E/8$0*06/x8U(V"4(!#8(+5r"%$0$`5>(Q/!=:X:+5>IJ(+!3:V8*06(Q/!g6/!( T 5>:+xJ83Nqs">1VQP:57IJ(!=:A/I/*0$2E/8XI
.F"q157,-./$'!3(!6/!( T 5>:+xr,h"%.N
} *'(Qg(Q/*28`*06JLM57:,h"4(+*'576h!="71VQ;:57IJ(!=:`*28`">A/$'!(5915>,-./I/(!(+Q/!8Q/57:H(+!=8H(`.
"4(+Q;(+5!3Z7!3:+@9EJ!#8U(+*'6<"4(*05>6g*'6h(+Q/!f6/!( T 5>:+xXI
8*06/?(+Q/!
!* UxJ8H(:V"/ 8p8HQ/57:H(+!=8H(.
"%(QD"%$0?>5>:+*'(Q/, 8 :1< N 5B\p `n!3{S(!36<E/8(Q/!#8H!9$'*06/xq8H(+"%(!=8(5b"%$285g*06
1$0I
EJ!9*'6/LM5>:+,-"%(*05>6r">A<57IJ(p?>:+5>I/.
,-!3,iA<!=:+8Q/*0.
8=N;`">1VQD:+5>IJ(+!3:">EJZ7!3:(*28H!#8(Q/!;.
:!#8H!=6
1!-5%L_,XI/$'(*213"78U(?7:57I/.D:!#1!3*0Z>!=:+8f"4((+"71VQ/!=EB(5b*'(=NgORQ
!3:+!LM5>:+! 5B\p sn
1="%6r135>6
8H(:+I
1e(p"g8Q/5>:(!#8U(&c.<"4(Qr,XI/$'(*213"78U((:+!3!>ly*cN !7Nf(Q/!9.
"4(+QoLM:+5>,(Q
!985>I/:V1!(5g!#">1VQq:+!=13!3*0Z>!=:*06q(Q
!i,iI/$v(+*01=">8H((+:!=!X*28










Version 2 CSE, IIT Kharagpur

(+Q/!I/6/*213"78U(f8HQ/57:H(+!=8H(H&.
"4(+Q|Njw6
8H(!#">Eb5>L:+!3$0@S*'6/?h576 
5S5JEJ*'6
? +[.
:I/6
*'6/?-*06JLM5>:+,h"4(+*'576$0*0x>! ! 5q zl
*06I5B\p snK!#">1VQb:57IJ(!=:
x7!3!3.<8`*06JLM5>:+,h"4(+*'576;"%AC5>IJ(R"%$0$<?7:57I/.;,-!3,iA<!=:+8s"4("%$0$<:+5>IJ(+!3:V8j*06h(Q
!6/!3( T 57:xyNu$0*',-*'(+"%(*05>6g5>L 5B\p snB*28`(Q
"%(s*'(REJ5S!#8`6/5>(
8+13">$'! T !3$0$y(5h$2"%:+?>!f6/!( T 5>:+xJ83N
 B
)
 A

$ 
K
PO QR 9@SCFE MNAD 0   @ E
w6h(+Q/!135>:+!&A
">8!=EX(:+!3!1*'(!3A<"%$0$)l A
"%$0$ "%./.
:5^">1VQ|l4W<:+8H(s"135>:+!LM5>:_",XI/$'(*213"78U(`(:+!3!*28s8!3$0!=1(!#EkNORQ
!EJ*'dC!=:!=6^(s:+!=1!=*'Z7!3:V8]8H!=6
E
(+Q/!3*0:8I/A
8+1:+*'AC!X:+!=~^I/!#8U((+5;(+Q/*08f157:!7N`">1VQb*06^(!3:+,-!=EJ*2"4(+!X:+5>IJ(+!3::+!3,-!=,XAC!3:V8(Q
!*'6^(+!3:LY">1!LM:57, T Q/*21VQo(+Q/*08:+!=~^I/!=8H(Q
"78
AC!3!=6:+!=13!3*0Z>!=E;*'65>:VEJ!3:_(+5i*06
1$0I
EJ!p*'(*'6^(5i(Q
!pE/*08H(:+*'A
IJ(*05>6(:+!3!7N} Q
!36b"i85>I/:V1!p8!36
E/8RE/"%(+"X(59(Q
!,iI/$v(+*01=">8H(?>:+5>I/.|l^(+Q/!
.
"71Vx>!3(:!#">1VQ/!#8f"oW
:+8H(5>6/&)(+:!=!9:+5>I/(!3: Q/*01VQD(+Q/!36:+!3./$0*213"4(+!=8p(+Q/*28.
"71Vx>!(576K"%$0$](Q/!g5>6J&c(:+!3!-*067(+!3:LY">13!=8!3{J13!3.J(X(Q/!h576/!
LM:+5>, T Q
*01VQ(Q
!.
">1Vx7!(13"%,-!pLM:+5>,bN T
  U 4C#Y p[<=>C
`:5>(5J157$kw6
EJ!3.C!36<EJ!36^S( 5oI
$v(+*01=">8H(X j 5B 8 $ < ">8(Q/!6<"%,-!*v(V8H!=$vLj8I/?>?7!=8H(+8R*28*06
EJ!3.C!36<EJ!36^(5>Lz">6S@gI/6
E/!3:+$'@S*06/?h./:+5%(5J135>$cNj(
135>6
8*08H(+85%L]( 5g,iI/$'(*213">8H(:+5>I/(*06/?g./:+5%(+5J15>$28= !!36<8H! 5o5JEJ!b ! 5r ` 5">6
ErS.
">:+8! 5q5SE/!) 5r ` 5Ny}B!96/5 T EJ*28+1I
8+8
(+Q/!=8!p( T 59./:+T 5%(+5S135>$283N
US #P| # U &   (p*08f*06^(!36<EJ!=EqLM5>:p*'6^(+!3:&EJ57,h"%*06q:57IJ(*06/?"%6
EB">8+8HI/,-!#8(+Q
"4(?>:+5>I
.q,-!3,XAC!3:V8f"%:+!iEJ!=6
8H!=$'@
EJ*28H(:+*'A/I/(!=EG*06F(+Q/!o6/!( 5>:+xyNF!=6
1!7l`*'(;*089:+!="78H576
"%A/$0!;(+5">8+8HI/,-!(Q
"%(h!=">1VQ"%6
EG!3Z7!3:+@:57IJ(!=:98Q/57I/$0EGAC!*06SZ>57$'Z7!=EK*06
,iI/$v(+*01=">8H(=NjORQSI
8=l/"%6o"%.
T ./:5^">1VQ;$0*0x>!!3Z7!3:V8H! ]"%(Qn$05S5SE/*'6/?-(+Q
"4 ( <5^5JE/8E
"4(+">?>:V"%,h8s(5-!3Z7!3:+@h,XI/$'(*213"78U(:+5>I/(!3:#N
/ #o| # &  3 <( ">8sW
:V8U(R*067(+!36
E/!=EgLM5>: *0E/!&w"%:+!=",iI/$'(*213">8H(:57IJ(*06/?<Nw6b 5lJ,iI/$v(+*01=">8H(?>:+5>I/.;,-!=,XAC!3:V8
">:!;8.
"%:V8!3$0@rEJ*28U(+:*0A/IJ(+!=E*06P(Q/!6/T !( T 5>:+xyNu6F">8+8HI
,9./(T *05>6D(Q
"%(X*28,h">EJ!g*08(Q
"%(i"o:+5>IJ(+!3:X8Q/5>I
$0ED6/5>(XQ
"[Z>!-(+5rEJ5r">6S@
T>,95>:+!#xb88+I/"%6/?7!=$0!=8=8+l78pA
*vIJ( (T "%"%:+!f6^(+5%8(Q
(5 !3: U57*'*06P8!p"g6/5%,i(I/*0$'6S(Z>*2135>">$0Z>8H(!#E;?>:+*05>6bI/,X.NXI/$'OR(*2Q/13"7*28p8U(R*08pLM5>"b: 1"%!=67:VEJ(+!3*'6
:&c?
A<N ">8!=Eq">././:+57">1VQl T Q
!3:+!i:+5>IJ(+!3:V8p8H!=6
Eq!3{S.
$'*21*'( U5>*06
T
T
"%(Q/!=:j(+Q
"%6;715>:+!=
l ` 5b&w 5I
8H!#8](+Q/!6/5>(*05>6h5>L":!=6
EJ!=m3Z>57I
8].C5>*06^(fY seNS`"71VQ-?>:+5>I/.h*28`"7885J1*2"4(!#E95>6/!9M5>:s,-5>:+!#
zN|! T ?>:+5>I/.D:+!=1!=*'Z7!3:V88!36<ED U5>*06
,9!#88+"%?7!=8(5b(+Q/!h zN*'x7!; ROplk!#">1VQD*'6^(!=:,-!#EJ*0"%(!-:+5>IJ(+!3:p(+">x>!#8f"7EJZ4"%6^(+">?>!95%L
(+Q/!=8!i U5>*06
;,-!=8+8+"%?>!#8(+5gI/.yE/"4(+!X(+Q/!-EJ*08H(:+*0A/IJ(*05>6r(:+!3!7N !f"4(V";*288I/!=EqA^@o"8H57I/:V1!*28W<:+8H(!=6
13">.
8HI
$0"%(!=Eq*'6BI/6/*213">8H(f">6
E
(+Q/!36o8!36^((5-(+Q/! A<!3LM5>:+!A<!=*'6
?;EJ*08H(:+*0A/IJ(!#E*'6(Q
!,XI/$'(*213"78U((+:!=!;a(Q
!p(:+!3!*28RI/6/*2EJ*':+!=1(*05>6
">$2N`n/57:R(Q/5^8H!pZ7!3:+@g">1(*0Z>!
85>I/:V1!#83l/">6
EbAC!=13">I
8!?>5>*06/?-(+Q/:57I/?>Qo"h AC!LM57:! U5>*06/*'6
?;"-:!#1!3*0Z>!=:*08,-5SE/!3:V"4(!=$'@!;1*0!36^(#l jU +% 5 !=6
"%A/$0!=8(Q/!X13:!3&
"%(*05>65%L]"9 `nP(+:!=!:5S5%(+!=E"4((Q
*0885>I
:+13!>Nz(*08R(+QSI
8$0!=8+8EJ!3.C!36
E/!36^(5>6(Q/!13!36^(!=:$'5J1="4(*05>6(Q<"%6r ROpN



























">$'?75>:+*v(+Q/,:!#~7I
*':+!=8!3Z7!3:+@6/5JEJ!9(+5g,h"%*06^(+"%*06B"EJ*28U(V"%6
13!iZ7!=1(5>: T Q/*21VQB8H(5>:+!=8(Q
!9,-*06/*0,XI/,tE/!3$2"[@(+5!=Z>!=:@5%(+Q/!3:p6/5JEJ!7N
^(V"%:(*06/? *'(Q(Q/!i8H57I/:+13!p6/5JEJ!>lJ(+Q/!X">$'?75>:+*v(+Q/,1576
8H(:+I
1e(V8_(Q/!,iI/$'(*213">8H((:+!3!*'(!=:+"%(*0Z>!=$'@;AS@">E/EJ*06/?;"-$0*'6
xg*067(+5-(Q/!p(+:!=!
!#">1VQh(+*',-!>T Njs">1VQ;*'(!=:+"%(*05>65%L|(+Q/!"%$0?>5>:+*'(Q/, 1576
8*08H(+8s5%L(Q/:+!3!f./Q
"78H!#8`5>L,-!=8+8">?>!.<">8+8H*06/?
Nzw6g(Q/!fW
:V8U(R./Q
"78H!7l^(Q/!p8H57I/:V1!
6/5JEJ!pA/:+57"7E/13"78U(V8s" O7'&&1#1QAREJ5 T 6;(+Q/!p.
"%:(*2"%$0$0@;15>6<8U(+:I
1(!#Eh(:+!3!7N]} Q/!36b"i6/5JEJ!p:!#1!3*0Z>!#8j(+Q/!p,-!=8+8">?>!>lS*'(RW
6
E/8R57IJ(
(+Q/!">E H"71!=67($0*'6
x T Q/*21VQ|
E $'!#">E/8_(+5h"9E/!=8H(*06
"4(+*'57657IJ(5%L(Q/!p(+:!=!>l
E EJ5S!=8R6/5>(Z^*05>$2"4(+!f(Q/!EJ!=$0"[@15>6<8U(+:+">*'6^(=lJ">6
E
E ,-*'6/*0,-*'m=!"-8H!=$'!#1e(*05>6LMI/6
1(*05>6|N
w69(Q
!R8!=135>6
Ei./Q
"78H!7l4(Q
!8H!=$'!#1e(!#E9$'*06/xJ8]"%:+!_8!36^(](+5(+Q/!85>I/:V1!_6/5JEJ!>l Q/!3:+!_(Q/!RAC!=8H(j$'*06/xi$ Q/*21VQi,-*06/*',-*0m3!#8z(Q/!8!3$0!=1(*05>6
LMI/6<1e(*05>6*2891VQ
578!36|NPw6G(Q/!(Q/*0:VEF./Q<">8!>lj"%6u ! !,-!=8+8">?>!;*28-8H!=6^(iT (+5D"7E/EK$R(+5r(+Q/!g(+:!=T !>NFORQ
*089./:+5J1!=E/I/:!15767(+*'6SI/!#8
I/6^(+*'$z!3Z7!3:+@E/!=8H(*06
"4(+*'576q*08*06
1$0I
EJ!#Eq*06q(Q
!X(+:!=!>NpORQ/*08f"%$0?>57:*'(Q
,:+!=~^I/*0:!#8*06^(!36<8H*0Z>!i,XI/$'(*0./$0!i,-!=8+8+"%?>!X!{/1VQ
"%6
?>!=8=NO T 5
*0,-.<57:H(V"%6^(]./:57A/$0!3, T *'(Q B*08(Q<"4(](Q
!R135>,-,XI
6/*01="4(+*'576X54Z>!=:Q
!=">E*08Z>!=:@Q
*'?7Q9">6
E(+Q
"4(j!=Z>!3:+@p6/5JEJ!R6/!3!#E/8(5f,h"%*06^(+"%*06
"9?>$05>A<"%$|8H(+"4(+!>N
>
 B
 

?QH  SA

9@4C E MNAD 0  @ E



p57,9.C!3$0$2"o!(h"%$cN 8 $ < ./:+5>.C578!=EK"rEJ*08H(:+*0A/IJ(!#EKQ/!=I/:+*08H(*21g">$'?75>:+*v(+Q/,tLM57:9135>6
8H(:+I
1(*06/?r"r135>6
8H(:V"%*06/!#EK^(!=*'6/!=:X(+:!=!>NDORQ/!

 

Version 2 CSE, IIT Kharagpur

4j

 B
 

?QH
J
S

E 



5>I 1.#_1576
1!=67(+:+"%(!#E 5>6 !36/Q
">6
1!=,-!36^(+8g(5 U5>*06 +[$0!="[Z7!q,-!=8+8">?>!q.
:5J1!#88*06/?F576:57IJ(!=:+8=l">*',-*06/?"%((+Q/!D?>I
">:+">67(+!3!
5>LfEJ*'dC!=:!=6^( T 5S:+!=~^I/*0:!=,-!36^(+8=lj5>6
!"%(h"B(+*',-! 8 /* < Ns">1VQF:+5>I/(!3:9x>!=!3.
89*06JLM5>:+,h"4(+*'576G:+!3?^"%:VEJ*'6
?o(Q/! T 5S$0!3Z7!3$R5%Lf*v(V8
EJ5 T 6<8U(+:!#"%, ,9!=,XAC!3:V83NP} Q/!=6F*'(9:+!=13!3*0Z>!#8X" U57*'6G,-!=8+8">?>!>lz*'(-1VQ
!=1VxJ8X*'L(+Q/! T 5SP$0!3Z>!=$s:+!=~^I/*0:+!=EDLM5>:9(+Q/!6
! T ,-!3,iA<!=:
1="%6AC!g./:+54ZS*0EJ!#Eklz"%6
EK"%((Q
!8+"%,-!h(*0,-! Q/!3(Q/!=:X(+Q/! T 5SB$'!=Z>!3$_5%LR(+Q/!g5>(Q/!=:X,-!3,iA<!=:+8i13"%6K8H(*0$0$sAC!g,h"%*06^(+">*'6/!#E aLM57:
U57*'6B,9!#88+"%?7!=85>6/$0@/eNORQ/! U57*'6B,9!#88+"%?7!XQ
T"78(+5g(+:+"[Z7!3$(5(Q/!h135>:+!X5%L`(Q/!9(:+!3!iA<!3LM5>:+!X(+Q/! U5>*06B1="%6B8I
1=1!3!#Ekl|8*'6
13!i!#">1VQ
:+5>IJ(+!3:px>!=!3.
8 T 5So*06JLM5>:+,h"4(*05>6D"%AC5>IJ(EJ5 T 6<8U(+:!#"%,,-!3,XAC!3:V8p5>6
$'@7NiORQ/!hEJ!=$0"[@q">6
Er$0578+8f:!#~^I/*':+!3,-!=67(p5%Ls,9!=,XAC!3:V8p,h"[@
AC!iEJ*'dy!3:+!36^(=lCA/IJ(f(Q/!iA
"%6<E T *0EJ(Qq:+!=~^I/*0:!=,-!36^(*28">8+8I/,-!=E(5A<!X(Q/!98">,-!>NORQ/! T 5^:+!=~^I/*0:!=,9!=6^(+8">:!6
5%(f135>6
8*2EJ!3:+!=E
*06P(Q/!h:+5>I/(*06/?
l(Q/!=@D">:! UI
8H(X?>I<"%:V"%6^(!=!=EDEJI/:+*'6/?b(+Q/!h(+:!=!;15>6<8U(+:I
1(*05>6P"%6
EB(+Q/!36*'(X*28,h"%*067(V"%*06/!=EDAS@r:+!=8H(:+*21e(*06/?b(+Q/!
8I
1313!=8+8R5%L U5>*06,-!#88+"%?7!=8=N
i i ]  pf]9
u 6/!( 5>:+x-13"%6g./:54ZS*2EJ! T 5S9?>I
">:+">6^(!3!#8](+5i1576/6/!#1e(*05>6<83lS5>6
$'@-*'L*v(RQ
"78`:+!=8!3:+Z>!#E9">././:+5>./:+*2"4(!:!#8H57I/:+13!=8s"%$05>6/?(+Q/!f*0EJ!=6^(*'&
W
!#EX:+5>T I/(!=8=N 5q!3:+!3$0@W
6
EJ*06/?":57IJ(!_(Q<"4(]Q
">8z8IJ;1*0!36^(]:!#8H57I/:V1!=8=l[,h"[@6/5%(j"%I/(5>,h"%(*213"%$0$0@8H57$'Z7!`(+Q/!R./:57A/$0!3,5>L
./:+54Z^*2EJ*06/?
T 5SX?7I
"%:V"%6^(+!3!=8=N|Lk6/5:+!=8!3:+Z4"4(+*'57698+1VQ/!3,-!*28]I/6
E/!3:(+"%x7!36|l>(Q/!=6-(Q/!(:V"4;1RA<!=*'6
?XEJ@S6
"%,-*21%l^13"%6-*06
1:+!="78H!">6
E-1576/?>!#8U(](+Q/!
8@J8U(+!3,(Q
"%(_*06h(+I/:6 T *'$0$CQ^I
:H(s(Q/! T 5^-?7I
"%:V"%6^(+!3!=8jA
">EJ$0@>NjS5<lJEJ!W
6
*v(+!"%$0$05S1="4(+*'576;5%L|:+!=85>I/:V1!#8]Q/!=$'.
8_*06g8+"4LM!3?7I
"%:VEJ*06/?(+Q/!
T 5SX?7I
"%:V"%6^(+!3!=8=N|w6-(+Q/*08s8H!#1e(+*'576 T !EJ*2813I
8+8j"p.<57./I/$2"%:`">6
E T *0E/!3$0@iI
8!=E9./:+5%(+5J15>$
6
"%,-!=E-!#8H57I/:V1!R:![S!3: j"4(+*'576 j:+5%(5J135>$
) _ 8 -= l<7 < N
}D!o13"%68H57,-!(*0,-!=8-:+!=EJI<1!(Q/!bA
">6
E *2ES(Q "%6<EKA/IJdy!3:;8.
"71!:!#8H!=:Z7!=ELM57:h"r,iI/$v(+*01=">8H(h?>:+5>I/."4(9(Q/!o:+5>IJ(+!3:V8i">6
E
$0*'6
xS8(:V"[Z>!=:+8!=EAS@b,957:!p(+Q
"%6r5>6/!i,XI/$'(*213T "78U((+:!=!XI
8*06/?g"h:+!=85>I/:V1!:+!#J!3: j"4(*05>6o.
:5>(5J157$k(Q
"%(f135>6
8*0E/!3:V8(Q
!i"%?7?>:+!3?^"4(!
:+!=~^I/*0:!=,-!36^(5%L(+Q/!,XI
$v(+*01=">8H(?>:+5>I/.">8" T Q/5>$0!>N]w6oEJ!=!=EklS(+Q/*28*08(Q/! ./:+5%(5J135>$cN














 @4 MN


K L A E   D  MN C O H  R
 *288H57$'!=$'@g"9:+!=85>I/:V1!:!#8H!=:Z4"%(*05>6g.
:5>(5J157$)Nz(">8+8I/,-!=8s(Q
"%((Q/!,iI/$'(*213">8H(R(:+!3!Q
"78RA<!=!36o8!(I/.bAS@h(Q/!:+5>I/(!3:V8_5%L
(+Q/!6/!( T 5>:+xyNuEJ,-*08+8*'5765>L"-6/! T ,iI/$v(+*01=">8H(1576/6/!=1(*05>6*08RQ<"%6
EJ$0!=EAS@h(+Q/!">EJ,-*288*05>6b15>6^(+:57$C,-5JEJI/$0!*06b"9$05 T !=:R$0"[@7!3:#N
 ">8EJ!#8H*0?>6/!#E*'6 - ././V "4B( 3!3:+5[{ ]"%$05hu$'(5;!#8H!#"%:V1VQos!=6^(!3:#NsORQ
!*0EJ!#" "78_(5;EJ!#8H*0?>6o"-:+!=85>I/:V1!p:+!=8!3:+Z4"4(*05>6
./:+5%(+5J15>$C(+Q
T "4(1="%6b81="%$0!(+5h,XI/$'(*213"78U(135>,-,XI/6
*01="4(*05>6b"%6<E1="%6*'6<15>:+.C5>:V"4(!fQ/!3(!3:+5>?7T !36/!=5>I
8s:+!=1!=*'Z7!3:V83N
 !#8U(V"%A/$0*08Q/!#8"%6
Eb,h">*'6^(+">*'6<8" &'
Z0."$_LM5>:!=">1VQoEJ!#8U(+*'6<"4(*05>6q">6
EbI
8!=8*'((+5;8H!=6
Eo1576^(:+5>$|,-!=8+8+"%?>!#8_LM:57,!#">1VQ
EJ!#8U(+*'6<"4(*05>6Nu 8*'6
x(:+!3!R*28j"p8H.
">6/6/*06/?f(:+!3!_(Q<"4(]*08j:5S5%(+!=Ei"4(](Q
!EJ!=8H(*06
"4(+*'5769">6
E915>6
6/!=1(+8]"%$0$J(+Q/!8H57I/:+13!=8*06-"f,iI/$v(+*01=">8H(
?7:57I/.|N(*08f57AJ(+">*'6/!#EqAS@o(+:+"71*06/?g*06r(+Q/!9:!=Z>!3:V8!iEJ*0:!#1e(+*'576qLM:+5>,(Q
!-E/!=8H(*06
"4(+*'576q(5!3Z7!3:+@o8H57I/:+13!9">$'576/?;(+Q/!-.
"4(+Q
8f*'6D"
,iI/$v(+*01=">8H((:+!3!7N
p4<=|7<  `^4J#YC`o`"71VQ:57IJ(!=:iI<8H!#EKAS@"r,iI/$v(+*01=">8H(i?7:57I/.K,h"%*06^(+"%*06
8X( T 5r(U@S.<!#8i5>L*06JLM5>:+,h"4(*05>6 J# 3#J=
"$!&1!"'`#
* &#3NiORQ/!-.
"%(QP8U(V"4(!95%L_!="71VQB85>I/:V1!9*08p135>6
13!3:+6/!=EB"%AC5>IJ(p(Q
!9.<"4(QDI
8!=ErA^@q(Q/!h85>I/:V1!7NX I
8!=8f(+Q/*28
*06JLM5>:+,h"4(+*'576g(+59,h">*'6^(+">*'6(+Q/!8H*06/xh(+:!=!=8R5>L(+Q/!EJ!=8H(*06
"%(*05>6|N
 *08X":+!=13!3*0Z>!=:H&5>:+*'!=6^(!=Eq./:5>(5J157$)NhORQ
"%(*08=l|(+Q/!h:!#1!=*'Z7!3:p5%L"bE/"4(V%" <5 *06/*v(+*0"%(!#8"%6
ED,h"%*06^(+">*'6
8f(+Q/!h:+!=85>I/:V1!
:+!=8!3:+Z4"4(*05>6rI
8H!#EqLM57:p(Q
"%( 
5 T N95%(+!i(+Q
"4(!#">1VQD:57IJ(!=:f:+!=13!3*0Z>!#8":+!=8!3:+Z["%(*05>6qT ,-!#88+"%?7!XLM:+5>, !#">1VQB5%L`(+Q/!hEJ5 T 6
8H(:+!=">,
$0*'6
xS8f*06q(+Q/!i,iI/$'(*213">8H(f(:+!3!-"%6
Eq8!36<E/8f5>6/$0@b5>6/!9:!#8H!=:Z4"%(*05>6o,-!=8+8">?>!*06^(5*v(V8fI/.
8H(:+!="%,$0*'6
xCNORQ
!i:+!=8!3:+Z4"4(*05>6q8H(+"%(!95%L
!#">1VQE/!=8H(*06
"4(+*'576*281576
1!=:6/!#E *'(Qb:+!=85>I/:V1!#8s8!(">8*2EJ!LM57:R(Q/!EJ!#8U(+*'6<"4(*05>6(5h8I/./.C5>:(R(Q/!:+!=~^I/*0:!#E T 5SyNJORQ/!p6
"%,-!p5%L
(+Q/!EJ!=8H(*06
"%(*05>6PM:+!=8!3:+Z>!3:es"%6
ET (Q
!"%,-5>I/6^(:+!=8!3:+Z>!=Eg"%:+!p">,-5>6/?9(Q
!*'6JLM57:,h"%(*05>6g.
:54ZS*2EJ!=EAS@h(Q/!:+!=8!3:+Z4"4(+*'576;(+">A/$0!>N
u.
"%(QP,-!=8+8">?>!9*08"o135>6^(:+5>$z,-!=8+8+"%?>!h8!36^(AS@B"b8H57I/:V1!h"%6
ErLM5>: "%:VEJ!=ErA^@r(Q/!h:+5>I/(!3:V8f*'6"b,iI/$v(+*01=">8H(p(:+!3!>N;s">1VQ
85>I/:V1!i8H!=6
E/8*v(V8W
:V8H(.
"%(Qr,-!#88+"%?7!A<!3LM5>:+!X*'(p135>,-,-!36
13!=8(:V"%6
8,-*08+8H*0T 5>6q">6
Eq8!36
E
88I/A
8!=~^I/!=67(f.
"4(+Qq,-!=8+8">?>!#8.<!=:*05JEJ*'&
1="%$0$'@7Nu,9576/?(+Q/!*06JLM5>:+,h"4(*05>6;1="%:+:*0!=Ei*06;!="71VQ9.<"4(Qh,-!#88+"%?7!5%L|"85>I/:V1!R*28](Q
B! 
5 T 8H.C!=13*vWC13"4(+*'576h5%Lk*'(+8j,-!#88+"%?7!8U(+:!#"%,bN
V
 








 



Version 2 CSE, IIT Kharagpur

u :+5>IJ(+!3:RI/.yE/"4(+!=8R(+Q/!.
"%(Qo8U(V"4(+!fI
.<576:+!=13!3*0ZS*'6/?9(+Q/!.
"4(+Q,-!#88+"%?7!LM:+5>,"985>I
:+13!>N
s">1VQbEJ!=8H(*06
"4(+*'576o8H!=6
E/8:+!=8!3:+Z4"4(+*'576:+!=~^I/!#8U(,-!=8+8">?>!;Y:!#8HZ,9!#88+"%?7!fLM5>:8Q/5>:(V Q
*01VQo"%:+!pLM5>: "%:VEJ!=E"%$05>6/?9(+Q/!X8*'6/x
(+:!=!5%Lk(+Q/!E/!=8H(*06
"4(+*'576|N]u,-5>6/?(Q/!f*'6/LM5>:+,-"%(*05>6;135>6^(+">*'6/!#E-*'6!="71VQh:!#8H!=:Z4"4(+*'576-,9!#8T 8+"%?7!*28j(+Q/!B
5 T T 8.<!#1*'W<13"%(*05>6;?7*'ZS*06/?
(+Q/! T 5^g:!#~^I/*':+!3,-!=67(5>L(Q
!8H!=6
EJ!3:#N
(p*08p13$'!#"%:(+Q
"4(f(Q
!-">,-5>I/6^(5>L`A
">6
E *2ES(Qr(Q
"%("g:57IJ(!=::+!=8!3:+Z>!#88Q/5>I/$2Eq6
5%(p!{/1!=!=Eb(+Q/!-$'*06/xy 8p1="%.
"71*'(U@>NpO5 "%:VE/8
(+Q/*08=l T Q/!=6/!3Z7!3:_(Q
!:57IJ(!=::!#1!3*0Z>!#8R"i6
! T T :+!=8!3:+Z4"4(+*'576g,-!=8+8">?>!7l^*'(EJ!3(!3:+,-*'6
!=8*'L*'(+8E/5 T 6
8U(+:!#"%, $0*06/xJ8R5>6(Q/!,iI/$vT (+*01=">8H(
(+:!=!i13">6q./:+54ZS*0EJ!(Q/!9:!#~^I/*':+!=Eb:+!=8!3:+Z4"4(+*'576|NLj(+Q/!-">EJ,-*288*'576b(!#8U(fLY"%*0$08=lC(Q/!9:+5>IJ(+!3::+! U!#1e(V8(+Q/!i:+!=8!3:+Z4"4(+*'576q"%6
Eo:+!(+I/:+6
8
">6r!3:+:+5>:,-!#88+"%?7!(5(Q/!h">././:+5>./:+*0"%(!:+!=13!3*0Z>!=:#)8+Nf EJ5S!=8f6/5%(EJ!3W
6/!-"%6S@q8H.C!=13*vWC1i"7EJ,-*08+8H*05>6q(!=8H(=lkA
IJ(*v(">8+8HI
,9!#8
(+Q
"4((+Q/!:57IJ(!=:R.<!=:HLM57:,h88I
1VQ"9(+!=8H("%6
Eg(Q<"4((Q
! 1="%6*'6^(+!3:V">1e( T *'(Q(Q
!p(!=8H(=N
ORQ/!pEJ!#8U(+*'6
"%(*05>68H!=6
E/8_*v(V8_W
:V8U(R:!#8H!=:Z4"%(*05>6;,-!=8+8+"%?>! Q/!36*'(R:+!=13!3*0Z>!#8s"i.
"4(+Qg,-!=8+8+"%?>!LM:57, "i85>I
:+13! Q/5^8H!,-!=8+8">?>!
8H(:+!=">, *v( T *28HQ
!=89(5P:+!=13!3*0Z>!>NuLa(+!3: T ">:+E
8i*'(;8H!=6
E/8-:+!=8!3T :+Z4"4(*05>6G,-!=8+8">?>!=8i.C!3:+*'5JEJ*213">$'$0@(5P,h"%*06^(+">*'6:!#8HT !=:Z4"%(*05>6|NORQ/!
,h"%*06^(!=6
"%6
13!5>L:+!=8!3:+Z["%(*05>6P(+Q/:57I/?>QG.<!=:*05JEJ*21g,-!=8+8+"%?>!#8*28 T Q
"4(h8H!3(+8- "%.
">:H(iLM:57, ,95^8U(-5%L(Q/!5%(+Q/!3:-:+!=85>I/:V1!
:+!=8!3:+Z4"4(*05>6./:+5%(+5S135>$283NsORQ/*08*08R(+Q/!X85;13">$'$0!=ME &1-,H&'3#%3"%6
E*28R(Q/!X./:!3LM!3:+:!#EE/!=8*'?76b1VQ
5>*21!pLM5>:"%././$0*213"4(+*'576
8_(Q<"4(">:!"%:+!
EJ@S6
">,-*01p*06o6
"4(+I/:+!>N`5 !=Z>!3:#lS(Q
!6/!3!#ELM5>:!#">1VQQ/578H((5h.C!3:+*'5JEJ*213">$'$0@;(+:+">6
8,9*'(,-!=8+8">?>!#8_LM5>:(+Q/!./I/:+.<5^8H!5>L:+!LM:+!=8Q/*06/?
*'(+8_8U(V"4(+!=8s,-">*'6^(V"%*06/!=EhAS@-T :+5>IJ(+!3:V8j$0!=">E
8](59"Q/*0?>Q
!3:`.
:5>(5J157$
54Z>!=:Q
!=">E|NORQ/*28`54Z7!3:+Q/!="7E9*08_8H57,-! T Q
"%(s$0!=8+8H!=6/!=EhAS@i(Q/!LY">1(
(+Q
"4(1576^(:+5>$,9!#88+"%?7!=8:!#~7I
*':+!i$05 T !3:54Z7!3:+Q/!="7Eb(Q<"%6BE
"4(+",-!=8+8">?>!#83N 5o!=:?7*'6/?5%LR15>6^(+:57$,-!=8+8+"%?>!#8LM:+5>, ">$'$zQ/5^8U(V8f">6
E
LM57: T "%:VEJ*06/? T Q
!36/!=Z>!3:_(+Q/!3:+!*08R6
596
! T 8U(V"4(!p*06JLM5>:+,h"4(+*'576|lS(Q/!.
:5>(5J157$k54Z>!3:+Q/!#">E;1="%6LMI/:H(+Q/!3:A<!:+!=EJI<1!=E|N
u W
$'(!=:_*28"i$'*28U(5>L6
">,9!#8_5%L85>I
:+13!=8 Q/578!,-!#88+"%?7!8H(:+!="%,h8R13">6gI
8!f(Q/!p:+!=85>I/:V1!#8j:+!=8!3:+Z>!#E-LM5>:_(Q
!pE/!=8H(*06
"4(+*'576|Nju
EJ!#8U(+*'6<"4(*05>6(+Q
"4( T "%6^(V8"9W
$v(+!3:*06
13$'I
E/!=8T (+Q/!pW
$'(!=:*06*'(+8:!#8H!=:Z4"%(*05>6g,-!#88+"%?7!>Nj} Q/!=6o6/5-W
$'(!=:*08"%././$0*0!=EklC"%$0$8H57I/:V1!=8R*06
(+Q/!,XI/$'(*213"78U(?7:57I/.g,h"[@;I<8H!p*'(+8:+!=85>I/:V1!#83N
]  o3    93=
u8`"%$0:+!=">E/@iEJ*2813I
8+8H!#Ekl^85>,-!,-!#1VQ
"%6/*28, (+5:!=?>I/$2"4(+!R(Q/4! 
5 5%Lk.
"71Vx>!(V8]*06h(Q/!6/!( 5>:+xX*28j6
!3!=E/!=EklS8H5(Q
"%(`(Q
!?>:+!3!#EJ@X57:
,h"%$0*21*05>I
8_:+!="%$'&c(*0,9!f5>:R6/576:+!=">$v&c(*0,-!f85>I
:+13!=8_EJ5i6
5%(6/!3?^"4(+T *'Z7!3$0@;"4dy!=1e(R(+Q/! T 5^h?7I
T "%:V"%6^(+!3!=8s?>*0Z>!=6;(+595>(Q/!=:15>6
6/!=1(*05>6
8=N
SQ<"%./*06/?r">6
EP.<57$'*21*06/?r">:!;(Q/!,9!#1VQ
"%6
*08,h8I
8!=EP(+5q!36
8I/:+!h(Q
*08=NqO">A/$0! = N 8I/,-,-">:*0m3!#8(+Q/!;x>!=@DE/*vdy!3:+!36
13!=8XA<!3( !=!36
8Q
"%.
*'6/?h">6
E.<57$'*21*06/?
NsORQ/!1VQ/5>*21!AC!( T !3!=6 T Q/*01VQb576/!f(5hI
8!EJ!3.C!36<E/8576g(+Q/!(U@S.<!5>Lz">././$0*01="4(+*'576">6
E*v(V88.<!#1*'W<1 T T 5^
:+!=~^I/*0:!=,-!36^(+8=N
CY)>Y
)
 #^>=D C<

      !  " $#%'&(  ) *+#  , !  " -# &+  .*0/(  .
%12*0/( , ,*+343456" 74 '  8
*+343456" 74 '  89),*:  $*%-1!
 78
;o/)Y 9 = <= "  -?>@ 7&:AB1'&( *4! >CA
DE *+#F(0  1  G 8
" 'H4%I 5C /!5@FJ? "34*:*%5CF? 
78
),*:  $* "34*:*%5CF8
g= C//y=
<
K/(*%5C   " ' "345@ " "5@*+L =*
K/+*+5C $! >C7AB =*4: 5@F!8
EJ:+5>.
.<!#E.<">1Vx>!3(+8=N
U =
C//y#/C
M%N5@:" * O >PA! - =*4: 5@F8 M%  7 = *%F%#!$*%Q

 7B G"  734 8
O"%A
$'!7N = N ]O:V"4;1SQ
">./*'6
?hZ>!3:V8I
8 z5>$0*013*'6/?
S!=Z>!=:+">$z(:V"4;1;8Q
"%./*06/?q">6
EP.<57$'*21*06/?o(+!=1VQ/6
*0~^I/!#8X"%:+!;"[Z4"%*0$0">A/$0!>Nw6P(Q/!gLM5>$0$'5 T *06/?
l T !;EJ*08+1I<88i"%6*0,9.C5>:(+">6^((:V"4;1
8Q
"%.
*'6/?h">6
Eg.C5>$0*21*06/?-(!#1VQ/6/*2~7I
!>N





 





$

Version 2 CSE, IIT Kharagpur

r tokens / second

Packets

if sufficient
tokens, remove tokens
and transmit
packet

Packet
Wait

outgoing link

n*'?7I/:! : ]O57x>!=6 _I
1Vx7!(} *v(+Qo|!=">xS@g"4(+!Xs5>6^(:+5>$
    
@4M 
Q E  7
KA    A 
   C
u .C5>.
I/$0">:](!#1VQ/6/*2~^I/!I
8!=E-*06-8Q
">./*'6
?"%6
E-.C5>$0*013*'6
?*08z(+5>x7!36-A/I
1Vx7!( *'(Qh$0!="%xS@i:+"%(!1576^(:+5>$K8 ;:1< N]u8j8Q/5 6-*'6;n*0?
N ;: l>"
A/I<1Vx>!(_13"%6hQ
5>$2EhI/.h(+5X1!=:H(V"%*06h./:!#8H.C!=13*vW<!=E-6SI/,XAC!3:s5%Lk(+5>x>!=6
8=NO5>x7!3T 6
8j">:!">E/EJ!#E9(5X(Q/*28jA/I<1Vx>!(R">8zLM57$'$05 TT 8=N! T (57x>!=6
8
(+Q
"4(,-*0?>Q^(A<!;"7E/EJ!#Eq(+5b(Q/!hA/I<1Vx>!(#l">:!h"%$ T "[@S8?>!=6/!3:V"4(+!=ED"4(X":V"4(!-5>L_:p(+5>x>!=6
8p.C!3:X8!=135>6
EkN-LR(Q
!hA/I
1Vx>!3(15>6^(V"%*06
8
$0!=8+8j(+Q/!36A;(+5>x>!=6
8 T Q/!36g"(57x>!36g*08_?>!=6/!3:V"4(+!=Ekl7(Q
!6/! T $'@-?7!36/!=:+"%(!=Eh(5>x7!36h*28R">E/EJ!#E-(5i(Q
!A/I<1Vx>!(#S5%(Q
!3: T *08!(Q
!6/! T $'@
?7!36/!=:+"%(!=E;(57x>!36*28*'?76/5>:+!=E|lS">6
E(Q/!p(+5>x7!36A/I
1Vx>!3(:!=,-">*'6<8_LMI/$'$ T *v(+QA(+5>x>!=6
8=N
w6b$0!="%xS@;:V"4(+!15767(+:57$)l/" "%*'(*06/?-.
"71Vx>!(*28R(+">x>!=6LM57:(:V"%6<8H,-*288*'576576/$0@;*vLz(+Q/!3:+!*08"4($0!=">8H(5>6
!p(5>x7!36*'6b(+Q/!A/I
1Vx7!(#N
Lz!36/57I/?>Q(+5>x>!=6
8"%:+!p6/5%("[Z4T">*'$2"%A/$0!f*'6b(+Q/!A/I
1Vx7!(=l/(Q/!=6(+Q/!.
"71Vx>!3(R!=*v(+Q/!3: T "%*'(+8I/6^(*0$k(Q/!A
I
1Vx>!3(Q
">8R!=6/5>I/?7Q(5>x7!36
8R*06
1=">8!i5>L_"b8HQ<"%.C!3:#Niw6P13"78H!95%L"g.C5>$0*21!3:#lk(+Q/!h.
">1Vx7!(p*08p!=*v(+Q/!3:E/*08+13">:+EJ!#Eq57:f*28p,h"%:+x>!#ErEJ5 6|N-ORQ/!9(57x>!=6B*28p:!=,-54Z>!=E|lk*vL
(+:+">6
8H,-*288*05>6q5>L`(Q
!i.
"71Vx>!3((V"%x>!#8.
$0"71!>N _!=13">I
8!(Q
!3:+!91="%6rAC!h"4(,-578H(fAB(57x>!=6
8*06B(Q/!-T A/I
1Vx7!(#ly(Q/!-,h"4{J*0,XI/,A/I
:+8H(
8*'m=!5%Lj"h$0!=">xS@7&A/I
1Vx7!(&c.C5>$0*013!=%E 
5 *08Aq.
">1Vx7!(V83NRn/I/:(Q
!3:+,957:!7l
AC!=1="%I
8!p(Q/!X(57x>!36b?7!36/!=:+"%(*05>6b:+"%(!*28:#l/(+Q/!,h"4{J*0,XI/,
6SI/,iA<!=:j5%Lk.
"71Vx>!(V8(Q
"%(s13">6-!36^(!=:]T (Q/!6/!( T 5>:+x5%L|">6^@X*'6^(!=:Z4">$/5%Ly(*0,-!5%Ly$0!36/?>(Q-(`*28]:(  ANzORQSI
8=l%(+Q/!(+5>x>!=6-?>!36
!3:V"4(*05>6
:V"4(+!>l>:#lS8H!=:Z7!=8z(+5X$0*',-*'(`(Q
!$05>6/?>&)(+!3:+, "[Z>!=:+">?>!R:V"4(!"%( T Q/*21VQ-(Q
!.
"71Vx>!(_13"%6h!=6^(!3:`(Q/!6/!( T 5>:+xyNORQ/*28`(!=1VQ
6/*0~^I/!13"%6;">$085
AC!I
8!=E(5-.C5>$0*013!p(Q/!.C!=">x;:+"%(!"%$05>6
? T *'(Qb$05>6/?>&)(+!3:+,"[Z>!=:+">?>!:V"4(+!>N




 q o=3

   oz

Switch

Service Discipline

Switch

Output
Buffers
fixed delay
Switch
Switch

n *0?>I/:+! 1, ]u 5o5JEJ!=$|5%L]u ]">1Vx7!( T *v(V1VQ/!=Eb!( T 5>:+x


u8H*0,-./$'!,-5SE/!3$_5%L"%6Kw6^(+!3:+6/!(9*08i"r157$'$0!=1(*05>65>L8H!=6
EJ*06/?r"%6<E:!#1!=*'ZS*06/?q6/5JEJ!#8X"%6<E6/!( 5>:+xB8 *'(+1VQ/!#83Nru_(9!3Z7!3:+@
8 T *v(V1VQ|l](+Q/!3:+!,h"[@PAC!,h"%6S@*06
157,-*'6/?D"%6
EF,h"%6S@P5>IJ(+?>5>*06/?D15>,-,iI/6/*213"4(+*'576K$0*'6/xJ8-">898Q/5 T 6KT *06n*0?
T N 1, N !!3.C!36<EJ*'6
?
/ (


Version 2 CSE, IIT Kharagpur

I/.C5>6PEJ!#8U(+*'6
"%(*05>6B5%L_".
"71Vx>!(#ly*v(*28~7I
!3I/!#Eq5>6DA/IJdy!3:~^I/!=I/!-5%L`.
">:H(+*013I/$2"%:f5>IJ(+?>5>*06/?$'*06/xyNiu8+1VQ/!=EJI
$'!=:p8!3$0!=1(+8f.
"71Vx>!(V8
(+59AC!f(:V"%6
8,-*v((!#E;LM:+5>,(+Q/!A/IJdy!3:"%(s(+Q/!p5>IJ(+./IJ($0*'6/xgA
">8!=Eg5>6b8H57,9!p8+1VQ/!=EJI
$'*06/?9.<57$'*21@7Nju8!3:+ZS*013!fE/*08+1*0./$0*'6/!8+1VQ/!=E/I/$'!#8
*06
157,-*'6/?.
"71Vx>!(V8LM57:f(:V"%6
8,-*08+8H*05>6NXn/57:f:+!=">$(+*',-!h1576/6/!#1e(*05>6lk:+"%(!9A
">8!=EB8H!=:ZS*21!-EJ*08+1*0./$0*'6
!=8p"%:+!iI<8H!#Eo(5b./:+5%(+!=1((+Q/!
?7I
"%:V"%6^(!=!=8`?>*0Z>!36;(5-15>6
6/!=1(*05>6
8`LM:57, 6/!( T 5>:+x-$'5^">E <I
1e(+I
"4(+*'576
83N]ORQ/*28_?>I
">:+">6^(!3!#8`"i,-*'6/*0,XI
,8H!=:ZS*21!:+"%(!(+5i*06
EJ*0ZS*0EJ&
I
">$|1576/6/!=1(*05>6
8R:+!3?^"%:VEJ$0!=8+8`5>L(+Q/!p(:V"4;1f?>!=6/!3:V"4(+!=E;AS@5%(Q
!3:1576/6/!#1e(*05>6<83N
ORQ/! sI/dC!=:X:+!=~^I/*0:!=,9!=6^(+8X"%(i"q8 *v(V1VQKEJ!3.C!36<E/8X576,h"4{J*',iI/,.
">1Vx7!(X">::+*'Z4">$j:+"%(!7l,h"%{S*0,XI
, .
"71Vx>!3(X8H*0m3!g">6
EP(+Q/!
!3{S.C!=1(!#Er85 U5>I
:6o(+*',-!-5%Ls.
">1Vx7!(+8=NXT\6o(Q
!95>(Q/!=:Q<"%6
Ekly(+Q/!-A/IJdy!3:p:+!=~^I/*0:!=,9!=6^(+8f"4(f(Q/!9:!#1!=*'ZS*06/?g!=6
Eq*28f!=~^I
"%$(+5g(+Q/!
./:+5JEJI
1(5%LE/!3$2"[@ U*v((!=:=l
">6
Eg(Q/!,h"4{J*0,XI/,.
">1Vx7!("%:+:*0Z4"%$k:V"4(+!f">6
E.
">1Vx7!(8H*0m3!7N
ORQ/!h8!3:+ZS*013!9EJ*28+1*0./$'*06/!h"4(">6^@b(+*',-!hEJ!#1*2EJ!=8 Q/*21VQD5>IJ(+./IJ(A/IJdy!3:V8 5>I/$2EqAC!-(+">x>!36BI/.BLM5>:p(:V"%6<8H,-*288*'576r6/!3{S(=N-ORQ/!
8 T *v(V1VQ +[:+5>I/(!3:hEJ5S!#8-(Q/!B8 T *'(+1VQ/*06/?5>L(+Q/!rE/"%(+"PT .
"71Vx>!(V89LM:57,*'(+8h*06/./I/T (g.<57:H(h(+5P(Q/!BEJ!=8*':+!=E57IJ(./I/(g.<57:H(#l_85P(Q<"4(g*'(
:+!="71VQ/!=8`(Q/!E/!=8H(*06
"4(+*'576">E
EJ:!#88=N]jZ7!3:+@-8 T *'(+1VQ +4:57IJ(!=:_1="%6gAC!,-5JEJ!3$0!=E">8R"9~7I
!3I/!7l T Q/!3:+!p.
">1Vx7!(+8`LM:+5>,EJ*'dy!3:+!36^( 
5 T 8
135>,-.<!3(!iLM5>:f(Q
!98 *v(V1VQ/*06/?.
:5J1!#88*06/?h(*0,-!h"%6
Eo57IJ(.
IJ($'*06/xyNORQ/!3:+!9,-"[@bAC!i,h">6^@o*06
135>,-*'6
?g$0*'6/xJ8(5b"8 *'(+1VQ|lC(+Q/!3:+!
,h"[@rAC!g"o6SI/,iA<!=:T 5%LZS*0:H(+I
"%$`135>6/6
!=1e(+*'576
8pLM57:!="71VQD$0*06/xylz">6
ED(Q
!3:+!h,-"[@BA<!"o6SI/,XAC!3:5>L.
">1Vx7!(+8*'6!#">1VQT 1576/6/!=1(*05>6
(+5DAC!q8!3:+Z>!=E|NGORQ/!#8H!b.
"71Vx>!(V89,-"[@G15>,-.C!(+!LM57:-(Q/!o8+"%,-!b5>IJ(+./IJ(;$0*'6
xCN ORQ/!b,h"%6
6/!3:h*06 T Q
*01VQG(Q/!q~^I/!=I/!=EG.
"71Vx>!(V8
">:!98H!=$'!#1e(!#EbLM5>:(Q
!X(+:+">6
8H,-*288*05>6o5>6r(Q/!i$'*06/xo*28fx^6
5 6q">8$'*06/xo5>:(:V"4;1i81VQ/!#EJI/$0*'6
?EJ*2813*'.
$'*06/!>NORQ/!981VQ
!=EJI/$0*06/?EJ*28+1*'&
./$0*06/!"4(]!="71VQi8 T *v(V1VQi8!3$0!=1e(V8 T Q/*21VQX.
"71Vx>!((5f(+:+">6
8H,-*'(T 6
!{S(]A^@iEJ*08+1:+*0,9*06
"%(*06/?.<">1Vx>!3(+8A
"78H!#E5>6X(Q/!=*': T 5S:+!=~^I/*0:!=,-!36^(+8=N


 A M E 0  E 

  

O:+"%;1?7!(V8RA/I/:V8U(+*'!=:"%6
EA/I/:V8U(+*'!=:"4La(+!3:*'(.
">8+8H!#8s(Q/:+5>I/?7Q!#">1VQ8 *'(+1VQ|l<"%6
E*v(,h"[@;6
59$05>6
?>!3:8+"4(+*08HLM@;*'(+885>I/:V1!p1VQ
">:+"71e&
(+!3:+*'m#"4(*05>6NzORQ
*08*28RAC!=13">I
8!>lS(Q
!~7I
!3I/*06/?;"4(!#">1VQb8 T *'(+1VQQ
">8"-A
I/T 6
1VQ/*06/?-!dy!=1(5>6(Q/!.<">1Vx>!3(+8_5%Lz"h8H!#88*05>6|N
n
5>:!3{J">,-./$'!7l<*'L`";135>6/6/!#1e(+*'576q8"%(*28UW
!#8X D J"%((Q
!X8H57I/:V1!>l
(Q/!=6q*'(+8 57:+8H(13"78H!p(+:+"%;11VQ
"%:V">1(!=:*0m="%(*05>6 UI
8U(fA<!3LM5>:+!
(+Q/!*'(Qb8 T *v(V1VQgAC!=157,-!=8p  D Jel T Q/!3:+!         "%6
E   T *08s(+Q/!p$'5J13">$CE/!3$2"[@9AC5>I
6
E;LM57:`(+Q/!1576/6/!=1(*05>6
"%(_(+Q/! w(Qq8 T *'(+1VQ|N
iCy34<)Y) ==<[=)<s;ORQ/!;:+5>$0!h5%LR(Q
!h(:V"4;1;EJ*28H(5>:(*05>6PQ
">6
EJ$0*'6
?q*08(Q/!=6P(5q,-5JEJ*'LM@D(Q/!;*06/./I/(X(:V"4;1-!=*v(+Q/!3:iA^@
:+!=135>6
8H(:+I
1e(+*'6
?9*'((5h*'(+85>:+*'?7*'6
">$|8H57I/:V1!p1VQ
"%:V">1(!3:+*28U(+*01=8s57:AS@EJ!=:*0ZS*'6/?9(+Q/!6/! T (+:+"%h1p1VQ
">:+"71e(+!3:+*'m#"4(*05>6"4((+Q/!!36^(:V"%6<1!
(+5p(Q/!8 T *'(+1VQh">8+8HI
,9*06/?p(+Q/! T 57:+8H(`13"78H!R,iI/$v(+*'.
$'!3{S*06/?<Nzu6/5%(+Q/!3: T "[@(+5Q
"%6<EJ$'!R(+Q/!(+:+"%h1R.<"4(H(+!3:+6hEJ*08H(57:H(+*'576-*08z(+515767(+:57$
*'(`"4(j!=Z>!3:+@8 T *v(V1VQ9AS@:+!=135>6
8H(:+I
1(*06/?(+Q/!R(:V"4;1_5%Lk"p1576/6/!=1(*05>69(5p*'(+8j85>I
:+13!_1VQ
">:+"71e(+!3:+*'m#"4(*05>6Nu$0$/6/576J& T 5>:+x^&135>6
8!3:+ZS*'6
?
EJ*28+1*0./$'*06/!#8./:+5>.C578!=E;*06(Q/!$0*'(!3:V"4(+I/:+!fI<8H!f(Q
*08R(+!=1VQ/6
*0~^I/!7NjORQ/!3@g8!3.<"%:V"4(!f(+Q/!8H!=:Z7!3:_*'6^(+5-( T 5h157,-.<576/!36^(+8
Nu:+"%(!15767(+:57$'$0!3:#
(15>6^(+:57$08_(+Q/!EJ*28U(+5>:(*05>6g576b!=">1VQb1576/6/!#1e(*05>6I
8*'6
?9:+!3?7I/$2"4(57:+8_"%6<E">$'$05J13"%(!=8_A
">6
E T *2ES(Q(+5-(Q/!=,N
/Nu 81VQ/!#EJI/$0!3:#
(5>:VEJ!3:R(+:+">6
8H,-*288*05>6g5>L.<">1Vx>!3(+8_5>6bEJ*'dC!=:!=6^(15>6
6/!=1(*05>6
8">6
Eg.
:54ZS*2EJ!p54Z>!3:R1576/6/!#1e(*05>6oEJ!=$0"[@hAC5>I
6
E/8=N
u 8H!=:ZS*21!iE/*08+1*0./$0*'6/!9Q/!=$'.
8*28H57$0"%(! T !3$0$'&cAC!3Q
"[Z7!=Eb?7I
"%:V"%6^(!=!=E(+:+"%h1i8H57I/:V1!=8LM:57,*'$0$v&AC!3Q
"[Z7!=Eq85>I/:V1!#83lC6/!3( T 57:x$'5^">E

I<1e(I<"4(*05>6"%6
EFA<!#8U(&c!3dC57:H(9(:V"4;1>NKORQ/!*0$0$v&A<!=Q
"[ZS*'6
?rI
8!3:h"%6<EK,h"%$'LMI/6
1(*05>6/*06/?D!=~^I/*0./,-!36^(9,h"[@K8!36
EF.
">1Vx7!(V8(+5r(+Q/!
8 *v(V1VQF"4(9"oQ/*0?>Q/!=:i:V"4(+!h(Q/!=6FEJ!#1$2"%:+!=EkNqORQ/!6/!( 5>:+xr$057"7)E 
I
1(I
"%(*05>6K,h"[@P13"%I<8H!;Q
*'?7Q/!3:i*'6
8H(+">6^(+"%6
!35>I<8X"%:+:+*'Z4"%$`:+"%(!
!=TZ>!36PLM:+5>,"r85>I
:+13!>l T Q/*01VQFQ
">8i8"%(*28UW
!#ED(Q/!g(:V"4;T 1;135>6
8H(:V"%*06^(i"4((+Q/!g!=6^(:V"%6
13!;5%L(+Q/!g6/!3( T 57:xyNbw6(+Q/!1=">8!;5%LAC!=8H(
!3dC57:H((:V"4;1%lk8*'6
13!X(+Q/!i(:V"4;1*28f6/5%(1576
8U(+:+">*'6
!=E(Q
!3@q13">6rZ7!3:+@ T !3$0$]13"%I<8H!915>6
?>!=8H(*05>6q">6
ErE/*08:I
.J((+Q/!98!3:+ZS*013!(+5g(+Q/!
T !3$0$v&AC!3Q
"[Z7!=E;?7I
"%:V"%6^(+!3!=E;(:V"4;1p8H57I/:V1!=8=N
$ %

$ %





 

 A M H M4

4@SC E




E ME  C E
4

n
5>:j8I/./.C5>:(*06/?pA<!#8U(j!3dC57:H(j8!3:+Z^*21!7l>1576SZ>!36^(+*'576
"%$S8H!=:ZS*21!EJ*2813*'.
$'*06/!=8`8HI
1VQ-">8]nz_n]57:]:57I/6
Ei:57A/*'6-8!3:+Z^*21!#8z"%:+!R8IJ;1*0!36^(#N
5 T !=Z>!3:#l>.C!3:_1576/6/!=1(*05>6;.C!3:LM5>:+,h"%6
13!?>I<"%:V"%6^(!=!=8]6/!=!=Eh,-57:!!=$0">A<57:+"%(!8!3:+ZS*013!EJ*2813*'.
$'*06/!=8=N]u8!3:+ZS*013!EJ*2813*'./$0*06/!1="%6;AC!
=

Version 2 CSE, IIT Kharagpur

Eligible Time
computation

Active
Msgs

D
M
U
X

Hold Queue

2
n1

MUX

Departing msg

n*'?7I/:! -. j:+5J1!=8+8*'6/?9*06b"-5>6J&}B57:x^&Hs5>6
8!3:+ZS*'6
?iS!3:+ZS*013! ! *2813*'.
$'*06/!


13$0"788*vW<!=ED">8p!3*'(Q
!3: T 5>:+x7&w1576
8!3:+Z^*06/?;57:p6/5>6J& T 5>:+x7&w1576
8!3:+Z^*06/?<Nw6D" T 5>:+x^&135>6
8!3:+ZS*'6/?EJ*08+1*0./$0*'6
!>l"b8!3:+Z>!=:f*28p6/!=Z>!3:*2EJ$0!
T"%LaQ/(!3!=: 69(Q/Q/!=*01V:!Qo*2"-8j"p.
"7.
1V"7x>1V!3x>(R!(zAC!=(+1355>8H,-!=6
!=Ek8N!3$0w*'6-?7*'"pA/$06
!p5>(6J5h& T AC57!:8x^!3&w:+1Z^57*26
18H!#!=Ek:N`ZS*0u6/?8!3EJ:+*2Z>8+1!=*0:./*0$'*086/">!7$'l>$05!="71V!=QiEg.<(">5;1Vx>8!3!36
(]E*08j5>"76
8$'8@g*0?>(6/Q/!#!Ei.
">"7691Vx>!=!3$'*0(+?>8 *0A/*0$'Q/*'(U*21V@Qo(+*'"%,-:+!f!>lS!="f$'*0?>(*0*0A/,-$0!!
">6
EK*'(9T *2896/!3Z7!3:-*2EJ$'!b">8i$05>6/?P">8X(Q/!=:!b"%:+!g!=$'*0?>*0A/$0!.<">1Vx>!3(+8X(5P8H!=6
EkNKuT ,9576/?B(Q/!b./:+5>.C578!=EK8!3:+ZS*013!EJT *28+1*0./$'*06/!#83l ZS*':(I
">$
13$'5J1Vxyl }n T l^
_n T l !!3$2"[@^& ! !"%:+! T 5>:+x^&135>6
8!3:+ZS*'6/?<l T Q/!3:+!"78 7*v((!=:H&w ! !XlJ^(+5>.J&w"%6
EJ& 6 5<l^lJR K"%:+!6/576J& T 57:x^&
135>6
8!3:+ZS*'6/?-EJ*2813*'.
$'*06/!>N
O5B.
:54ZS*2EJ!!=6
ES&c(5>&c!=6
E T 5S?7I
"%:V"%6^(!=!=8X(5P*06
EJ*0Z^*2EJI
">$1576/6/!=1(*05>6
8=l`:+!=">$_(*0,9!q8!3:+ZS*013!E/*08+1*0./$0*'6/!#8-6/!3!#EK(+58HI/.
./$'@
85>$0IJ(*05>6<8_LM5>:#.C!3:15>6
6/!=1(*05>6A
"%6
E T *0ES(+Qo"%6
EEJ!3$2"[@g">$'$05J13"4(+*'576*06o"-8H*06/?>$0!8 T *'(+1VQN
(h./:+54ZS*0EJ!#8X$05J13">$_.C!3:LM5>:+,h"%6
13!?7I
"%:V"%6^(+!3!=8(5"D15>6
6/!=1(*05>6G"%(-"P8 T *v(V1VQ|NFORQ/!=:!b"%:+!!=8+8H!=67(+*0">$'$0@D(Q/:+!3!o">././:+57">1VQ
!=8(+5
A
">6
E T *2ES(Qo">6
EbEJ!3$2"[@;"%$0$'5J1="4(*05>6(5hEJ*'dy!3:+!36^(1576/6/!=1(*05>6
8R*06o"-8H*06/?>$0!8 T *'(+1VQ
NM=)Y C<Sp|4/FY =4J=S<]g(X*28I
8!=EPAC5%(+Q*'6^(57.J&">6
ES& 6 5o"%6
E 8!3:+Z^*21!;E/*08+1*0./$0*'6/!#83No!(XI
8i1576J&
8H*2EJ!=:5>6
!$'!=Z>!=$LM:V"%,-*06/?hW
:V8U(#Nw6q576/!$0!3Z7!3$LM:+">,9*06/?<lC"%(!="71VQo6/5JEJ!>lC$05S1="%$(*0,-!i"4{J*28*28E/*'ZS*2EJ!=Eo*06^(5gW/{J!=Eo*06^(!3:+Z4"%$28
Opl1="%$0$'!#E"LM:+">,9!7Nou$'(Q/57I/?>QK135>6SZ>!=6/*'!=6^(=lLM:+">,9!#85>LE/*vdy!3:+!36^(X6/5JEJ!#86/!=!=EP6/5>(XAC!8@^6<1VQ/:576/*0m3!=E|N R"%6<E T *0EJ(Q*28
"%$0$'5J1="4(!#EP(5B!="71VQF1576/6/!=1(*05>6">89"r1!=:H(V"%*06KLM:V">1(*05>6K5>L(Q/!LM:V"%,-!;(+*',-!>l Q/*21VQFAC5>I/6
E
8X(+Q/!b"[Z>!3:V"%?7!h:+"%(!5%L(+Q/!
(:V"4;1-5%L"q135>6/6
!=1e(+*'576|l T Q/!3:+!-(Q
!"[Z>!=:+">?>*06/?*'6^(!=:Z4">$`*28XOpN !*28"7EJZ4"%6^(+">?>T !h5%L576/!;$0!3Z>!=$jLM:V"%,-*06/?o*08(Q/!g(:V">EJ!3&c5>d
A<!3( T !=!36i(Q/!?>:V"%6SI/$2"%:+*v(U@p5%LyA
">6
E T *2ES(Qh"%$0$05S1="4(+*'5769">6
Ei(Q/!EJ!=$0"[@XA<57I/6
EkN]ORQ/!#8H!RLY"71e(57:+8]">:!_*06^Z7!3:V8H!=$'@X./:57.<57:H(+*'576
"%$cN
O554Z>!=:+135>,-!(Q
*08f,XI
$v(+*'./$0!iLM:+">,9!-8*'m=!X*28*06^(:+5JEJI
1!#EkN _IJ(f*06B(Q/!#8H!981VQ/!=,-!9">$085;(+Q/!3:+!i">:!98H5,-">6S@o./:57A/$0!3,h8"78
$'5 T !3:I/(*0$'*0m="%(*05>6
85%L]A
">6
E T *2ES(Q|Nu6/5>(Q/!=:fEJ*28+">EJZ4"%6^(V"%?>!p5>L]LM:+">,9*06/?h(+!=1VQ/6
*0~^I/!*28*v(V8*06/!;1*0!36<1@b*'6oQ<"%6
EJ$0*06/?;(+Q/!
1576/6/!=1(*05>6 T *'(QoA/I/:V8H(U@;(:V"4;1>N _IJ(LM:V"%,-*06/?h8U(+:+"%(!3?7@g*28!="78H@g(5h*0,-./$'!=,-!36^("%6<ELY">8H(!36/57I/?>Q(5hAC!I
8!=Eo"%(Q/*0?>Q
8H.C!3!#E;(+:+">6
8,9*28+8H*05>6:+"%(!#83N
/N <[=S p4Y<[YV hSC_(R*28RI
8!=Eg(5i(5-*0,9.
$'!=,9!=6^(EJ@S6
"%,-*21./:+*05>:+*v(U@;8+1VQ/!=E/I/$'!=:+8R8I
1VQb">8R ! ! I
8!=E*'6bEJ!3$2"[@^&
! !">6
E U*v((!3:&w ! !"%6<Eh"%$28H5pI
8!=E-*06hZS*':(I
">$
1$05J1Vxyl>}n T l^
_n T N7(sEJ5S!=8]6
5%(`Q
"[Z7!_(Q/!">6S@X5%Ly(+Q/!8Q/5>:(+135>,-*'6
?78
5%LRLM:V"%,-*'6
?q8U(+:+"%(!3?7*'!#83Nb5 T !3Z7!3:#l*'(i8IJdC!=:+8LM:57, "bQ
*'?7QKEJ!3?7:!=!h5%L157,9.
$'!3{S*'(U@>Nbw6
8!3:(*05>6*06^(5q"q85>:(!#ED./:*05>:+*'(U@
~^I/!3I/!p*28"%6q\9M$05>?-./:57A/$0!3,bl T Q/*21VQ1="%6bA<!I
6
">1=1!3./(+"%A
$'@g8$05 T LM5>:Q/*0?>Qo8.<!=!=E6/!3( T 57:xyN
V NM=)Y C<SRX ;SC(9*08iI
8!=E(+5r*0,-./$'!=,-!36^(-8H(+"%(*21;./:+*05>:+*v(U@P81VQ
!=EJI/$0!3:V8=NB|!=Z>!=$08X5%L(Q
!nz_nzK~7I
!3I/!#8
157::+!=8.<576
E(5;.
:*05>:+*v(U@$0!3Z>!=$08=N`"71VQq1576/6/!=1(*05>6o*28"788*0?>6/!#E";./:*05>:+*'(U@">6
Eo"%$0$.<">1Vx>!3(+8RLM:+5>, (+Q
"4(p15>6
6/!=1(*05>6q"%:+!
*'6<8H!=:H(+!=E;*06^(59(Q
!n_n]g~^I/!=I/!p5%L(Q
"%(./:*05>:+*'(U@h$'!=Z>!3$cDN 5oI/$'(*0./$0!15>6
6/!=1(*05>6
8R13">6AC!">8+8H*0?>6
!=Eh(+59(Q/!8+"%,-!f./:*05>:+*'(U@
$'!=Z>!=$)N ]">1Vx7!(+8`"%:+!81VQ
!=EJI/$0!=E;*'6n_n]-5>:VEJ!=:jLM:+5>,(Q/!Q/*0?>Q/!#8U(&c./:+*05>:+*v(U@i6/5>6J&!3,-.J(U@h~^I/!=I/!LM57:`(+:+">6
8H,-*288*05>6|NORQ/!=8!
81VQ
!3,-!p*08RI
8!=E*06(Q/!R EJ*2813*'.
$'*06/!>N
ORQ/!R5>6/$0@X:+!=8H(:+*21e(*05>6i*'6-I
8*06/?,XI/$'(*0$0!3Z>!=$/n_n]9~^I/!3I/!RLM57:j8U(V"4(+*01R./:+*05>:+*v(U@8+1VQ/!=E/I/$'!=:+8z*28z(+Q
"4(](+Q/!6SI/,XAC!3:]5>LyEJ*'dy!3:+!36^(
EJ!3$2"[@bA<57I/6
EBZ4"%$0I/!=8(Q<"4(13">6BAC!-./:54ZS*2EJ!=Eo(5(Q/!-1576/6/!#1e(*05>6<8f">:!9AC5>I/6
E/!=EBA^@b(+Q/!-6SI/,XAC!3:p5%L_./:+*'57:*'(U@b$'!=Z>!3$28f5%L
(Q/!8@J8U(+!3,bN
ORQ/!=:!">:!f!=8+8H!=6^(*2"%$0$'@h( T 59(U@S.<!#8R5%L(:V"4;1p81VQ/!#EJI/$0*'6
?-E/*08+1*0./$0*'6/!#83






Version 2 CSE, IIT Kharagpur

< iC #^G C|)U =7 zY)Chw6 T 5>:+xB1576


8!3:+Z^*06/?q8+1VQ/!=E/I/$'*06/?q8+1VQ/!3,-!#83l(Q/!8H!=:Z7!3:*286
!3Z>!=:*2EJ$'!g*vL(+Q/!3:+!;*28
E/"4(V"i(5-A<!8!36^(#N
E o<
Gi< #7C|))U =7 zY)C`w6b"i6/5>6J& T 5>:+x-135>6
8!3:+ZS*'6
?9EJ*28+1*0./$'*06/!7lJ!=">1VQ.
">1Vx7!(R*08"788*0?>6/!#EklS!3*'(Q/!=:!{S&
./$0*013*v(+$'@7lJ5>:R*',-./$0*21*'($0@>l
">6g!3$0*0?>*0A/*'$0*'(U@h(*0,-!>NjORQ/!p8H!=:Z7!3:_*0E/$'!#8M6/5>(_(+:+">6
8,9*'(H(+*'6
?-">6S@;E/"4(V"7 T Q/!366/5-E/"4(V"i*28_!3$0*'?7*'A
$'!7N
} Q/!3(Q/!=:i"q8!3:+ZS*013!;EJ*2813*'./$0*06/!;*28 5>:+xB1576
8!3:+Z^*06/?o57:6/5>6/& 5>:+xr1576
8!3:+Z^*06/?q"%dC!#1e(+8XA/IJdy!3:i:!#~7I
*':+!3,-!36^(V83lzEJ!3$2"[@B">6
E
EJ!=$0"[@ U*'(H(+!3:#NG}D5>:+xK1576
8!3:+Z^*06/?DEJ*08+1*0T ./$0*'6
!=896/!3!#EF$0!=8+89A/IJdy!3:;">T 6
EG1="%I
8!b8HQ/57:H(+!3:-EJ!3$2"[@A/IJ(;1="%6/6/5>(hA<57I/6
EEJ!3$2"[@ U*v((!=:
(+*'?7Q7(+$'@7NORQ/!i5>./.C578*v(+!*28(+:I/!LM5>:6
5>6J& T 57:x1576
8H!=:ZS*06/?;EJ*2813*'.
$'*06/!=8=_(Q/!=@b6/!3!#Eo";$2"%:+?>!3:A
IJdC!=:=lk1="%I
8!$05>6/?7!3:EJ!=$0"[@7l
A/I/(
1="%6AC5>I/6<EXEJ!=$0"[@ U*v((!=:(+*'?7Q^($0@>NzORQ/!jLM57$'$05 T *'6
?"%:+!`"LM! T 13:*'(!=:*2"R(5 UI
EJ?7!`(+Q/!_8I/*'(+">A/*'$0*'(U@f5>L
".
">:H(+*013I/$2"%:8!3:+ZS*013!sEJ*28+1*0./$'*06/!7N
} Q/!3(Q/!=:z*v(]*28z:!#~7I
*':+!=E(5f./:54ZS*2EJ!R8U(V"4(*28H(*213"%$S57:zE/!(!=:,-*06/*28U(+*01s?>I
">:+">6^(!3!#83NORQ/!R./:57.<!=:H(+*'!#85%L<4" 
5 (+Q
"4(j"%:+!_:!#~7I
*':+!=E
(+5A<!?7I
"%:V"%6^(!=!=EXA^@(Q/!8+1VQ/!3,-!7NORQ/!RLM57I/:j157,-,9576 
5 T ./:+5>.C!3:(*0!=8(+Q
"4(`">:!R5>La(!36-?7I
"%:V"%6^(!=!=Ei"%:+!sI/T .
.<!=:jA<57I/6
E95>6-$0578+8
:V"4(+!>lS(Q
! T 57:+8H(H&w13"78H!A
"%6
E T *0ES(+Q|l/(+Q/!I/./.C!3:A<57I/6
E/8R576b~^I/!=I/*06/?hEJ!3$2"[@>l/">6
EbEJ!3$2"[@ U*'(H(!=:=N`J5>,-!81VQ
!3,-!=8R576/$'@g?>I
">:+">67(+!3!
576/!i57:f85>,-!i5%Lj(+Q/!=8!i.
:57.<!=:H(+*'!#83Nu15>,-./:+!3Q
!36
8*'Z7!i">6
"%$0@J8H*285>L`Z4"%:+*'57I
8(+:+"%;1iEJ*28+1*0./$'*06/!#89YA<5>(Q T 57:xo1576
8!3:+Z^*06/?g">6
E
6/576 T 5>:+xg135>6
8!3:+ZS*'6/?S`">6
Eg(Q/!=*'::+!3$2"4(+*'Z7!f135>,-.
">:*28H5761="%6A<!pLM57I/6
E*'6 8 / ( < N
w6(Q/!pLM57$'$05 *06/?
l !W<:+8H(EJ*08+1I<88R"iLM! TT 57:x;135>6
8!3:+ZS*'6
?iEJ*2813*'.
$'*06/!=8=l
">6
E8I/A
8!=~^I/!=6^($0@ T !EJ*2813I
8+8"XLM! T 6/576J& T 57:x^&
135>6
8!3:+ZS*'6/?-8!3:+Z^T *21!pEJ*2T813*'.
$'*06/!=8=N
E

 

 )
 
4
K LBE

E ME  C E
B

w6(Q
*088I/A
8!=1(*05>6|l T !EJ*2813I
88"iLM! T *0,-.<57:H(V"%6^( T 57:x;135>6
8!3:+ZS*'6
?98!3:+ZS*013!fEJ*28+1*0./$'*06/!#83N
S)<y#^ /Y kS) # %&4]}n T 8 :;< Q
"78!3Z75>$0Z>!=ErLM:+5>, n$0I/*2En
"%*0: T I/!=I/*06/?KYnzn T l">$085bx^6
5 T 6P"78 ]">1Vx7!(
6 !=6/!3:V"%$0*'m=!=E `:5J13!=8+8H57:iSQ
">:*06/?G 6 _/eNzw6Gnzn T (Q/!=:!*08-"D8H!=.
"%:V"4(+!gnUn\~^I/!=I/!;LM57:-!=">1VQG15>6
6/!=1(*05>6F8Q
"%:+*06/?q(+Q/!
8+"%,-!g$0*06/xyN !I/:+*06/?B">6^@D(+*',-!b*'6^(+!3:+Z[">$ Q
!36K(+Q/!3:+!b"%:+!;!{/">1($0@K6
5>6J&!3,-.J(U@~^I/!3I
!=8=l](Q/!b8!3:+Z>!3:98H!=:Z7!=8(Q/!b.<">1Vx^&
!3(+8-"4(9(Q/!Q/!#">E5>L(Q/!o~^I/!=I/!=898H*0,XI
$v(V"%T 6/!=5>I
8$'@7l]!="71VQF"4(9(Q/!:V"4(!5%L +4(QF5>L(Q
!$0*'6
xK8H.C!3!#EkNKnzn T "%$0$05 T 8iEJ*'dy!3:+!36^(
135>6/6/!#1e(+*'576
8f(5bQ
"[Z7!-E/*vdy!3:+!36^(8H!=:ZS*21!h8Q
"%:+!=8=N9u nzn T *281VQ
"%:V">1(!=:*0m3!#EoAS@r.<5^8H*'(*0Z>!-:+!=">$]6^I
,XAC!3:V8  %D     9l!#">1VQ
135>:+:!#8H.C5>6
E/*'6/?p(+55>6
!~^I/!3I/!7N]u_(s"%6S@i(*0,9!(Q/!f8H!=:ZS*21!:V"4(+!LM5>:_"6/5>6/&c!=,9./(U@9~^I/!=I/!*<*08`!{/">1($0@     
   T Q/!3:+!
p 
f*28(Q/!h8!(p5%L`6
5>6J&!3,-.J(U@q~^I/!=I/!=8p"%6<ED *28(Q/!-$0*'6
xq8H.C!3!#EkNiORQ/!=:!3LM5>:+!>lknzn T 8!3:+Z>!#8.<">1Vx>!3(+8*'6D6/576J&c!=,-.J(U@o~7I
!3I/!#8
"713157:+E/*'6/?(5b(+Q/!3*0:8!3:+Z^*21!h8Q
"%:+!=8=Nhnzn T *08*0,-./:V">1e(+*01="%$j"78p*v(X"788I/,-!=8f(+Q
"4((+Q/!;8H!=:Z7!3:13">68H!=:Z7!9">$'$j135>6/6/!#1e(+*'576
8 *'(Q
6/576J&!3,-.J(U@b~7I
!3I/!#88*',iI/$v(V"%6/!=5>I
8$0@"%6<Eb(Q
"%((Q
!(:V"4;1*28*06JW
6
*v(+!3$0@bE/*'ZS*28H*0A/$0!>Nw6q"h,-57:!:+!=">$'*28H(*21p.
">1Vx7!(8@J8U(+!3,bl
T 576/$'@
576/!15>6
6/!=1(*05>6h13">6i:+!=13!3*0Z>!8H!=:ZS*21!"4(j"f(+*',-!"%6<E9">6i!=6^(*0:!.
"71Vx>!3(z,iI
8H(zAC!8!3:+Z>!#EAC!LM5>:+!"%6
5%(Q
!3:].
"71Vx>!(j1="%69A<!8!3:+Z>!#EkN


4j

Rd

 




 


S
K LBE

E ME  C E
4

5>6J& T 75 :x;135>6
8!3:+ZS*'6
?9EJ*28+1*0./$'*06/!#8 T !=:!p6/5>(R?7*'Z7!36bEJI/!*0,-.<57:H(V"%6
13!f!#"%:+$'*0!3:RAC!=1="%I
8!p5%L( T 5-,h"%*06:+!="78H576
8=N
E j:+!3ZS*05>I
8$'@(Q/!,h" U5>:j.C!3:LM5>:+,h"%6
13!*'6
E/*013!=8 T !3:+!R(Q
!"[Z>!=:+">?>!EJ!3$2"[@X5>L|"%$0$/(Q
!.
">1Vx7!(V8j"%6
E9(+Q/!"[Z7!3:V"%?>!s(Q
:57I/?>Q/.
IJ(
5%L(Q/!8!3:+Z>!3:#N} *v(+Qb"96/576J& T 57:xh1576
8!3:+Z^*06/?9EJ*08+1*0./$0*'6
!>l
"9.
"71Vx>!(R,h"[@hA<!Q
!3$2Eg*06(Q/!8!3:+Z>!3:_!3Z7!36 T Q/!36(Q
!8H!=:Z7!3:
*08R*2EJ$0!>NjORQ/*28,h"[@;*06
1:+!="78H!(Q
!"[Z>!3:V"%?7!EJ!=$0"[@h5>L(+Q/!.
"71Vx>!(V8R"%6
EbEJ!#1:+!=">8!(Q/!"[Z7!3:V"%?>!(Q/:+5>I
?>Q/./I/(R5>L(+Q/!8!3:+Z>!3:#N
E T I/!3I
*'6/?K">6
"%$0@J8H*28h85PLY"%:g"788I/,-!=E5>6
$'@"8H*06/?>$0!q8!3:+Z>!3:h!=6SZ^*0:+5>6/,-!36^(#N ORQ/!o.C5%(+!36^(*2"%$f">EJZ4"%6^(V"%?>!#8-5%Lp6/5>6/& T 5>:+x
1576
8H!=:ZS*06/?oEJ*2813*'./$0*06/!=8X*'6K6
!( 5>:+x>!=EB!36SZS*0:576/,-!36^( !3:+!h6/!3Z7!3::+!=">$'*0m3!#EPw6?>I
">:+">67(+!3!#EB.C!3:LM5>:+,h"%6
13!;8H!=:ZS*21!7l(+Q/!
,-5>:+!*',-.C5>:(+"%6^(.C!3:LM5>:+,h"%6
13!T *'6<EJ!{b*08(Q/!i!36
EJ&)(+5%&!3T 6
EbEJ!=$0"[@A<57I/6
Eo:V"4(+Q/!3:(+Q
"%6b(+Q/!i"[Z7!3:V"%?7!fEJ!=$0"[@7NRw6q">E/EJ*'(*05>6l
EJ!3$2"[@X6
!3!=E
8](5AC!AC5>I
6
EJ!=E-*06;"6/!3( 57:xS*06/?p!36SZS*':+5>6
,9!=6^(j:+"%(Q/!=:](Q
">6 UI
8H(s*06;"8H*06/?>$0!6/5JEJ!7N]ORQ/!3:+!LM57:!7l4(Q/!"%AC54Z>!
:!#">85>6
8`LM5>:6
5%(I
8*'6
?96
5>6J& T 57:x;135>6
T 8!3:+ZS*'6
?9EJ*28+1*0./$'*06/!#8EJ5h6/5%(Q/57$0Eb">6^@h,-57:!7N
,




Version 2 CSE, IIT Kharagpur

w 6(Q/!pLM57$'$05 T *06/?
l T !EJ*08+1I<88"iLM! T *0,9.C5>:(+">6^(6/5>6J& T 5>:+x7&w1576
8!3:+Z^*06/?8!3:+ZS*013!pE/*08+1*0./$0*'6/!#83N
|M==^ fJ4Y) =%U UJ#<ORQ
!7*v((!=:H&w ! ! 8 $ < .
:54ZS*2EJ!=8EJ!3$2"[@^& U*'(H(+!3:fA<57I/6
E/8=NuLa(!=:";.
"71Vx>!3(Q
"78AC!3!=6B8!3:+Z>!=Eo"%(
!#">1VQr8!3:+Z>!=:=ly";W<!3$2Eq*06r*'(+8fQ/!="7EJ!3:f*28f8H(+">,-.<!#E T *'(Qq(+Q/!hEJ*'dC!=:!=6
1!9A<!3( T !=!36q*'(+8pEJ!#">EJ$0*06/!9">6
Eo(+Q/!-">1e(+I
"%$W
6
*08Q/*06/?g(+*',-!7N
uG:!=?>I/$2"4(+5>:"%((+Q/!`!=67(+:+">6
1!s5%LJ(+Q/!`6/!3{S(z8!3:+Z>!=:|Q/5>$2E/8(Q/!_.
"71Vx>!(LM5>:|(+Q/*28.C!3:+*05SEA<!3LM5>:+!`*'(*28,h"7EJ!`!=$'*0?>*0A/$0!j(5A<!_81VQ
!=EJI/$0!=E|N




Delay Bound
PreAhead

Switch i1

Arrival

Departure

Deadline

Holding
Switch i

Delay Bound

Arrival

Eligible

Deadline

n *0?>I
:!*
]">1Vx>!3(J!3:+Z^*21!p*06 >*'(H(+!3:& ! !
7*v((!=:H&p ! !*28i*'$0$'I<8U(+:+"%(!=EP*06Gn*0?
NP*/l Q/*21VQF8Q/5 8(+Q/!./:57?>:+!=8+8p5%L"r.
">1Vx7!((+Q/:57I/?>QK( 5r"7E H">13!36^(98!3:+Z>!=:+8=Now6
(+Q/!bW
:V8U(g8!3:+Z>!=:=l](+Q/!o.
"71Vx>!(h?75%(;8H!=:Z7!=E j:+!=T uQ
!=">E8!=T 1576
E/8-AC!LM57:!b*'(+8;EJ!#">EJ$0*06/!>NS5<ls*06(Q/!oT 6
!{S(g8H!=:Z7!3:#l`*'(;*08-,h"7EJ!
!=$'*0?>*0A/$0!(5A<!X8!36^(f5>6/$0@"%La(!=: j:+!=uQ/!="7Eb8H!#15>6<E/83NJ*'6
13!(+Q/!3:+!*28"g135>6
8H(+">6^(EJ!3$2"[@AC!( T !3!=6b(Q/!i!3$0*'?7*'A
*'$0*v(U@(+*',-!=85%L](+Q/!
.
"71Vx>!3("%(( T 5h"7E H">13!36^(8H!=:Z7!3:V83l^(Q
!.
">1Vx7!(8H(:+!="%,13"%6AC!./:+54Z^*2EJ!#E"-EJ!=$0"[@ U*'(H(+!3:A<57I/6
EkN`u88I/,-*06/?-(Q/!=:!*286/5-:+!3?7IJ&
$2"4(+5>:j"4(z(+Q/!EJ!=8H(*06
"%(*05>6-Q/578H(=l%(Q/!!=6
ES&c(5%&!36<EiEJ!=$0"[@ U*v((!3:`A<57I/6
E9*08](Q/!8+"%,-!">8(+Q/!$'5J1="%$/EJ!=$0"[@AC5>I
6
E-"4(z(Q/!$0"78U(j8!3:+Z>!3:#N
= V/  p^(57.J&">6
ES& 6 5;EJ*2813*'./$0*06/%! 8 ( < *28A<">8!=Eb5>6o,iI/$'(*0$'!=Z>!3$LM:+">,-*'6/?8U(+:+"%(!3?7@>NRn*':V8U( !E/!=8+1:+*'AC!(Q
*08fEJ*2813*'./$0*06/!
I
8*06/?i576/!$0!3Z7!3$CLM:V"%,-*'6
?
lJ"%6
Eh(Q/!=6 T !!3{S(!36<E;*'(s(+5i,iI/$v(+*v&$0!3Z>!=$CLM:+">,9*06/?<Nw6b"LM:V"%,-*06/?98H(:V"4(+!3?7T @>l7(Q/!(*0,-!p"%{J*08s*08REJ*0ZS*0E/!=E
*06^(5bLM:V"%,-!=8=l T Q
*01VQK">:!-.C!3:+*'5JE/8X5%L8H57,9!;135>6
8H(+">6^($'!=6/?%(+QKOpN^(+5>.J&w"%6
EJ& 6 5qEJ!3W
6/!#8EJ!3.<"%:(*06/?q"%6
E">::+*0Z^*06/?LM:V"%,-!=8pLM57:
!#">1VQ$'*06/xyNsu_(!#">1VQb8 T *'(+1VQ|l/(Q/!X">::+*0Z^*06/?iLM:+">,-!5%Lz!=">1VQ*06
157,9*06/?-$0*'6/x*28,h"%./.C!=E(5-(+Q/!EJ!=.
"%:(*06/?-LM:V"%,-!p5%L(Q/!57IJ(.
IJ(
$0*'6
x;AS@h*'6^(:+5JEJI
13*'6/?-"-1576
8U(V"%6^(EJ!3$2"[@ E/l T Q/!=:! * & E N]u13135>:VEJ*06/?X(+5X(+Q/!^(57.J&w"%6
ES& 6 5-EJ*08+1*0./$0*'6
!>lS(Q
!(+:+">6
8,9*28+8H*05>6
5>L_".
">1Vx7!((+Q
"4(Q
"78p"%:+:*0Z>!#Eo5>6D"%6S@o$'*06/xq$jE/I/:*06/?b";LM:V"%,-!iL_8Q/5>I
$0EB"%$ T "[@J8A<!-.C578H(.C5>6/!#ErI/6^(+*'$z(+Q/!-A<!=?>*06/6/*06/?5>L`(+Q/!
6/!3{S(LM:+">,9!7lS(QSI
8R(+Q/!8!3:+Z>!3:_:+!3,h"%*06
8R*2EJ$'!I
67(+*'$|(Q/!=6!=Z>!=6*'L(+Q/!3:+!"%:+!f.
">1Vx7!(+8~^I/!=I/!=EgLM5>:R(+:+">6
8,9*28+8H*05>6|N
ORQ/!fLM:V"%,-*06/?h8U(+:+"%(!3?7@h*'6^(+:5JEJI
13!=8_(+Q/!./:+5>A/$0!3, 5>L135>I/./$0*06/?-A<!3( !=!36oEJ!3$2"[@hAC5>I/6
Eb">6
EgA<"%6
E *2ES(+Qb">$'$05J13"%(*05>6?>:V"%6SIJ&
$2"%:+*v(U@7N_ORQ
!XEJ!3$2"[@g5>Lj"%6S@.<">1Vx>!3("4(";8*06/?>$0!8 T *'(+1VQo*28AC5>I
6
EJ!=EqA^@gT ( T 5-LM:V"%,-!(+*',-!#83NO5;:!#EJI
13!pT (Q/!9EJ!3$2"[@>l
"g8H,h"%$0$0!3:O
*28EJ!=8*0:!#EkN]5 !3Z>!=:=lJ8*'6<1!O*28"%$28H59I
8!=Eg(5h8.<!#1*'LM@h(:V"4;1f*v(*28_(*0!=Eg(5-A
">6
E *2ES(Qo">$'$05J13"4(+*'576g?7:+">6^I
$0">:*'(U@>Nu8+8HI/,-*06/?h"
W/{J!#Eb.
">1Vx7!(8*'T m=! zlJ(Q/!i,-*'6/*0,XI
,?7:+">6^I
$0">:*'(U@h5%L]A
">6
E T *2ES(Qq">$'$05J13"4(+*'576b*08 J+4T OpN/O5;Q
"[Z7!p,957:! <!{J*'A
*'$0*v(U@*06q"%$0$'5J13"%(*06/?
A
">6
E *2ES(Ql^57:_8,h"%$0$'!=:sA<"%6
E *2ES(+Q"%$0$05S1="4(+*'576h?>:V"%6SI/$2"%:+*v(U@7l7"$2"%:+?>!=:`O *28`.
:!3LM!3:+:!#EkN(R*28_13$'!#"%:`(Q
"%(_$05 EJ!3$2"[@9A<57I/6
Eg">6
E
W
6
!?>T :V"%6SI/$2"%:+*v(U@-5%LA
"%6<E T *0EJ(T Qq"%$0$05S1="4(+*'57613">6/6/5>(RAC!">1VQ
*'!=Z>!=E8*',iI/$v(V"%6/!=5>I
8$0@h*'6o"iLM:+">,-*'6/?h8H(:V"4(+!3?>@gT $'*0x>!^(+5>.J&w"%6
EJ& 6 5<N








T2 Frame
T1 Frame

n*'?7I/:+! ]O T 95 !3Z>!=$|n/:V"%,-*06/? T *v(+Q  


.

V   

Version 2 CSE, IIT Kharagpur

O5?7!(">:57I/6
Ep(+Q/*28135>I/.
$'*06/?.
:57A/$'!=, ,XI/$'(*'&c$0!3Z7!3$7LM:+">,-*'6/?*08I
8!=E|Nw6(+Q/*283l4(+Q/!s(*0,9!R"4{J*28*28EJ*'ZS*2EJ!=EX*'6^(+5f"Q/*'!=:+">:+1VQ
*01="%$
LM:V"%,-*06/?8U(+:I
1(I/:+!8Q/5 T 6i*06hn*'?<Nz Nn
5>:`"f6-$0!3Z>!=$JLM:V"%,-*'6
? T *'(Q9LM:V"%,-!8*'m=!=8]O l0N0N'l^OR6-">6
E-OR,  ;p,bN OR,LM5>:`,  l/N0l
6J& l#.
"71Vx>!(V8k5>6"$'!=Z>!3$7.1576/6/!=1(*05>66/!=!=Ef(+55>A
8!3:+Z>!z(+Q/!s^(+5>.J&w"%6<ES& 6 5:I/$0! T *'(QLM:V"%,-!`8*'m=!`OR.|l[*cN !7N'l[$0!3Z>!=$>..
"71Vx>!3(+8 T Q/*21VQ
">::+*'Z7!=Ei"4(j"%695>IJ(+./IJ(j$0*'6
xiEJI/:+*06/?"fOR.9LM:V"%,-! T *'$0$/6/5>(]A<!#15>,-!R!3$0*0?>*0A/$'!RLM57:z(:V"%6
8,-*08+8*'576XI/6^(*0$J(+Q/!8U(V"%:(]5%L<6
!{S(`OR.XLM:V"%,-!7N
u$085
l<LM5>:( 5g.
">1Vx7!(+8 *v(+QBEJ*'dy!3:+!36^(LM:V"%,-!i8*0m3!=8=lC(Q/!i.
">1Vx7!( *'(QD"g8,h"%$0$'!=:LM:V"%,-!i8*'m=!XQ
"78";6/5>6J&./:+!3!=,9./(*0Z>!X.
:*'&
57:*'(U@q54Z>!=:f(Q/!;T .<">1Vx>!3( T *v(+QPT "b$2"%:+?>!=:fLM:+">,9!h8*'m=!>N;} *'(Q,iI/$'(*'&)LM:V"%,-T !g^(+5>.J&w"%6
EJ& 6 5<l|*v(*28.C578+8H*0A/$0!-(5o./:+54ZS*0E/!9$05 T E/!3$2"[@
AC5>I/6<E/8_(5h85>,-!f1VQ<"%6/6/!=$08RAS@h./I/(H(*06/?-(+Q/!3, *06LM:+">,-!=8 T *v(+Q"-8,h"%$0$'!=:sLM:V"%,-!(*0,-!>l
">6
E;(+5h"%$0$'5J13"%(!fA
"%6<E T *0EJ(Q T *v(+QW<6/!
?7:+">6^I
$0">:*'(U@b(5b5%(+Q/!3:i1VQ
"%6/6
!3$28pA^@B./IJ((*06/?b(Q/!=, *06P$'!=Z>!=$08 T *'(QK"b$2"%:+?>!=:LM:V"%,-!9(*0,-!>N5 T !3Z>!=:=ly(+Q/!g135>I/./$0*06/?bA<!3( T !=!36
EJ!=$0"[@o">6
EoA
">6
E T *2ES(QD"%$0$'5J13"%(*05>6o?7:+">6^I
$0">:*'(U@8H(*0$'$z!3{S*28H(+8 T *v(+Q/*'6B!="71VQoLM:+">,-!>Npu 8+1VQ/!3,-!X*28f./:+5>.C578!=E(5">E/Er"8!3.
">:+"%(!
8Q
"%.
*'6/?-,-!=1VQ<"%6/*28H, "4((+Q/!6/!( 5>:+x;!=67(+:@g.<57*'6^(LM5>:6/!( 5>:+xJ8 *'(QbLM:V"%,-*06/?-A
">8!=EEJ*2813*'.
$'*06/!=8=N`} *'(Q(+:+"%h18Q
">./*'6
?-"%(
(+Q/!!=67(+:+">6
1!R(+5(Q
!6/!3( T 57:xyl>*'(`T *28`.C578+8*'A/$0!(+5,XI/$'(*0./$0!{hT 8H!=Z>!=:+">$
T 1576/6/!=1(*05>6
8`5>6;"8*06/?>$0!8H$05%(s5%L"pLM:V"%,-!>l>(Q/!=:!3LM5>:+!"[Z>57*0E
(+Q/!./:+5>A/$0!3, 5>Lz135>I/.
$'*06/?-A<!3( T !=!36LM:+">,-!p8*0m3!"%6<EgA
">6
E T *2ES(Qo">$'$05J13"4(+*'576?7:+">6SI/$0">:*'(U@>N
J= eiCy34CYYS #J=) p4)
4MV]`ORQ
!_.
:!=Z^*05>I<8H$0@EJ*08+1I<88!=Ei8H!=:ZS*21!&wEJ*2813*'.
$'*06/!=8 T !3:+!s!=*v(+Q/!3:zA
"78H!#E5>6-85>:(!=E./:*05>:+*'(U@
~^I/!=I/!R,9!#1VQ
"%6
*08, M!7N ?<N}n T 57:LM:V"%,-*06/?p8U(+:+"%(!3?7@hM!>N ?
N]^(+5>.J&w"%6
EJ& 6 5SeNJ5>:(!=EX./:+*'57:*'(U@8H!=:ZS*21!3&EJ*28+1*0./$'*06/!#8">:!R157,9.
$'!3{
">6
EoEJ*'h13I/$'((+5;*',-./$0!3,-!=67("%6<ELM:+">,9*06/?g8H(:V"4(+!3?7@8IJdC!=:LM:+5>,(Q
!iEJ!=.<!=6
EJ!36<1*0!=8A<!3( !=!36q~^I/!3I
*'6/?EJ!3$2"[@">6
Eo?7:+">6^I
$0">:H&
*'(U@o5%L`A<"%6
E T *2ES(+Q|NiO5?7!("%:+5>I/6<Eb(Q/!#8H!9./:+5>A/$0!3,h8=lkm3Q
">6/?">6
Ern
!3:+:+">:* 8 =;< lk./:+5>.C578!=T Er"4(!3&Us576^(:+5>$0$'!#Eq^(+"%(*21e& j:+*'57:*'(U@
T Q/!=:!=*'6(Q
!pLMI/6
1e(+*'576b5%Lz:+"%(!15767(+:57$CLM:57,EJ!3$2"[@g135>6^(:+5>$yQ
"78RA<!=!36qEJ!#15>I
./$'!#Eg*06(Q/!E/!=8*'?765>L8!3:+Z>!3:#N

Regulator 1

Regulated Traffic

Priority level

Regulator 2

input

output

n
Regulator h

Scheduler

Rate Controller

n *0?>I
:!>/]"4(+!is5>6^(:+5>$0$'!#E^(V"4(+*01 `:*05>:+*v(U@
u88Q/5 6o*06Cly"gR 8!3:+Z>!=:Q
"78( 5157,-.<576/!36^(+8=";:V"4(+!&w15>6^(+:57$'$0!3:">6
Eq"g8H(+"%(*21./:+*05>:+*v(U@81VQ/!#EJI/$0!3:#Nps576
1!=.J&
(+I
"%$0$'@7l/"X:V"4T (+!f135>6^(:+5>$0$0!3:s135>6
8*28U(V8s5>L"98H!3(R5>TL:+!3?>I
$0"%(5>:V8_15>:+:+!=8.<576
EJ*06/?(59!="71VQg5>L|(Q/!135>6/6/!#1e(+*'576
8s(:V"[Z>!3:V8*'6/?(Q/!8!3:+Z>!3:#
!#">1VQ:+!3?>I
$0"%(5>:X*08i:!#8H.C5>6<8H*0A/$0!hLM5>:-8HQ<"%./*06/?o(+Q/!g*06/./IJ(9(:V"4;1h5>L(Q/!b157::+!=8.C5>6
EJ*06/?q135>6/6/!#1e(+*'576*'6^(5r(Q/!EJ!=8*0:!#EP(:V"4;1
.
"%(H(+!3:+6|N .C5>6P"%:+:*0Z4"%$5%Ls!#">1VQq.<">1Vx>!3(=lk"%6B!3$0*'?7*'A
*'$0*v(U@b(+*',-!9*08p1="%$21I/$2"4(+!=Er">6
Er"788*0?>6/!#Eb(5(Q/!9.
"71Vx>!(pAS@(Q/!-:+!3?>I
$0"%(5>:#N
ORQ/!.
">1Vx7!(X*289Q/!3$2E*06K(+Q/!g:+!3?7I/$0"%(57:(*0$'$R*'(+8i!3$0*'?7*'A
*'$0*v(U@D(+*',-!A<!3LM5>:+!gAC!3*06/?rQ
">6
EJ!#E(5r(Q/!81VQ
!=EJI/$0!3:iLM5>:X(:V"%6
8,-*08+8*'576|N
ORQ/!8H(+"%(*21.
:*05>:+*v(U@;8+1VQ/!#EJI/$0!3:V8s.
:54ZS*2EJ!?7I
"%:V"%6^(+!3!=8s5>6bEJ!=$0"[@;">6
EE/!3$2"[@7& U*'(H(!=:A<57I/6
EkNjORQ
!p8+1VQ/!#EJI/$0!3:*28R*',-./$0!3,-!36^(+!=EA^@
",XI/$'(*0$0!3Z>!=$]n_n]q~^I/!=I/!>l Q/*21VQB8!3:+Z>!#8(+Q/!-.
">1Vx7!(+8">1=15>:VEJ*06/?;(+5*'(+8f./:+*05>:+*v(U@b*cN !7NpW
:+8H(p.
">1Vx7!(*06q(+Q/!-Q/*0?>Q/!#8U(f./:*05>:+*'(U@
6/576J&!3,-.J(U@g~^I/!=I/!>NjORQ/!=:!">T:!f( T 5X(U@S.C!=85>L:+!3?7I/$0"%(57:+8=


V*

Version 2 CSE, IIT Kharagpur

"4(+!& U*v((!=:Y#S_:!=?>I/$2"4(+5>:#l T Q/*01VQb1576^(:+5>$28s:V"4(+!& U*v((!=:A^@.


"%:(*2"%$0$0@h:!#15>6<8U(+:I
1(*06/?i(Q/!p(+:+"%h1>N
E !!=$0"[@^& U*v((!=:b ! S9:+!3?>I
$0"%(5>:#l T Q/*21VQ15>6^(+:57$08-EJ!=$0"[@^& U*v((!3:hAS@LMI
$'$0@F:+!=135>6
8H(:+I
1e(+*'6
?q(Q
!b(:V"4;1%N}D!b"788I/,-!(Q
"%(
(Q/!;R 8+"4(+*08HLM@q(+Q/!q 3,-*'6|l 3f"[Z>!>lH1VQ
"%:V">1(!=:*0m="%(*05>6|NhORQ/!q 3,-*'6l 3f"[Z>!7l|H#o:+!3?7I/$2"4(57:p!36
8I/:+!=8f(Q<"4((+Q/!
5>IJ(+./IJ(;5>L(Q
!o:!=?>I/$2"4(+5>:-8"%(*28ULM@(+Q/!K 3,-*'6|l3f"[Z>!>lsHi(:V"4;1,-5SE/!3$cl T Q/*0$0!(+Q/! ! :!=?>I/$2"4(+5>:9!36
8I/:+!=89(+Q
"4(h(+Q/!
5>IJ(+./IJ((+:+"%h1f5>L(+Q/!:!=?>I/$2"4(+5>:R*28!{/">1($0@h(Q
!X8">,-!p"78_(Q/!57IJ(.
IJ((:V"4;1f5%L(Q
!:!=?>I/$2"4(+5>:"4((+Q/!./:+!3ZS*'57I
88!3:+Z>!3:#N
ORQSI
83lJ*'L(+Q/!p(:V"4;1p8+"4(*28HW
!=8s(Q
!; 3,-*06|l 3f"[Z>!>lSHR1VQ
">:+"71e(+!3:+*'m#"4(*05>6;"%(6/!( T 5>:+xh!36^(:V"%6<1!>lSAC5%(+Q(U@S.C!=8R5>L:+!3?>I
$0"%(5>:V8
T1VQ
*'"%$0$z:V">!36
1(8!=I/::+*0!Xm="%(+(Q
*05>"46|(fN (Q
!957IJ(.
IJ(f5>L`(+Q/!i:+!3?7I/$2"4(57:=l T Q/*21VQr*28f(Q/!9*06/./IJ(p(5(Q
!-8+1VQ/!#EJI/$0!3:#l T *0$0$j8"%(*28ULM@(Q
!-8+"%,-!i(:V"4;1
ORQ/!i81VQ/!#EJI/$0!3:*06q";8!3:+Z>!=:R I
8!=8"h6
5>6J&./:+!3!3,-.J(+*'Z7!8U(V"4(+*01.
:*05>:+*v(U@.<57$'*21@yC*v(f"%$ "[@J88!3$0!=1e(V8(+Q/!X.
"71Vx>!3("4((+Q/!
Q/!#">E-5>L|Q/*'?7Q/!=8H(s.
:*05>:+*v(U@9~^I/!3I/!(Q
"%(s*28j6/5>(s!=,9./(U@>N]ORQ/!f K81VQ
!=EJI/$0!3:sQ
">8s"6SI/,iA<!=:`5%L|.
:T *05>:+*v(U@i$'!=Z>!=$08 T *v(+Q;!="71VQh./:*05>:+*'(U@
$0!3Z7!3$
135>:+:!#8H.C5>6
E/*'6/?(5"E/!3$2"[@A<57I/6
EkN]s">1VQ-15>6
6/!=1(*05>6-*08`">8+8H*0?>6/!#E(+5"p./:+*'57:*'(U@$0!3Z>!=$
EJI/:+*06/?1576/6/!=1(*05>69!=8H(+">A/$'*28Q/,-!36^(
(+*',-!>N 5qI/$v(+*'.
$'!135>6/6/!#1e(+*'576
813">6AC!">8+8H*0?>6/!#Eh(+5i(+Q/!8+"%,-!p./:*05>:+*'(U@h$'!=Z>!3$clJ"%6
E"%$0$k.
"71Vx>!(V8_5>6(Q/!135>6/6/!#1e(+*'576
8R">8+8H5J1*2"4(+!=E
T *'(Qo"9./:+*'57:*'(U@;$0!3Z>!=$|"%:+!f">./.C!36
EJ!#E(5-(Q
!!36
E5%L(Q/!~^I/!=I/!pLM5>:R(+Q
"4(./:+*05>:+*v(U@;$0!3Z7!3$cN
ORQ/!i81VQ/!#EJI/$0!3:*06q";8!3:+Z>!=:R I
8!=8"h6
5>6J&./:+!3!3,-.J(+*'Z7!8U(V"4(+*01.
:*05>:+*v(U@.<57$'*21@yC*v(f"%$ "[@J88!3$0!=1e(V8(+Q/!X.
"71Vx>!3("4((+Q/!
Q/!#">E-5>L|Q/*'?7Q/!=8H(s.
:*05>:+*v(U@9~^I/!3I/!(Q
"%(s*28j6/5>(s!=,9./(U@>N]ORQ/!f K81VQ
!=EJI/$0!3:sQ
">8s"6SI/,iA<!=:`5%L|.
:T *05>:+*v(U@i$'!=Z>!=$08 T *v(+Q;!="71VQh./:*05>:+*'(U@
$0!3Z7!3$
135>:+:!#8H.C5>6
E/*'6/?(5"E/!3$2"[@A<57I/6
EkN]s">1VQ-15>6
6/!=1(*05>6-*08`">8+8H*0?>6/!#E(+5"p./:+*'57:*'(U@$0!3Z>!=$
EJI/:+*06/?1576/6/!=1(*05>69!=8H(+">A/$'*28Q/,-!36^(
(+*',-!>N 5qI/$v(+*'.
$'!135>6/6/!#1e(+*'576
813">6AC!">8+8H*0?>6/!#Eh(+5i(+Q/!8+"%,-!p./:*05>:+*'(U@h$'!=Z>!3$clJ"%6
E"%$0$k.
"71Vx>!(V8_5>6(Q/!135>6/6/!#1e(+*'576
8R">8+8H5J1*2"4(+!=E
T *'(Qo"9./:+*'57:*'(U@;$0!3Z>!=$|"%:+!f">./.C!36
EJ!#E(5-(Q
!!36
E5%L(Q/!~^I/!=I/!pLM5>:R(+Q
"4(./:+*05>:+*v(U@;$0!3Z7!3$cN
R *28"bA<!3(H(+!3:X8+1VQ/!=E/I/$'*06/?q">$'?75>:+*v(+Q/,t8*'6
13!h*v(*28!#">8@o(5o*0,-./$'!=,-!36^(i"%6<EB*28EJ!=Z>57*0EB5%L./:+5>A/$0!3,h8fLY"71!=EDAS@r5>(Q/!=:
8+1VQ/!=E/I/$'!=:+8=N

 o
w6^(!=:6
!(f`6/?>*06/!=!3:+*'6/?;O">8xbn/5>:V1!MU`On]  ./:+5>.C578!=Eo8!3Z7!3:V"%$|,-5JEJ!3$28LM5>:.
:54ZS*2EJ*'6
? T 5^b"788I/:V"%6
13!=8_(5w6^(!3:+6/!3(H&A
">8!=E
">././$0*01="4(*05>6<83N-ORQ/!=8!-,-5SE/!3$28"%:+!91="%$0$'!#E  7 O/1 &f5>:  #%"$L
31C"L'&eN;ORQ/!-,-5JEJ!3$28p:!#~^I/*':+!i(Q
"%((Q/!;135>6/6/!#1e(+*'576
8
:+!=~^I/!#8U(+*'6/? T 5S;,iI
8U(LM57$'$05 T 13!3:(+">*'6b./:+5J1!=E/I/:!#8s(5;"[Z4"%*0$y(Q/! T 5^yN/ORQ/!=:!">:!f(Q
:!=!,-" U5>: T 5S;,-5JEJ!3$28R(+Q
"4(Q
"[Z7!pA<!=!36
./:+5>.C578!=E|NORQ/!#8H!">:!w6^(+!3?>:V"4(+!=E-S!3:+ZS*013!=8Yw6^(VS!=:Z/el !*vdy!3:+!36^(*2"4(+!=E;S!=:ZS*21!#8!*vd|S!=:Z/]">6
E-$0"78U(+$'@ 5oI/$'(*'& `:5>(5J157$/">A<!=$
*'(+1VQ
*'6/?K 5 `/eN !*'dkS!=:ZB*08X"%6D*',-./:+54Z>!=,9!=6^(p576Bw6^(eS!3:+Z T Q/*0$'! 5 `r*28".
">1Vx7!(H&cLM5>: T "%:VEJ*'6
?g81VQ
!3,-!-Q
"[ZS*'6/?(+Q/!
"7EJT Z4"%6^(+">?>!=8_5>LAC5%(Qbw6^(VJ!3:+Zg"%6
E !*vd|S!=:ZyN
E













;j

 4 


 A 

HJ
KL EMN

w6^(!=?>:V"4(+!=EqS!=:ZS*21!=8iMw6^(VJ!3:+ZJBo5 5JEJ!3$

*'6<1$0I
EJ!=8( 5h(U@S.<!#85>L`8H!=:ZS*21!=8(+"%:+?>!3(!#E(5 "%:VE:+!=">$v&c(*0,-!(:V"4;1>_?7I
"%:V"%6^(+!3!=E
>" 6
E./:!#EJ*21e(*0Z>!8!3:+ZS*013!>Nj(*06^(!=?>:V"4(!#8_(Q/!#8H!8!3:+ZS*013!=8 T T *'(Qq135>6^(:+5>$0$'!#Eg$0*06/x8Q
">:*06/?
l/">6
T E*v(*08E/!=8*'?76/!=E(5 T 5>:+x T !3$0$ T *'(Q
,iI/$v(+*01=">8H(">8 T !=$'$">8I/6/*213">8H((+:+"%h1>Nw6^(+8!3:+Z:+!=~^I/*0!3:V8!{J./$0*21*'(:+!=85>I/:V1!p:+!=8!3:+Z["%(*05>6(5gA<!9EJ5>6/!7l T Q
*01VQo*06o(I
:6o:+!=~^I/*0:!#8

5 T &w8.<!#1*'W<1p8U(V"4(!p*06(Q/!:+5>IJ(+!3:V83N
ORQ/!w6^(+!3:+6/!(jQ
"78z(5AC!I
8!=E-"78j"157,9,-576i./$2"4(LM5>:+,LM57:jA<5>(Qh:+!=">$v&c(*0,-!R">6
E96/5>6/&c:+!=">$v&c(*0,-!s(+:+"%;1"%6
Ei(QSI
8`./:+!=1$0I
EJ!#8
(+Q/!6/!3!#E(5;EJ!#8H*0?>6b"-.
">:+">$'$0!3$k*06JLM:V">8H(:+I
1e(+I/:!fLM57::!#"%$'&)(+*',-!p(:V"4;1>N 8!5%Lz!{J*08H(*06/?hw6^(!=:6
!(H&$2"[@>!3:R./:+5%(+5J15>$jY!>N ?
N0l/ ssLM57:
:+!=">$v&c(*0,-!E/"%(+"i*08s./:+5>.C578!=E;85X(+Q
"4(R!=135>6/57,X@95%L135>,-,XI
6/*01="4(+*'576"%6<Eh*'6^(+!3:+5>.C!3:V"%A/*0$'*'(U@-A<!3( T !=!36w67(eS!3:+Zh"%6
Eg6/5>6/&cw6^(VJ!3:+Z
6/!3( T 57:xJ8j1="%6;AC!f:!#"%$0*'m=!=EkNzORQ/!3:+!8Q/5>I
$0EhAC!p"8H*06/?7$'!f8H!=:ZS*21!,-5JEJ!3$CA/IJ(R.
"71Vx>!(_81VQ/!#EJI/$0*'6
?i"%6<Eh">EJ,-*288*'576g1576^(:+5>$
,-!#1VQJ&
">6/*08,1="%6bZ4"%:+@>N




 

 


"!$#%&' !)(**,+-.#/0
1
2 
$3 #
$+%#454,6
 78#9
 :;#1<
=#/0>3 #?=$@ 
<#?=$
<
%>*%#
%
<1:* A .@ #+6B #
C#9 .

 %> % 6D
<"  45#2# "#/0>3 #
C#9E .
2 
 F

V/

Version 2 CSE, IIT Kharagpur

w6^(VJ!3:+Zo*',-./$0!3,-!36^(V"4(*05>6BQ
">8LM57I/:*',-.C5>:(+">67(157,-.<576/!36^(+8=(+Q/!h8H*0?>6<"%$0*'6/?./:+5%(+5S135>$RY slk(Q
!-"7EJ,-*08+8*'576r15767(+:57$
:+5>IJ(+*'6
!>ls(Q/!r13$0"788*'W
!3:h"%6<EF(+Q/!q.
"71Vx>!3(h8+1VQ/!#EJI/$0!3:#NuLa(!=:;(+Q/!o:!#8H57I/:V1!:!#8H!=:Z4"4(+*'576">6
E13">$'$"7EJ,-*08+8H*05>6./:+5J1!#88!=8-"%:+!
135>,-./$0!(!7l T Q/!=6"9:+5>IJ(+!3::+!=1!=*'Z7!=8R"9.
">1Vx7!(#lS(Q/!13$0"788*vW<!3:R.<!=:HLM57:,h8"-1$2">8+8*vW<1="4(+*'576"%6<Eg*06
8!3:(+8_(Q
!.
">1Vx7!(*'6o"-8.<!#1*'W<1
~^I/!=I/!A
">8!=E576b(Q/!X13$0"788*'W<13"%(*05>6:!#8HI/$'(=N_ORQ/!.
"71Vx>!3(8+1VQ/!#EJI/$0!3: T *0$'$|(Q/!=6q81VQ/!#EJI/$0!(Q
!.
">1Vx7!(">1=157:+EJ*06/?7$'@h(+5h,-!3!(*v(V8
T 5S;:+!=~^I/*0:!=,-!36^(+8=N
n*0?
N 7 8Q/5 83lCQ/5 (Q
!=8!i157,-.<576/!36^(+8,-*'?7Q^(W/(f*'6^(5"%6q :57IJ(!=:(Q<"4(pQ
">8A<!=!36r!3{S(!36<EJ!=Eb(+5g./:+54ZS*0E/!*'6^(+!3?>:V"4(+!=E
8!3:+ZS*013!=8=NORQ/!_:57T IJ(!=:Q
T "78( T 5A/:5^">EpLMI
6
1e(+*'576
"%$JEJ*0ZS*08*'576
8=k(Q/!_LM57: T "%:VEJ*06/?.
"%(QXAC!3$05 T (Q
!RE/5>I/A/$0!_Q/5>:+*'m=5>6^(+">$>$0*'6
!>l>">6
E(+Q/!
A
"71VxS?>:+5>I/6
E15JEJ!"%AC54Z>!f(+Q/!$'*06/!7N`ORQ/!pLM5>: T "%:VEJ*'6
?i.
"%(Q5%L(Q/!:+5>I/(!3:*28!3{S!#1IJ(+!=ELM5>:!=Z>!=:@;.<">1Vx>!3(R">6
E,XI
8H((Q
!3:+!LM5>:+!
AC!Q/*0?>Q/$0@;5>./(*0,9*0m3!#EkN]w6
EJ!=!=Ekl
*'6b,-578H(157,9,-!=:+13*0">$C:+5>I/(!3:V8=l^*'(*28*',-./$0!3,-!=67(+!=E*06Q<"%:VE T ">:!7N
ORQ/!gLM5>: ">:+E/*'6/?r.
"4(+QK*08-EJ*0ZS*0E/!=E*06^(5B(Q/:+!3!8H!#1e(*05>6<83h*06/./IJ(hEJ:+*'Z7!3:#l]w6^(!3:+6/!3(XLM5>: "%:VEJ!3:#l">6
EK57IJ(.
IJ(-E/:*0Z>!=:=NDORQ/!
w6^(!=:6
!(_LM5>: T T ">:+EJ!=:s*06^(!=:./:+!(V8j(+Q/!p FQ
!=">E/!3:#Nzn
5>:R!="71VQ;.
"71Vx>!(#lJ"%6gw6^(+!3:+6/!(RLM5>: T "%:VEJ!3:sT !{J!=13IJ(!#8_"98I/*v(+!&wEJ!3.C!36<EJ!36^(1$2">8H&
8*vW<!3:"%6
Er(Q
!36P.
">8+8!=8(Q/!h.
"71Vx>!3(p">6
Eq*'(+813$0"788(5(+Q/!;"%./.
:57./:*2"4(+!X57IJ(./I/(E/:*0Z>!=:=N9u13$0"788*'W
!3:p,XI<8U(AC!9AC5%(+QB?7!36/!=:+">$
">6
E!;1*0!36^(=Njn
5>:!3;1*0!36
13@>l
"-157,-,9576,-!#1VQ
"%6/*28,8Q/5>I/$2EA<!I<8H!#E;LM57:A<5>(Qb:+!=85>I/:V1!p1$2">8+8H*'W<1="4(*05>6b"%6<Eg:+5>IJ(+!p$'5S5>xSI/.N
ORQ/!57IJ(.
IJ(EJ:+*'Z7!3:R*',-./$0!3,-!=67(V8R(Q
!.
">1Vx7!(81VQ
!=EJI/$0!3:#N
ORQ/!A
">1VxS?7:57I/6
E-15JEJ!*08R8*',-./$0@-$'5^">EJ!#Eh*'6^(+5X:+5>IJ(+!3:`,-!=,957:@h">6
Eh!{J!#1IJ(+!=EhAS@h"?7!36/!=:+">$v&./I/:+.<5^8H! NSORQ/!=8!A<">1Vx^&
?7:57I/6
Eh:+5>IJ(+*'6
!=8R1:+!="%(!E
"4(+"98H(:+I
1e(+I/:!#8s(Q
"%(135>6^(:+5>$<(Q
!LM57: T "%:VEJ*06/?X.
"%(Q|N]ORQ/!p:+5>IJ(+*'6
?i"%?7!36^(R*',-./$0!3,-!36^(V8_"i.
">:H(+*013I/$0">:
:+5>IJ(+*'6
?.
:5>(5J157$j"%6
EDA/I/*0$2E/8"b:+5>IJ(+*'6/?oE/"%(+">A
">8!>N;ORQ/!h:+!=8!3:+Z4"4(+*'576B8!(I
.K"%?>!=6^(p*0,-./$0!3,-!36^(+8(Q/!h./:+5%(+5J15>$]I<8H!#Er(+5q8H!3(
I/.B:!#8H57I/:V1!X:+!=8!3:+Z4"4(+*'576
83NfL_"7EJ,-*08+8*'576r15767(+:57$?7*'Z7!=8(Q/!hS\ -LM5>:";6
! :+!=~^I/!#8U(#lk"%././:+5>.
:*2"4(+!X1VQ
"%6
?>!=8f"%:+!X,h"7EJ!X(+5
(+Q/!i13$0"788*vW<!3:">6
Eb.
"71Vx>!(f81VQ/!#EJI/$0!3:fE/"4(V"%A
"78H!(+5;*0,9.
$'!=,9!=6^((+Q/!iEJ!#8H*0:+!=E T T 5^kN<n*'6<"%$0$'@7lC!=Z>!=:@:57IJ(!=:8I/./.C5>:(+8">6r"%?7!36^(
LM57:_6
!( T 5>:+xh,-">6
"%?7!3,-!36^(#NORQ/*28"%?7!36^(R,XI
8H(A<!"%A
$'!f(59,-5JEJ*vLM@g(Q/!13$0"788*vW<!3:R"%6
E.
">1Vx7!(81VQ
!=EJI/$0!3:E/"%(+">A
">8!=8`(5h8!(I/.
135>6^(:+5>$0$'!#E$'*06/x8Q
">:*06/?;"%6<Eg(+5g8!("7EJ,-*08+8H*05>6o135>6^(:+5>$k.C5>$0*013*'!#83NRORQ/!*0,-./$0!3,-!36^(+"%(*05>6bLM:V"%,-! T 5>:+xhLM57:"-Q/578H(*28?7!36/!=:+">$'$0@
8*',-*0$0">:p(5b(+Q
"4(LM57:"b:57IJ(!=:=l T *'(QD(+Q/!;">E/E/*v(+*'576D5>LR">././$0*01="4(+*'576
83Nh"%(Q/!=:(Q<"%6DA<!=*'6/?bLM57: T "%:VEJ!#Ekl|Q/5^8U(E/"%(+"b5>:+*0?>*06
"4(+!=8
">6
Eo(+!3:+,9*06
"%(!=8*06B"%6B"%././$0*213"4(+*'576|Nu6D"%././$0*213"4(+*'576q6/!=!=EJ*06/?b";:+!="%$'&c(*0,9! T 5^LM57:f%" 
5 T ,iI
8U(85>,-!3Q/5 T *06SZ>5>x7!X"$'5J13">$
:+!=8!3:+Z4"4(*05>68H!3(I/.o">?>!36^(#N
u88U(V"4(!#E!="%:+$0*'!=:_w6^(eS!3:+Z;Q
"78RA<!=!36oEJ!=8*0?>6/!#E;(+5h./:54ZS*2EJ!( T 59(U@S.<!#85%Lz8H!=:ZS*21!#83
E 6 I
"%:V"%6^(+!3!=ES!3:+ZS*013!fLM5>:"%.
./$'*213"%(*05>6
8R:+!=~^I/*0:+*'6/?iW/{J!=EbEJ!=$0"[@hAC5>I
6
E
E j:+!=EJ*21e(+*'Z7!S!3:+ZS*013!LM5>:`">././$0*01="4(+*'576
8]:+!=~^I/*0:*06/?./:+5>A
">A/*0$'*28U(+*01E/!3$2"[@XAC5>I/6
E|NzORQ
!*0,9.
$'!=,9!=6^(+"4(+*'576
8]5>LC(+Q/!?7I
"%:V"%6^(+!3!=E
8H!=:ZS*21!"%6<E9(Q/!.
:!#EJ*01(*0Z>!8!3:+ZS*013!R">:!E/!W
6/!#E-*'6-(+Q/!?7I
"%:V"%6^(!=!=Ei8H!=:ZS*21!nz 8 1 V < "%6
E9(+Q/!135>6^(:+5>$0$'!#EX$057"7E-8H!=:ZS*21!
n 8 V;< l/:!#8H.C!=1(*0Z>!=$'@7N
ORQ/!pw6^(VJ!3:+Zg"%:V1VQ/*'(!=1(I/:+!f:!=./:!#8H!=6^(+8_"XLMI
6
E/"%,-!=67(V"%$1VQ<"%6/?7!(+5i(+Q/!pw6^(!3:+6/!3("%:V1VQ/*v(+!=1(I/:+!A
IJ(*v(*28RA<!#8H!3( *v(+Qb,-">6S@
./:+5>A
$'!=,-8=l T Q/*21VQ,h">x>!=8R*'(Z>!=:@;E/*v;1I
$v((+5hEJ!3./$054@>N`J5>,-!p5%L(Q/!p*0,9.C5>:(+">6^(./:57A/$0!3,h8"%:+!(+Q/!pLM5>$0$05 T *'6/?< T
E ORQ/!i">,-5>I/6^(5>Ls8U(V"4(+!X*06JLM5>:+,h"4(*05>6o*06
13:!#">8!=8.
:57.<57:H(+*'576
"%$0$'@ T *v(+Qq(+Q/!X6SI/,iA<!=:5>DL 
5 T 83NfORQ/*28./$2">13!=8f";QSI/?7!X8U(+5>:&
"%?7!_">6
E./:+5J1!#88*'6
?54Z7!3:+Q/!="7E5>6i(Q/!R:+5>IJ(+!3:V83NORQ/!3:+!LM57:!7l[(Q/*28]"%:V1VQ/*'(!#1e(I
:!REJ5S!=86/5>(`81="%$0! T !3$0$J*'6i(Q
!_w6^(+!3:+6/!(j157:!7
E ORQ/!9:!#~7I
*':+!3,-!36^(f5>6r:+5>I/(!3:V8*08fQ/*0?>Q|Niu$0$:+5>I/(!3:V8,XI
8H(f*0,-./$0!3,-!36^( zl|">EJ,-*288*'576r1576^(:+5>$cNl 5rn 1$2">8+8H*'W<13"%(*05>6
"%6
E.
"71Vx>!(8+1VQ/!=E/I/$'*06/?<
E A/*2~^I/*'(5>I<8_E/!3./$054@S,9!=6^(_*28_:!#~7I
*':+!=E-LM57:R?>I
">:+">67(+!3!#E;8H!=:ZS*21!7Nw6
13:!=,-!36^(+">$yE/!3./$054@S,9!=6^(_5>Lzs5>6^(:+5>$0$0!=ES&w|5^">E;S!=:ZS*21!
*08R.C578+8*'A/$0!fA^@EJ!3./$054@S*'6
?hs5767(+:57$'$0!=EJ&57">ES!3:+ZS*013!f">6
E GLMI/6
1(*05>6
">$'*'(U@g"%(_(+Q/!AC5%(H(+$'!=6/!=1Vxg6/5JEJ!=8R5>L"9EJ5>,h"%*06
"%6
Eg(I
6/6/!3$0*06/?-(Q/! ,-!=8+8+"%?>!#8_54Z>!3:_5%(+Q/!3:.<"%:(R5>L(+Q/!EJ57,-">*'6N
V






 

 





Version 2 CSE, IIT Kharagpur

;j

 4

E
K

 E A 

$H
K LBE MN

O5h54Z>!=:+135>,-!(+Q/!$0*',-*'(+"%(*05>6
85>Lw6^(eS!3:+Zyl/U`OnF./:57.<5^8H!#E !*'dC!=:!=67(+*0"%(!#EqS!3:+ZS*013!=8 !*'dkS!=:Z/ 8 ( < l Q/*01VQb*288*',-./$0!3:">6
E
-, 5>:+!X8+13">$0">A/$'!7N !*vd|S!=:Zb:+!=EJ!3W
6/!=8(Q/!9 jZ $gOs@S.<!i5%LsS!=:ZS*21!g)O\p/W
!3$2Eo5>: jZ = O:+"%;19s$2">8+8 _T @^(!i"78EJ*'dy!3:+!36^(*2"4(+!=E
8!3:+ZS*013!!p/]W<!3$2EkN]ORQ/!W
:V8U(_8H*'{9A
*v(V8`5>LC(+Q/!W<!3$2Eh"%:+!13"%$0$0!=Eh">8 !fs5SE/!.<57*'6^(#l Q/*21VQ Q/!=6;,h"%:+x>!=E-EJ*'dy!3:+!36^($0@i*06
EJ*213"%(!#8
(+Q/!A<!=Q
"[ZS*'57:MxS6/5 T 6b">8R.C!3:&cQ/57.AC!3Q<"[Z^*05>:57: ` _!#">1VQ:57IJ(!=:_*28:+!=~^I/*0:!#Eh(+5;T "%././$0@hT (+59*06
EJ*0ZS*0E/I
"%$|.<">1Vx>!3(+8=N
ORQ/!*'6/LM5>:+,-"%(*05>6:+!=~^I/*0:!#EPAS@B(+Q/!gA
IJdC!=:i,h">6
"%?7!3,-!36^(i">6
EK8+1VQ/!=EJI
$'*06/?q,-!=1VQ<"%6/*28H,h8i*08i13">::+*'!#E *v(+Q/*06K(Q
!g.
"71Vx>!(#N
ORQ/!=:!3LM5>:+!>l/EJ*'dy!3:+!36^(*2"4(+!=Eb8H!=:ZS*21!#8EJ5h6/5%(:+!=~^I/*0:+!p8.C!=1*2"%$8H*0?>6
">$'*06/?-./:+5%(+5S135>$28_(5;135>6^(:+5>$y(+Q/!,-!=1VQ
">6/T*08,h8R(Q<"4("%:+!pI
8!=E
(+5B8!3$0!=1e(-EJ*'dC!=:!=67(i(:+!="%(,-!36^(XLM57:X(+Q/!*'6
E/*'ZS*2EJI
"%$_.
"71Vx>!(V83Ns5>6
8!=~^I/!=6^($0@>l(Q/!b"%,-57I/6^(X5%L8H(+"%(!*'6JLM57:,h"%(*05>6|l T Q/*21VQK*28
:+!=~^I/*0:!#EB(5qAC!g,h"%*06^(+">*'6/!#ED.<!=:X6/5JEJ!7l*28.
:57.<57:H(+*'576
"%$z(+5o(Q/!6SI/,XAC!3:i5%L8H!=:ZS*21!;13$0"788!=8">6
EP6/5%(i./:57.<57:H(+*'576
"%$j(5o(+Q/!
6SI/,iA<!=:5%L]"%././$0*213"4(+*'57%6 <5 T 83l T Q/*21VQ*08,h" U5>:R*',-./:+54Z>!=,-!36^(_54Z7!3:Rw6^(VS!=:ZyN
u 1I<8U(+5>,-!3:,iI
8U(Q
"[Z7!8H!=:ZS*21!f$'!=Z>!3$|">?>:+!3!=,9!=6^(pcJuf *v(+Q*'(+8RH G*06b5>:VEJ!3:_(+59:+!=13!3*0Z>! !*'d|S!3:+ZyN`u6oJu8.C!=1*'W
!#8
(+Q/!;1$2">8+8p5%L8H!=:ZS*21!-8HI
./.<57:H(+!=EP"%6<Eq(+Q/!;"%,-5>I
67(5>L`(+:+"%h1hT ">$'$05 T !=Eq*06P!="71VQD13$0"788=Nhu6KJu 1="%6PAC!;8U(V"4(*2195>:EJ@S6
">,-*01>N
^(V"4(+*01Ju8">:!f6/!3?75%(+*0"%(!=Eg5>6b"9:!=?>I/$2"%:#l7!7N ?<Nz,9576^(Q/$0@g"%6<Eg@7!="%:+$0@>lSA
">8*283N`sI
8H(57,9!=:+8 T *'(Q !@^6<"%,-*01Ju8R,iI
8U(I<8H!p"
8*'?76
"%$0*06/?i.
:5>(5J157$)lJ!7N ?<Nz zlJ(+5h:!#~^I/!=8H(RLM5>:8!3:+Z^*21!#8_5>6bEJ!3,h"%6<EkN






 





;j

 4

4@ 4

M E 
BADC


 )

E HJ
KL   MSEF
M @B

8 $ = < *08f157,9.C578!=Eb5>Lj"h6SI/,XAC!3:5%LzLMI/6
1(*05>6
">$!=$'!=,9!=6^(+8=l<6
">,-!3$0@.
"71Vx>!3(1$2">8+8H*'&

ORQ/! !*'dC!=:!=6^(*2"4(!#ErS!=:ZS*21!=8"%:V1VQ/*'(!=1(I/:+!
W
!=:+8=lS(:V"4;1p1576
EJ*'(*05>6/!=:+8">6
E.<!=:H&Q/5>.LM5>: T "%:VEJ*'6
?iAC!3Q
"[ZS*05>:V8p ` eN/ORQ/!#8H!">:!pEJ!=8+1:+*0A<!#EAC!3$05 T
/ <^X) = ^ > ]">1Vx7!(;1$2">8+8*vW<1="4(+*'576G*28h6/57:,h"%$0$0@FEJ5>6
!q"4(h(Q
!q!=EJ?7!o5%Lf(Q/! !fEJ57,h"%*06AS@G.
">1Vx7!(g1$2">8+8*vW
!=:+8=l
T_!3Q/Q<*21V"[QGZ^*085>!3:-$0!=u1(h?7?>.
:+">!31V?^x7"4!((+!D8i A
R"7u8H!#-EK13$05>"76F88(*'W
Q/!3!b:#l1576^Q/(!3*21V6^Q(-85%!3Lf$0!=.
1">(+1V89x7.
!(i"71VQ
x>!=!">(VE/89!3A
:V83">NK8!=EGO T 5>5r6F(U(@SQ/.C! !=89!p5%Lfs15J$2">EJ8+! 8Hz*'W
5>!3*0:V6^89(9"%57:+6/!$'@713lsI/">::+6
!3EK6^(+(+$'Q/@! EJ5o!3W
I/6/$'!=(E|*'&gn*0(+!3Q/$2E !
5qn]1$2">8+8*vW
!=:=l T Q
*01VQo.C!3:LM5>:+,h8R(Q/!i8H!=T $'!#1e(*05>6bA
"78H!#E5>6(Q/!i15>,iA/*06
"4(+*'5765>L]5>6/!57:,-5>:+!fQ
!=">E/!3:W
!=$0E
83lC8HI
1VQo"788H57I/:V1!
"7E/EJ:+!=8+83lJEJ!#8U(+*'6
"%(*05>6o">E
EJ:!#88=l^(U@S.<!3&c5>Lz8!3:+ZS*013!AS@^(!7l/./:+5%(5J135>$28s !il
85>I/:V1!f.C5>:(6^I
,XAC!3:"%6<EEJ!#8U(+*'6<"4(*05>6b.C5>:(6^I
,XAC!3:#N
s4 KXCY=YC7 7oO:V"4;1g135>6
E/*v(+*'576/!3:V8LM57:, (+Q/!,-5^8U(-ZS*v(V"%$R.
"%:(i5>L"rE/*vdy!3:+!36^(*2"4(+!=EG8H!=:ZS*21!=8X6/!( 5>:+xyNDORQ
!3*0:
?757"%$]*28f(5q">././$0@B135>6
EJ*'(*05>6
*'6/?LMI/6<1e(*05>6<85>6B(Q
!;./:+!3ZS*'57I
8$'@q13$0"788*vW<!=ED.
">1Vx7!(V8f"713135>:VEJ*'6
?(+5o"b./:!#EJ!W<6/!=EPTO:+"%h1;s$2">8+8
S.C!=13*vWC13"4(+*'576b*'6oJuXN
u(:V"4;1p1576
EJ*'(*05>6/!=:1576
8H*28H(+8R5%Lz5>6
!f57:,-5>:+!5>L(+Q/!pLM5>$0$'5 T *06/?-157,9.C5>6
!36^(+8=
5o!3(!=:=]uEJ!=Z^*21! T Q
*01VQ,-!=">8I/:+!=8s(Q
!p(!3,-.C5>:V"%$k./:+5>.C!3:(*0!=8R5>Lz"i(+:+"%h1p8H(:+!=">,8H!=$'!#1e(+!=EA^@"h1$2">8+8H*'W
!3:#N
5q">:x7!3:#uE/!3ZS*013!f(Q
"%(8H!3(+8R(+Q/! !fos5JEJ! z5>*067(R*06b"9.
"71Vx>!3(RA<">8!=E5>6 T !=$'$'&E/!W
6/!#Eg:+I/$0!=8=N
SQ<"%.C!3:#`uEJ!=Z^*21!p(+Q
"4(E/!3$2"[@S8.
">1Vx7!(+8 T *'(Q
*'6q"9(+:+"%h18H(:+!=">, (5;1="%I
8!p(Q
!X8U(+:!#"%, (+5;1576JLM5>:+, (+5;8H57,9!E/!W
6/!#E(:V"4;1
./:+5%W<$'!h)J!3!XS!#1e& V N = N
!:57./.C!3: + z5>$0*21!3:#uE/!3ZS*013!f(Q
"%(EJ*08+13">:+E
8R.
">1Vx7!(+8_A
"78H!#Eg5768.C!=1*'W
!#E:+I/$0!=8cS!3!XS!#1%N V N = eN
7 ;o iS C|)
Q
# 4; &4u s *08f"gE/!=8+1:+*'.J(+*'576o5%L](+Q/!X!3{^(+!3:+6
"%$0$0@57A
8!3:+Z[">A/$0!pLM5>: ">:+EJ*06/?hAC!3Q
"[ZS*05>:5%L`";EJ*'dy!3:&
!=67(+*0"%(!#Eq8H!=:ZS*21!#86/5JEJ!>ly"%.
./$'*0!=Eo(5"g15>$0$0!=1e(+*'576o5%Lj.
"71Vx>!3(+8 T *'(Qr(Q/!98">,9!!frs5JEJ! z5>*06^(T (Q
"%(f">:!13:5^88*'6
?;";$0*'6/x*06r"
.
">:H(+*013I/$2"%:EJ*0:!#1e(+*'576D)13"%$0$0!=EbEJ*'dC!=:!=67(+*0"%(!#E8!3:+ZS*013!=8_AC!3Q
"[ZS*05>:"%?7?>:+!3?^"4(![eNz`"71VQ8!3:+ZS*013!p13$0"788R*28"7885J1*2"4(!#E T *'(Qq" ` fN
s R8">:!9EJ!W<6/!=EB*'6r(!=:,h8f5%L`AC!3Q<"[Z^*05>:p1VQ
">:+"71e(!=:*28H(*2138:+!3$0!3Z4"%6^(f(5b8H!=:ZS*21!i./:54ZS*28H*05>6
*'6/?h.C5>$0*21*0!=8=l|"%6
Er6/5%(p*'6r(!=:,h8f5%L
.
">:H(+*013I/$2"%:]*0,9.
$'!=,9!=6^(+"4(+*'576
8=N s R8],h"[@i">$085pA<!8.C!=1*'W
!#E-*'69(!=:,h8`5%LC(Q/!=*':j:+!=85>I
:+13!_.
:*05>:+*v(U@X:!=$0"%(*0Z>!_(55>(Q/!=: ` _8=l>57:
*06g(+!3:+,h8s5>L|(Q
!3*0::!=$0"%(*0Z>!57A
8!3:+Z[">A/$0!(:V"4;1f1VQ
"%:V">1(!=:*28U(+*01=83N]sI/:+:!=67(+$'@-(+Q/!3:+!p"%:+!(+Q/:!=!.
:57.<5^8H!#E ` _8s(+Q
"4("%:+!A
:*0! 
@
EJ!#813:*0AC!=EA<!=$'5 T N
E ORQ/! !!LY">I/$v( !fs ` G*28`(Q/!f15>,-,-5>6l7AC!=8H(H&!dy5>:(jLM5>: T "%:VEJ*'6
?"[Z[">*'$2"%A
$'!*06;(+5SE
"[@C 8]w6^(!=:6
!(=Nz F.
">1Vx7!(+8j,-">:x7!=E
LM5>:`(Q/*28R8H!=:ZS*21!">:!f8H!=67(_*'6^(+5i"6
!( T 5>:+x T *'(Q/57IJ(_"7EJQ/!=:*06/?(+5i">6^@9.
">:H(+*013I/$0">:`:+I/$0!=8_"%6
E-(+Q/!f6/!( T 5>:+x T *0$0$CEJ!=$'*0Z>!=:_"78
,h"%6S@;5%L(Q/!#8H!.<">1Vx>!3(+8R">8R.C578+8*'A/$0!"%6
Eb"788H5S5>6b">8_.C578+8H*0A/$0!A/IJ( T *'(Q/57IJ("%6S@;?7I
"%:V"%6^(+!3!=8=N
E u8+8HI
:!#E;n/57: T "%:VEJ*06/?gYun] s *28R"X,-!=">6
8sLM5>:R"X.
:54ZS*2EJ!3:_EJ*vdy!3:+!36^(+*0"%(!=E8!3:+Z^*21!#8`EJ57,h"%*06;(595%dy!3:EJ*'dy!3:+!36^(_$0!3Z7!3$28
5%LLM5>: T ">:+EJ*06/?-">8+8HI
:+">6
1!#8jLM57: G.<">1Vx>!3(+8R:+!=13!3*0Z>!=E;LM:57,"h1I<8U(+5>,-!3:EJ*'dy!3:+!36^(*2"4(+!=E8H!=:ZS*21!=8REJ57,h"%*06|N
 

  



 

 

 

 

 

 

 



 


V/V

Version 2 CSE, IIT Kharagpur

ORQ/!j{J.<!#EJ*v(+!=EGn/5>: "%:VEJ*'6
?KY`n] ` *28-"qQ/*0?>QF./:*05>:+*'(U@BAC!3Q
"[ZS*05>:9"%6
EF*089EJ!W<6/!=EG">89"oLM5>: "%:VEJ*'6
?b(:+!="4(+,-!36^(
LM5>:"-.
">:H(+*013I/$2"%:EJ*'dC!=T :!=6^(*2"4(!#Eb8H!=:ZS*21!=8">?>?7:!=?7"4(+! T Q
!3:+!(+Q/!XEJ!=.
"%:(I
:!p:V"4(!5>L(+Q/!X">?>?>:+!3?^"4(+!> T8`.
"71Vx>!3(+8_LM:+5>,">6S@
!fS&135>,-./$0*0">67(-6/5JEJ!,XI
8H(-!=~^I
"%$R57:i!3{J13!3!#EF"D15>6/W
?>I/:V"%A
$'!:+"%(!>NKORQ
!sn(:V"4;18Q/57I/$0EFA<!o">$'$05J13"4(+!=EP(+Q/*28-:+"%(!
*'6<EJ!3.C!36
E/!36^($0@g5>L(Q
!*'6^(!=6
8*v(U@5%L">6S@;5%(+Q/!3:R(+:+"%h1p"%(H(!=,-.J(*06/?-(5-(+:+">6
8*v(R(Q
!6/5JEJ!>N
   

E !=">$v&c(*0,-!r157,-,XI/6/*213"%(*05>6 :+!=~^I/*0:!=,-!36^(+8h5>LX"%./.
$'*213"%(*05>6
8"%:+!o!{J./:+!=8+8H!#E*'6 (+!3:+,h8;5%LX13!3:(+">*'6~^I
">$'*'(U@G5>L8H!=:ZS*21!
T 5S/.
">:+">,-!(!=:+8=Npu :+!=">$v&c(*0,-!X./:+5%(+5S135>$?>I
">:+">6^(!3!#8R(Q
! T 5Sb:+!=~^I/*0:!=,9!=6^(5%Ls">6B">././$0*01="4(*05>6lC576
1!i*v(">1=1!=.J(+8f"
1576/6/!=1(*05>6:!#~^I/!=8H(=N
E !=">$v&c(*0,-!157,9,iI/6/*213"%(*05>69./:5>(5J157$08]">$'$05 T A<5>(Q-6/5>6/&c:+!=">$v&c(*0,-!R">6
E-:+!="%$'&c(*0,9!R,-!=8+8+"%?>!#8(5AC!Q
">6
EJ$0!=E9*'6-(+Q/!8+"%,-!
LM:+">,-! T 5>:+xCN
E w6g(+Q/!w6^(!=:6/!3(!36SZS*':+5>6
,9!=6^(=lS5>6/$0@85%La(:+!=">$v&c(*0,-!p135>,-,XI
6/*01="4(+*'576*288HI
./.<57:H(+!=EkN
 

N^(+"%(! T Q
!(Q
!3:9@>5>I135>6
8*0E/!3:(+Q/!hLM57$'$05 T *'6
?r8U(V"4(+!3,-!36^(+8(5qAC!  5>:iy 2 XN >I<8U(+*vLM@P@>57I/:X">6
8 T !3:X*'6K!#">1VQ
13"78H!7N
Y"^^(+:!#"%,-*06/?h15>,-./:+!=8+8!=E;ZS*2EJ!35-(+:+">6
8,9*28+8H*05>6*08">6!3{/"%,-./$0!f5>L:+!=">$v&c(*0,-! RYZ4"%:+*0">A/$'!pA/*'(:V"4(![`(:V"4;1%N
MA<ORQ/!rZ^*0:(I
">$(*0,-!q./:+5%(5J135>$*28;"%6 !3{/"%,-./$0!o5%L"A<57I/6
EJ!#E ">1=1!=8+89(U@S.<!r5%L81VQ
!=EJI/$0*06/?*'6"P,iI/$'(*0./$'!B">1313!=8+8
6/!3( T 57:xyN
Y1=w6"PAC5>I
6
EJ!=E">1313!=8+8-(57x>!=6:+*06/?K./:+5%(+5S135>$I<8H*06/?!3*'(Q
!3:;(+Q/!r.
:57.<57:H(+*'576
"%$57:;(Q
!q$'5J1="%$(+:+">6
8,9*28+8H*05>6(*0,-!
">$'$05J13"4(+*'5768+1VQ/!=,9!#83lS(+Q/!8I/,h8R5%L(Q/!8@S6
1VQ/:+5>6/57I
8`A<"%6
E T *2ES(+Q
8    !=~^I
">$08 N
YE
6
EJ!3:6/5>:+,h"%$y:!#"%$'&)(+*',-!f(:V"4;1p1576
EJ*'(*05>6
8=lS(Q
!,-"%{J*',iI/,EJ!=$0"[@g8IJdy!3:+!=EAS@;(Q
!fQ
*'?7Q/!=8H(./:+*'57:*'(U@h.
">1Vx7!(V8_"%(
"h8 *v(V1VQ Q/!36o"9,XI/$'(*'&$'!=Z>!3$nUnz\~^I/!=I/!&A
"78H!#E8!3:+ZS*013!pE/*08+1*0./$0*'6/!*28EJ!=./$054@>!=E T 5>I/$2EgAC!$05 T !=:15>,-.
">:!#E;(+5
(+Q/!T 13"78H! T T Q/!=6b"iLM:V"%,-*06/?%&A
">8!=E8H!=:ZS*21!pEJ*2813*'./$0*06/!*08EJ!3./$054@>!#EkN
M!#!#"%$'&)(+*',-!135>,-./IJ(+!3:157,-,XI/6/*213"%(*05>6*08R!#88!36^(+*0">$'$0@g157,-,XI/6/*213"%(*05>6b"4(Q/*0?>QoE/"%(+"9:+"%(!#83N
aL+ 6
EJ!3:b6/57:,h">$(+:+"%h1B1576
EJ*'(*05>6
8=l"G./:+*'57:*'(U@~^I/!=I/!&A
"78H!#E8H!=:ZS*21!DEJ*08+1*0./$0*'6
! T 5>I/$2E *06
1I
:$0!=8+8./:+5S13!=8+8H*06/?
54Z7!3:+Q/!="7E/8s"%("-8 T *'(+1VQo157,-.
"%:+!=E;(5h"-,XI/$'(*'&$'!=Z>!3$|nUnz\~^I/!3I
!&A
">8!=E5>6/!7N
M?S;w6D(Q
!hZ^*0:(I
">$v&c(*0,-!h./:5>(5J157$)l8HI/.
.<5^8H!9(Q<"4((Q
!hQ/*'?7Q/!=8H(./:+*'57:*'(U@o.
"71Vx>!(p(+Q
"4(X"b6/5JEJ!-6/!=!=E/8(5b(:V"%6<8H,-*'("%(
85>,-!*06
8U(V"%6^(5>L(+*',-!*28,bNORQ/!36LM57:!;13*'!=67( 5>:+xS*'6
?95>Lz(Q/!.
:5>(5J157$)l
E/I/:*06/?h./:+*05>:+*v(U@g">:A
*v(+:+"%(*05>6b*'6^(+!3:+Z[">$
(+Q/!6/5JEJ!8Q/5>I
$0E T "%*'(LM5>:  H>(+*',-!I/6
*v(V8T A<!3LM5>:+!8U(V"%:(*06/?9(:V"%6
8,-*08+8*'576|N 9*28R(Q/!X./:57.
"%?^"4(+*'576EJ!=$0"[@;*06
(+Q/!6/!( T 5>:+xyN
MQ<ORQ/!h135>I/6^(+E/5 T 6r./:+5%(+5S135>$]8Q/5>I/$2E T 57:xo8I
1313!=8+8ULMI/$0$0@q*':+:+!=8.<!#1e(*0Z>!95%L T Q/!(+Q/!3:p(+Q/!-./:+*'57:*'(U@q"%:+A/*'(:V"4(*05>6q(:V"%6
8H&
,-*288*'576
8h8H(+"%:( T *v(+Q!=*v(+Q/!3:-(+Q/!o,h8HA5>:h$28AG!=6
EF5>L(+Q/!o./:+*'57:*'(U@Z4"%$0I/!>l_">8-$05>6/?">8-">$'$6/5JEJ!#8h"%?7:!=!576F(+Q/!
135>6SZ>!=67(+*'576|N
Y*2`Z>!36 T Q/!=6o"-?>$05>A
">$k./:*05>:+*'(U@7&A
"78H!#E;,-!=8+8">?>!(:V"%6
8,-*08+8*'576*288I/./.C5>:(!=EAS@"-:+!=">$v&c(*0,-!157,9,iI/6/*213"%(*05>66/!(&
T 5>:+xylS45qu M:V"4(+!p,9576/5%(+5>6/*21p"%$0?>57:*'(Q/,;s81VQ
!=EJI/$0*06/?-5%Lz:!#"%$'&)(+*',-!p,-!=8+8">?>!=8_*28R*'6
!dy!=1e(+*'Z7!>N
n
5>:(+:+">6
8H,-*'(H(+*'6/? R :+!=">$v&c(*0,-!-(:V"4;1h"%,-576/?(+">8xJ8p54Z>!=:"ouXl"o1="%$0!36
E/">:H&A
"78H!#Eq:+!=8!3:+Z["%(*05>6B./:5>(5J157$
T 6 5>I/$2 EfR@S*'*2!=8_$0E(Q/Q/!*'?7?7I
Q/!3"%::V"%66^(!=! .
-:57(+A
Q
"%"%A/6*0$0*v!3(U*'@;(Q/"%!=(:IJ"(*0$'?7*0m=$'57"%A
(*0"%5>$6 ./:*0 5>:+*'(U@7&A
"78H!#Ekls57:"AC5>I
6
EJ!=E">1313!=8+8-(U@S.<!B5%L./:+5%(+5S135>$cN
YxJw6P,XI
$v(+*'./$0!hAC5>I/6
E/*'6/?q"[Z7!3:V"%?7!X:V"4(!h1VQ
">:+"71e(+!3:+*'m#"4(*05>6r5%LRA/I/:V8U(U@o(+:+"%;1%lk(+Q/!;$2"%:+?>!3:f*28p(Q/!;"[Z7!3:V"%?7*'6/?*'6^(+!3:+Z[">$
(+Q/!$'5 T !3:R*28R(Q
!:+"%(! T *v(+Q T Q/*01VQ(Q
!8H57I/:+13!p*08RAC5>I/6<EkN
E

 

 



 

V$

Version 2 CSE, IIT Kharagpur

Y$2ORQ/!-  ;D 7j,-5JEJ!3$CLM57:s:+!=">$v&c(*0,-!(:V"4;113"%6A<!p8+"4(*28HLY">1e(+5>:+*'$0@9I


8H!#EhLM57:s:+!=85>I/:V1!:!#8H!=:Z4"4(+*'576-(5i./:54ZS*2EJ!
T 5S;?7I
"%:V"%6^(!=!LM57:157,9.
:!#88!=E"%I
EJ*05h"%6
EZS*2EJ!35h8*'?76
"%$283N
Yw6r(+Q/!   D ,-5SE/!3$z(Q
!i,-*06/*',iI/, *06^(!3:V"%:+:+*'Z4"%$(*0,-!9AC!( T !3!=6r.
"71Vx>!3(+8*08fAC5>I/6
E/!=EBA<!=$'5 T AS@ 3,-*06
">6
E(Q/!$2"%:+?>!#8U(R.
">1Vx7!(8H*0m3!*28RAC5>I/6
E/!=Eb"%AC54Z>!fAS@S,h"4{

Y,hORQ/!,h"4{J*',iI/, EJ!3$2"[@h8HI/dC!=:!#E-A^@-.
"71Vx>!3(+8jI
6
EJ!3:R",iI/$'(*0$'!=Z>!3$yn_n]h~^I/!=I/!A<">8!=E;8!3:+ZS*013!EJ*2813*'./$0*06/! T 5>I/$2EhAC!
$05 T !=:_(Q
">6(+Q
"4(*06o"iLM:+">,9*06/?>&cA
"78H!#Eg8!3:+ZS*013!fEJ*28+1*0./$'*06/!I/6<EJ!3:8*0,9*0$2"%:R(:V"4;1p1576
EJ*'(*05>6
8=N
M6<w6"%6S@-./:+"71e(+*01="%$C:!#"%$'&)(+*',-!135>,-,XI
6/*01="4(+*'576;./:+5%(5J135>$cl T !f1="%6;!3{J.<!#1e(R(Q
"%(s(+Q/!f?>I
">:+">67(+!3!.
:57A
"%A/*0$0*v(U@o 6 _](+5
AC!1$0578!_(5 *fLM5>:]I/(*0$'*0m="%(*05>6-$'5 T !3:z(+Q
"%69(+Q/!uZ7!3:V"%?>! _:!#"%xJEJ5 T 6 (*0$0*'m#"4(*05>6o)u ]">6
E 6 T 57I/$2Ei">././:+57">1VQ
">8_(+Q/!IJ(+*'$0*'m#"4(+*'576*06
13:!#">8!=8_A<!=@>576
Eu N
M5S;Lk"13!3:(+">*'6i(57x>!36/&c.
"788*06/?6/!3( T 57:xpQ
"78]"1VQ<"%6/6/!=$/13">.
">13*v(U@5>L *0*/5oA
.
83l#(+Q/!369(Q
!_Us` , *^JN (M.
:*05>:+*v(U@^&A
">8!=E
./:+5%(+5J15>$a T 57I/$2E.
:54ZS*2EJ!pQ/*'?7Q/!3:?7I
"%:V"%6^(+!3!p./:+5>A
">A/*'$0*'(U@g157,9.<"%:+!=Eg(5hU`s , *7/N $oa(+*',-!#E(5>x7!36./:+5%(5J135>$as"%(
Z7!3:+@;$'5 T 1VQ
"%6
6/!3$kIJ(+*'$0*0m="4(+*'576
8=N
M.<ORQ/!135>I/6^(VEJ5 T 6:+!=">$v&c(*0,-!p?>$05>A
">$C.
:*05>:+*v(U@;135>,-,XI
6/*01="4(+*'576./:+5%(+5J15>$|8Q/57I/$0E T 5>:+x;8HI
1=1!#88HLMI/$0$'@*':+:!#8H.C!=1(*0Z>!f5%L
T"78RQ/$'!357(6/Q/?h!=:">(+8Q/"%!X$0$k.
6/:5J*05>EJ:+!#*v(U8@b"%"%?7:+:A/!=!*'(:V57"46g(+*'(+57Q/6!(+1:+57">6^6
Z78!3,96^*2(8+*08H5>*065>6
N 88U(V"%:( T *'(Qq!=*v(+Q/!3:(Q/!i,h8HAq57:$28HAr!36
Eo5>Lz(Q/!9./:+*'57:*'(U@gZ4"%$0I/!7l
)~S`Z>!36 T Q/!=6o"-?>$05>A
">$k./:*05>:+*'(U@7&A
"78H!#E;,-!=8+8">?>!(:V"%6
8,-*08+8*'576*288I/./.C5>:(!=EAS@"-:+!=">$v&c(*0,-!157,9,iI/6/*213"%(*05>66/!(&
T 5>:+xylS45qu M:V"4(+!p,9576/5%(+5>6/*21p"%$0?>57:*'(Q/,;s81VQ
!=EJI/$0*06/?-5%Lz:!#"%$'&)(+*',-!p,-!=8+8">?>!=8_*28R6/5%(Z7!3:+@h!dy!=1(*0Z>!>N
/N#!@S6
">,-*011VQ
"%6/?7!=8z(+5(+Q/!:+!=8!3:+Z>!#E9:!#8H57I/:+13!=8]*28_"%6h*0,9.C5>:(+">6^(_EJ*28U(+*'6
?>I/*28HQ
*'6/?91VQ
"%:V">1(!=:*28U(+*01R5>Lk(Q/!f K./:+5%(+5S135>$cN
8*'6
?oLM5>I/:X5>:W<Z>!;8!36^(!=6
1!#8!{J./$2"%*06Q/5 T  ./:+5%(5J135>$j*28X1="%.
">A/$'!g5%LEJ@S6
"%,-*213">$'$0@B1VQ
">6/?>*06/?b(+Q/!g:+!=8!3:+Z4"4(*05>6
8U(V"4(+I
8R5%Lz"h15>6
6/!=1(*05>6bEJI/:+*'6/?9(+Q/!$'*'LM!p(*0,-!5%L(Q/!135>6/6
!=1e(+*'576|N
V Nw6K"%6Us` , *^JN $o6/!( T 5>:+xyl*'L b*08(Q/!8HQ
5>:(!=8H(XEJ!#">EJ$0*'6
!;5%L">$'$s,9!#88+"%?7!=8p:+!=~^I/*0:!#ED(5qAC!;(+:+">6
8,9*'(H(+!=EP54Z7!3:(+Q/!
6/!( T 5>:+xylS*0EJ!=6^(*'LM@;(Q
!./:5^8R"%6
Eb1576
8R5%L,h"%xS*'6
?-OOzO !=~^I
">$y(5
Y1= 
YE<  
Y"^ 
MA< 
$<Nu6
8 T !3:](+Q/!LM57$'$05 T *'6
?*'6h(+Q/!135>6^(!3{S(`5%L|"isQ/!=,-*01="%$
,h">6^I/LY">1e(+I/:+*'6/?i15>,-.
">6S@(Q<"4( T *28Q/!=8j(5X">IJ(57,-"%(!*'(+8`./:+5S13!=8+8
15767(+:57$k"%././$0*213"4(+*'576|
Y"^;} Q
"%(_.
:57A/$'!=,h8s,-*0?>Q^("%:+*08!*'L"%6"4(H(+!3,-.J(*28s,h"7EJ!(+5X*0,-./$'!=,-!36^(R(Q/!p1VQ/!3,-*213">$C.
$0">67(1576^(:+5>$<85%La( T "%:+!I
8*06/?
(+Q/!](+Q/!3:+6/!(u"[Z4"%*0$2"%A/$0!*06(Q/!pLY"71e(+5>:+@.F
MA<5 T 13">6o"i?7$'57A
"%$y./:+*05>:+*v(U@h./:+5%(+5J15>$kAC!8I/./.C5>:(!=E*06b"-u T *'(Qq157$'$0*28H*05>6J&A
"78H!#E;">1=1!=8+8 F
Y1=L45qu 8+1VQ/!#EJI/$0*'6/?i5%L5>L|.
">1Vx7!(V8`*28j(+5iAC!p8HI/.
.<57:H(+!=Ekl T Q
"%(s*28`(+Q/!,h"%{S*0,XI
, 1VQ
"%6/6
!3$CIJ(*0$'*0m="%(*05>6g(Q
"%(_13">6gAC!
"71VQ/*'!=Z>!#(E F
YE
} Q
"%("%:+!f(Q/!,h"%*065>A
8H(+"71$0!=8_(5-!3h13*'!=6^(*',-./$0!3,-!36^(V"4(*05>6b5>LB5qu *06(Q/*288!(I/9. F
(/Ns5>6
8*2EJ!3:(Q/!iI
8H!i5%L](+*',-!=Eo(5>x7!36q.
:5>(5J157$`MUs` , *7JN $^*'6o(+Q/!LM57$'$05 T *06/?g8*v(+I
"4(+*'576|N}D!XQ
"[Z7!LM5>I
:6/5JEJ!#8*06q(+Q/!
8H@J8H(!=,NORQ/!b:!#"%$'&)(+*',-!:!#~^I/*':+!3,-!=67(h*28i(Q
"%(;6/5JEJ!  A<!o">A/$'!(+5B(+:+">6
8,9*'(hI/.J(+5  pA
*v(V8-54Z>!3:9!="71VQF.C!3:+*'5JEG5%L
EJI/:V"4(+*'576  ,9*0$0$'*aS!=135>6
E
83l Q/!3:+!  "%6
E  "%:+!?>*0Z>!=6*06o(+Q/!(V"%A/$0!XAC!3$05 Nu8+8HI
,9!X(Q
"%((+Q/!X./:+5>.<"%?7"%(*05>6(*0,-!X*28
6/!3?7$'*0?>*0A/$0!15>,-.
">:!#Eh(+5-OOT zO"%6
E(+Q
"4((+Q/!6/!( T 5>:+xhA
">6
E T *2ES(Qb*28 5oT A/.<83N
5JEJ! 

6 */* pA *9,h8H!#1
6< / */* pA (4,h8!=1
6 V (/*/* pA */*%,h8!=1
Y"^sQ/5S5^8H!8I/*v(V"%A/$0!OOzO M(+"%:+?>!3(R(5>x7!36:5>(+"%(*05>6(*0,9![eN
MA<} Q
"%(*08(Q/!,h"4{J*0,XI/, (*0,9!pLM57: T Q/*21VQb"9:+!=">$v&c(*0,-!f,-!#88+"%?7!,h"[@g8IJdy!3:*06^Z7!3:V8H*05>96 F
Y1=57AJ(+">*'68I/*v(V"%A/$0!-Z4"%$0I/!=85>L  M(5>(+"%$`6^I
,XAC!3:5%LRA/*'(+8p(+Q
"4(X1="%6DA<!;(:V"%6
8,-*v((!=EBAS@q(+Q/!h6/5JEJ!=8p6 l6CJl">6
EB6 V
54Z7!3:R!3Z7!3:+@;1@J1$0!>N iI/6
EJ!=:./:+5>.C5>:(*05>6
">$C">6
E$'5J13">$|"%$0$'5J1="4(*05>681VQ
!3,-!=8=N






 

 

 

 












V(

Version 2 CSE, IIT Kharagpur

YE
!!(+!3:+,9*06/!-(+Q/! T 5>:V8U(13"78H!9(*0,-!=8AS@ T Q/*01VQD6 135>,-./$0!(!#8f(:V"%6
8,-*v((*06/? *0* pAB5%LR:!#"%$'&)(+*',-!-,-!=8+8">?>!9I/6
EJ!=:
!#">1VQ5%L(Q/!p( T 5iA<"%6
E T *2ES(+Qb">$'$05J13"%(*05>6b81VQ/!=,-!=8=N
M!# !!(+!3:+,9*06/!(+Q/! T 5>:V8U(`1=">8!_(*0,9!A^@ T Q/*21VQ-6 157,-./$'!3(!#8z(:V"%6
8,-*v((*06/? *0* pA95%Lk6/576J&c:+!=">$v&c(*0,-!R,9!#88+"%?7!RI/6
EJ!=:
!#">1VQ5%L(Q/!p( T 5iA<"%6
E T *2ES(+Qb">$'$05J13"%(*05>6b81VQ/!=,-!=8=N
= Ns5>6
8*2EJ!3:"-13">$'!=6
E/"%:&A
">8!=Eg:!#8H!=:Z4"4(+*'576g./:+5%(+5J15>$C(+5-(:V"%6
8,-*v(:+!="%$'&c(*0,9!p,-!=8+8+"%?>!#8_54Z>!3:R"h157$'$0*28H*05>6J&A
"78H!#Eh6/!( T 5>:+xy
Y"^gj{S.
$0">*'6qQ
5 T (+:+">6
8,9*28+8H*05>6o5>Ls">8@S6
1VQ/:+5>6/57I
8,-!=8+8">?>!#8AS@6
5SE/!=8f13"%6rA<!9Q
"%6<EJ$'!#EkN-Yu8@S6
1VQ/:+5>6/57I
8,-!#88+"%?7!=8
Q
"[Z7!p./:57A
"%A
*'$0*08H(*21f"%:+:*0Z4"%$C(*0,-!=8">6
EbEJ5-6/5%(Q
"[Z7!f">6S@g8H.C!=13*vW<!=E(*0,-!A<57I/6
E/8VeN
MA<j{S.
$0">*'6 T *'(QK.
:57.<!=:X:+!=">85>6
*'6/?(+Q/!;(U@S.C!=85>L(:V"4;138LM5>: T Q
*01VQF"r13"%$0!36<E/"%:&cA<">8!=EB./:5>(5J157$ T 5>I/$2EP.C!3:LM5>:+,
8+"4(+*08HLY">1(5>:+*0$'@;">6
E(Q/!p(U@S.C!=8_LM5>: T Q
*01VQb*'( T *'$0$|6/5>(=N
: NORQ/!A
">6
E T *2ES(Qg5%L"./:+*05>:+*v(U@^&A
">8!=EX(57x>!36h:+*06/?6/!3( T 57:xMU`s , *^JN (>*28 */*/5qA/.
8=Nu88I/,-!(Q<"4(`(+Q/!.
:57.
"%?^"4(*05>6
(*0,-!B5>L(Q/!D6/!( T 5>:+x*08 *K,9*0$0$'*aS!=135>6
E
83N !!(!=:,-*06/!B(Q/!BLM:+"71e(+*'5765%LA
">6
E T *2ES(Q T "78U(+!=EE/I/:*06/?G!3Z>!=:@LM:V"%,-!
(:V"%6
8,-*08+8*'576|l T Q
!36;(+Q/!fLM:+">,-!f8*'m=!*28 _.
8pDp*0$05 _@^(!#8`.C!3:8!=135>6
E
6
E/!3: T Q
"%(R135>6
EJ*'(*05>6<8 T 5>I/$2Eh(+Q/! T "78U(+!=E
A
"%6<E T *0EJ(QbA<!m=!3:+5 F
, NUEJ!36^(+*vLM@g(Q/!pLY"71e(57:+8 T Q
*01VQo1576^(:+*'A/I/(!f(5;EJ!=$0"[@ U*v((!3:*'6b:+!=">$v&c(*0,-!p135>,-,XI
6/*01="4(+*'576
8R*'6b.
"71Vx>!3(H&w8 T *'(+1VQ/!#Eg6
!( T 5>:+xS8=N
u8+8HI
,9!9(+Q
"4("1!3:(+">*'6D:+!="%$'&c(*0,9!-"%.
./$'*213"%(*05>6B:!#1!3*0Z>!#8pE/"4(V""%(f(+Q/!-:+"%(!95%L */5qA/.
8=N9ORQ/! T 5So?>I<"%:V"%6^(!=!(5(+Q/!
"%./.
$'*213"%(*05>6.<!=:,-*'(+8"-EJ!3$2"[@ U*'(H(+!3:5>L]/ *%,;S!=1>N`s5>,-./IJ(+!p(Q/!A/I/dC!=::!#~^I/*':+!3,-!=67("4((+Q/!:+!=1!=*'Z7!3:#N
. Ns5>6
8*2EJ!3:(Q/!iI
8H!i5%L](+*',-!=Eo(5>x7!36q.
:5>(5J157$`MUs` , *7JN $^*'6o(+Q/!LM57$'$05 T *06/?g8*v(+I
"4(+*'576|N}D!XQ
"[Z7!LM5>I
:6/5JEJ!#8*06q(+Q/!
8H@J8H(!=,NzORQ/!:+!=">$v&c(*0,-!_:+!=~^I/*0:+!3,-!36^(]*08](Q
"%(j6/5JEJ)!  AC!"%A
$'!_(5p(+:+">6
8,9*'(jI/.J(+5  A/*'(+8`54Z>!3:z!#">1VQ9.<!=:*05JEi5>LyE/I/:+"%(*05>6
 ,-*0$'$0*aS!=135>6
E/8=l T Q/!=:!  ">6
E  ">:!f?>*0Z>!=6*06(Q/!p(V"%A/$0!AC!3$05 T N
5SE/! 


*/l */*0*
 $ (/*/l */*0*
 1 = . */l */*0*

1 =
. */l */*0*
sQ/5S578!8I/*'(+"%A
$'!OOzOa(V"%:+?>!3(s(+5>x>!=6g:+5%(V"4(*05>6;(*0,9![R"%6
Eg5>AJ(V"%*068I/*'(+"%A
$'!fZ4"%$0I/!=8R5>L  a(+5%(+">$y6^I
,XAC!3:5%LA/*v(V8_(Q
"%(
13">6gAC!(+:+">6
8,9*'(H(+!=EgA^@g6/5JEJ!  54Z>!3:_!3Z7!3:+@;1@J1$0!>N iu8+8HI/,-!f(Q<"4(R(Q/!p./:+5>.<"%?7"%(*05>6-(+*',-!p*08R6
!3?>$0*0?>*0A/$'!p157,-.
"%:+!=E-(+5
OOzO"%6<Eg(+Q
"4((+Q/!8@S8H(!=, A
">6
E T *2ES(Qb*28 5oA
.
83N
*/NRL@>5>IK">:!;135>6
8H(:V"%*06/!#ED(5qI
8!g">6!{J*08H(*06/?rj(Q/!=:6
!(9uLM57:i"bLY"71e(+5>:+@D">IJ(57,-"%(*05>6"%.
./$'*213"%(*05>6|l T Q
"%(i"%:+!h(+Q/!
EJ*'dC!=:!=67(R./:+5%(+5S135>$28](+Q
"4(R@>57Ig13">6gI
8!(+5i8I/./.C5>:(R135>,-,XI
6/*01="4(+*'6/?i:!#"%$'&)(+*',-!(+">8xJ
8 F} Q
*01VQ5%L|(+Q/!f">$v(+!3:+6
"4(+*'Z7!=8`(Q
"%(
@>57IgQ
"[Z7!f*2EJ!=67(+*vW<!=E@>57Ig(+Q/*'6
x T 5>I/$2E T 5>:+xhAC!=8H( F 6 *0Z>!p@75>I/:R:+!=">85>6
*'6/?^83N
7 Ns5>6
8*2EJ!3:9" */5oA/.<8(57x>!=6J&c:+*06/?q6/!3( T 57:xP5>.C!3:V"4(+*'6
?qI/6
EJ!=:9(Q/!./:+*'57:*'(U@^&cA
"78H!#ED./:5>(5J157$fYU`s , *^JN (>eNPn/57:X(+Q/*28
6/!( T 5>:+xyl`(+Q/! T "%$0xK(+*',-!r*28gP,;S!#1q"%6<EF(+Q/!qLM:V"%,-!o$0!36/?>(Q *28 *7$ _@^(!#83N !!3(!=:,-*06/!o(Q
!qLM:V">1e(+*'5765%L T "78U(+!=E
A
"%6<E T *0EJ(QgEJI
!(+5(Q
! T "%*'(j(*0,-!:+!=~^I/*0:+!=E9LM5>:s(Q
!(+5>x>!=6-(5i:!3(I/:+6h(5X(Q/!(:V"%6<8H,-*'(H(*06/?i6/5JEJ!"%La(!3:s(:V"%6<8H,-*288*'576h5%L
"9LM:+">,-!*08157,9.
$'!3(!>Nu_((+Q/!X?7*'Z7!36bA
">6
E T *2ES(Q T 5>I/$2Eo"hAC5>I/6<EJ!=Eo"7131!#88./:5>(5J157$|.C!3:LM5>:+,AC!(H(+!3: F]{J./$2"%*06b@>57I/:
"%6
8 T !3:#N
JNs5>6
8*2EJ!3:" */5oA/.<8p(57x>!36P:+*'6
?6
!( T 5>:+xCNORQ/! T "%$0xo(*0,-!;*08 ,;S!=1>NORQ/!-LM:V"%,-!;8*'m=!h*08 ( gAS@^(!#83N !!3(!=:,-*06/!
(Q/!,h"4{J*',iI/, (*0,9!LM5>: T Q/*21VQF"o,-!=8+8">?>!h,h"[@PI/6
EJ!=:?75o./:+*'57:*'(U@B*06SZ>!=:+8*'576PI/6
EJ!=:iUs` , *^JN $q"%6
EKU`` , *7/N (
./:+5%(5J135>$283N
-V NY"^;UEJ!=6^(*'LM@-"%(s$0!="78U(s( T 5LY"71e(+5>:V8 T Q/*21VQg15767(+:*0A/IJ(+!(+5XEJ!3$2"[@ U*v((!3:R*06;:+!="%$'&c(*0,9!15>,-,iI/6/*213"4(+*'576
8`">6
E-!{J./$2"%*06;Q/5 T
(+Q/!3@13"%I<8H! U*'(H(!=:=N
MA<} Q
"%(f*28(Q/!-EJ*'dC!=:!=6
1!iA<!3( T !=!36B!{J!=13IJ(*05>6o(+*',-!-"%6
Er:!#8H.C5>6<8H!(+*',-!95%Ls";(+"78Hx Fw6 T Q
"%(p13*':V1I
,-8H(+">6
1!#81="%6
(+Q/!3@A<!EJ*'dy!3:+!36^( F




V/=

Version 2 CSE, IIT Kharagpur

$
Ns5>6
8*2EJ!3:(Q/!iI
8H!i5%L](+*',-!=Eo(5>x7!36q.
:5>(5J157$`MUs` , *7JN $^*'6o(+Q/!LM57$'$05 T *06/?g8*v(+I
"4(+*'576|N}D!XQ
"[Z7!LM5>I
:6/5JEJ!#8*06q(+Q/!
8H@J8H(!=,NzORQ/!:+!=">$v&c(*0,-!_:+!=~^I/*0:+!3,-!36^(]*08](Q
"%(j6/5JEJ)!  AC!"%A
$'!_(5p(+:+">6
8,9*'(jI/.J(+5  A/*'(+8`54Z>!3:z!#">1VQ9.<!=:*05JEi5>LyE/I/:+"%(*05>6
z,-*0$'$0*28H!#15>6<E/83l T Q
!3:+! ]"%6
E ]"%:+!f?7*'Z7!36*'6(+Q/!p(+">A/$'!pAC!3$05 T N
5JEJ!  *06 s@^(+!=8  *06,-*0$'$0*S!#1576
E/8

$
*

(/*
*

*
.*

/ *
*0*
sQ/5S578!8I/*'(+"%A
$'!OOzOa(V"%:+?>!3(s(+5>x>!=6g:+5%(V"4(*05>6;(*0,9![R"%6
Eg5>AJ(V"%*068I/*'(+"%A
$'!fZ4"%$0I/!=8R5>L  a(+5%(+">$y6^I
,XAC!3:5%LA/*v(V8_(Q
"%(
13">6;A<!f(+:+">6
8H,-*'(H(+!=E;AS@-6/5JEJ!  54Z>!=:`!=Z>!3:+@h1@J1$0!>N iu8+8HI/,-!(Q
"%(s(+Q/!f./:57.
"%?^"4(+*'576-(*0,9!p*28 ,-*'$0$0*2S!#1p"%6
E-(+Q
"4(R(+Q/!
A
"%6<E T *0EJ(Qb5%L(Q/!6/!3( T 57:xh*28 */5oA/.<83N
(JNu D S(:V"4;11VQ
">:+"71e(+!3:+*'m#"4(*05>65%Lj"h1!=:H(V"%*06o.
">1Vx7!(8 T *v(V1VQ/!=E:+!=">$v&c(*0,-!(:V"4;1p*281VQ
">:+"71e(!=:*0m3!#EgAS@"h.<!#"%x(:V"4;1
|j5%L *0*.<">1Vx>!3(+8j">6
Eh"[Z>!=:+">?>!s(:V"4;1R:V"4(!i Jz5%L *p.<">1Vx>!3(+8].C!3:_8H!#1576
EkNzORQ/!.
"71Vx>!(`8*0m3!*28 ( fAS@7(+!=8=Nu88I/,-*06/?
(Q
"%((Q
!g.
"71Vx>!(V8I/6
E/!3:+?>5r"o,h"%{S*0,XI
, ~^I/!=I/*'6
?rEJ!3$2"[@D5%SL (*>,;S!=1h"%(i!="71VQP5%L(Q
!8 T *v(V1VQ/!=8=l T Q<"4( T 5>I
$0EPAC!;(+Q/!
(:V"4;1p1VQ
"%:V">1(!=:*0m="%(*05>6g"%La(!3:R(+Q/! *%(Qb8 T *'(+1VQ5>6(+Q/!:57IJ(!7N
-= Ns5>6
8*2EJ!3:9" */5oA/.<8(57x>!=6J&c:+*06/?q6/!3( T 57:xP5>.C!3:V"4(+*'6
?qI/6
EJ!=:9(Q/!./:+*'57:*'(U@^&cA
"78H!#ED./:5>(5J157$fYU`s , *^JN (>eNPn/57:X(+Q/*28
6/!( T 5>:+xyl`(+Q/! T "%$0xK(+*',-!r*28gP,;S!#1q"%6<EF(+Q/!qLM:V"%,-!o$0!36/?>(Q *28 *7 $ _@^(!#83N !!3(!=:,-*06/!o(Q
!qLM:V">1e(+*'5765%L T "78U(+!=E
A
"%6<E T *0EJ(QgEJI
!(+5(Q
! T "%*'(j(*0,-!:+!=~^I/*0:+!=E9LM5>:s(Q
!(+5>x>!=6-(5i:!3(I/:+6h(5X(Q/!(:V"%6<8H,-*'(H(*06/?i6/5JEJ!"%La(!3:s(:V"%6<8H,-*288*'576h5%L
"9LM:+">,-!*08157,9.
$'!3(!>Nu_((+Q/!X?7*'Z7!36bA
">6
E T *2ES(Q T 5>I/$2Eo"hAC5>I/6<EJ!=Eo"7131!#88./:5>(5J157$|.C!3:LM5>:+,AC!(H(+!3: F]{J./$2"%*06b@>57I/:
"%6
8 T !3:#N
: Ns5>6
8*2EJ!3:" */5oA/.<8p(57x>!36P:+*'6
?6
!( T 5>:+xCNORQ/! T "%$0xo(*0,-!;*08 ,;S!=1>NORQ/!-LM:V"%,-!;8*'m=!h*08 ( gAS@^(!#83N !!3(!=:,-*06/!
(Q/!,h"4{J*',iI/, (*0,9!LM5>: T Q/*21VQF"o,-!=8+8">?>!h,h"[@PI/6
EJ!=:?75o./:+*'57:*'(U@B*06SZ>!=:+8*'576PI/6
EJ!=:iUs` , *^JN $q"%6
EKU`` , *7/N (
./:+5%(5J135>$283N
-, Ns5>6
8*2EJ!3:(Q/!iI
8H!i5%L](+*',-!=Eo(5>x7!36q.
:5>(5J157$`MUs` , *7JN $^*'6o(+Q/!LM57$'$05 T *06/?g8*v(+I
"4(+*'576|N}D!XQ
"[Z7!LM5>I
:6/5JEJ!#8*06q(+Q/!
8H@J8H(!=,NzORQ/!:+!=">$v&c(*0,-!_:+!=~^I/*0:+!3,-!36^(]*08](Q
"%(j6/5JEJ)! yAC!"%A
$'!_(5p(+:+">6
8,9*'(jI/.J(+5 yA/*'(+8`54Z>!3:z!#">1VQ9.<!=:*05JEi5>LyE/I/:+"%(*05>6
z,-*0$'$0*28H!#15>6<E/83l T Q
!3:+! ]"%6
E ]"%:+!f?7*'Z7!36*'6(+Q/!p(+">A/$'!pAC!3$05 T N
5JEJ!  *06 s@^(+!=8  *06,-*0$'$0*S!#1576
E/8

$
*

(/*
*

*
.*

/ *
*0*
sQ/5S578!8I/*'(+"%A
$'!OOzOa(V"%:+?>!3(s(+5>x>!=6g:+5%(V"4(*05>6;(*0,9![R"%6
Eg5>AJ(V"%*068I/*'(+"%A
$'!fZ4"%$0I/!=8R5>L  a(+5%(+">$y6^I
,XAC!3:5%LA/*v(V8_(Q
"%(
13">6;A<!f(+:+">6
8H,-*'(H(+!=E;AS@-6/5JEJ!  54Z>!=:`!=Z>!3:+@h1@J1$0!>N iu8+8HI/,-!(Q
"%(s(+Q/!f./:57.
"%?^"4(+*'576-(*0,9!p*28 ,-*'$0$0*2S!#1p"%6
E-(+Q
"4(R(+Q/!
A
"%6<E T *0EJ(Qb5%L(Q/!6/!3( T 57:xh*28 */5oA/.<83N
-. NR}B57I/$2EB*'(XAC!;">EJZS*28">A/$0!i(+5oI
8!;"%6](+Q/!3:+6/!(Xu *06"bQ
"%:VEB:!#"%$'&)(+*',-!;"%.
./$'*213"%(*05>6P8HI<1VQP"78pLY">1(57:@r">IJ(57,h"4(*05>96 F
>I<8U(+*vLM@;@75>I/:">6
8 T !=:=NzjZ4"%$0I
"%(!f(Q/!.
:5^8_">6
Eb1576
8R5%LI
8H*06/?;">6j(Q/!=:6/!3(H&A
">8!=Eg./:+5%(5J135>$k*06b8I
1VQb"%6b"%./.
$'*213"%(*05>6|N
/*/NSI/?7?>!=8H(g"K8+1VQ/!3,-!b(+Q
"4(b13"%6 Q
!3$0. Q
"%6
E/$'!r">.<!=:*05JEJ*21q"%6
E 8.C5>:V">EJ*21b,-!=8+8">?>!=8-*06":+!=8!3:+Z4"4(*05>6)13"%$0!36<E/"%:&cA<">8!=E

./:+5%(5J135>$ T *v(+Q/5>I/(,-">xS*'6/?-,h" U57:1VQ


"%6/?7!=8s(5-(+Q/!./:+5%(+5S135>$cN
NRUEJ!36^(+*vLM@(Q/!LY">1e(+5>:V8 T Q/*21VQq15>6^(+:*0A/IJ(+!p(5gEJ!=$0"[@ U*v((!3:f*06o:!#"%$'&)(+*',-!157,9,iI/6/*213"%(*05>6
8=Nsu88I/,-!(Q<"4("h13!3:(+"%*06b:!#"%$'&
(*0,-!9">././$0*01="4(*05>6r:!#1!3*0Z>!#8E/"%(+""4((Q/!9:+"%(!i5%L */5oA/.<83NORQ/! T 5^b?7I
"%:V"%6^(+!3!(+5;(Q
!9">././$0*01="4(*05>6B.<!=:,-*'(+8p"gE/!3$2"[@
U*v((!=:5%L] *%,;S!#1%N`s5>,-./I/(!p(Q
!A/IJdy!3::+!=~^I/*0:!=,-!36^(R"%((Q/!:+!=13!3*0Z>!=:=N




$ (%



V:

Version 2 CSE, IIT Kharagpur

7JN]{J./$2"%*06 T QS@(+:+"%h1_?7!(+8]E/*08H(57:H(+!=Ei*'6h"f,XI/$'(*28!3?>,-!=67(]6/!3( T 57:x">6


EiQ/5 T (+:+"%h1_:+!=8Q
"%.
*'6/?f*28]">1VQ/*0!3Z7!=EXLM5>:z./:+54Z^*2EJ*06/?
T 5^;?>I
">:+">67(+!3!7N
V Ns5>,-.
">:!(+Q/!p.<!=:HLM57:,h">6
1!5%L|U`s , *7JN $./:+5%(+5J15>$ T *'(QgUs` , *7/N (./:5>(5J157$
LM57:s:+!=">$v&c(*0,-!">././$0*01="4(*05>6<8s"%(_Q/*0?>Ql
,-!=EJ*0I/,bl
"%6<Eg$05 T A
">6
E T *2ES(Q<83N
$
N]{J./$2"%*06;I
8*'6
?LM5>I
:s57:`W
Z7!f8!36^(+!36
13!=8=l7Q/5 T ?7$'57A
"%$C./:+*'57:*'(U@-"%:+A/*v(+:+"%(*05>6;*28_">1VQ/*0!3Z7!=EhI
8*06/?XZS*0:H(+I
"%$<(*0,-!f.
:5>(5J157$)Nzu_(
T Q/*21VQH
\$0"[@7!3: T 5>I/$2E8I
1VQo"9./:+5%(5J135>$y5>.C!3:V"4(+G! F
0(JNSI/./.C578!(Q
"%( T !bQ
"[Z7!g(+Q/:+!3!b.<!=:*05JEJ*21,-!#88+"%?7!=89, l_,h/ls">6
E, V (+5DAC!b(:V"%6<8H,-*'(H(!#EKLM:+5>,(Q/:+!3!q8H(+"%(*05>6
8h l
/Jl">6
E V l:+!=8.<!#1e(+*'Z7!3$0@F5>6 ">6n ! !h6
!( T 5>:+xCN|!3(;(Q/!BOOOM(5>x7!36:+5%(+"%(*05>6(*0,-!#;A<! *P,h8H!#1o"%6
E(+Q/!
T "> $'xD . (+*',h,-8H!!#1%A<l !   ,h>8!=*>1B,hNK8H!#1=OReQ/f!; (+:+7"> 6
8H4,-,h*2888!=*01>5>l 6 (+ *',- (/!*%,h 8 !=,-1=38!=1#X@ ">6
(4E,h(+8HQ/!#!1%l .<!= : *05J1EK= *>5%,hL8H(!#Q/1=!eN ,-!!=8+!8(+">!3?>:+,-!=8*'6/ ! (XQ
">!b:!8@S">6
8X1VQ/LM5>:+5>$0$'6/5 57T I
8=8
A
 "%6<E T *0EJ(Q(Q
"%(6/!3!#E/8_(5-AC! "%$0$'5J1="4(!#E;(+5h!="71VQ8H(+"%(*05>6LM 5>:8I
1313!=8+8ULMI/$y(+:+">6
8,9*28+8H*05>65%L(Q/!,-!=8+8+"%?>!#83N
= N]{J./$2"%*06q(+Q/!-*',-.C5>:(+"%6^(8Q/5>:(+135>,-*'6
?785%L`(+Q/!hw6^(VS!=:Zq">:+1VQ
*v(+!=1e(+I/:+!i*06D8I/./.C5>:(*06/?b:+!="%$'&c(*0,9!-157,-,XI/6/*213"%(*05>6|l|">6
E
Q/5 T !*'dkS!=:Zg54Z>!3:V157,-!=8_*v(#N
: Ns5>,-.
">:!(+Q/!p">EJZ4"%6^(V"%?>!#8j"%6<EgEJ*28"7EJZ4"%6^(+">?>!#8]5%LI<8H*06/?i"X:*06/?i6/!( T 5>:+x9">6
E;"i15>$0$0*08*'576;A
"78H!#Eh6/!( T 5>:+xiLM5>:_:!#"%$'&)(+*',-!
157,9,iI/6/*213"%(*05>6|N
, NR} Q
"4(EJ5h@75>II/6
EJ!=:+8H(+">6
EA^@ T 5^g:57IJ(*06/?
N]j{S.
$0">*'6(Q/!E/*vdy!3:+!36^((U@S.<!#8R5%L T 5^g:57IJ(*06/?-"%$0?>57:*'(Q/,h8=N
. N]{J./$2"%*06 T Q
"4(s">:!R(+Q/!EJ*'dy!3:+!36^( T 5^9135>6
8H(:V"%*06^(+8z(+Q
"4(s">:!135>6
8*2EJ!3:+!=E-EJI/:+*06/? T 5^i:+5>IJ(+*'6/?<Nj{J./$0">*'69(+Q/!LM!#"4(I
:!#8]5%L
(Q/!#8H!135>6
8H(:V"%*06^(+8sA
">8!=Eg5>6 T Q/*01VQ(Q
!p135>6
8H(:V"%*06^(+8R13">6gAC!1$2">8+8H*'W
!#EkNz} Q
"4("%:+!(Q/!p*0,9.
$'*213"%(*05>6
8R5>L(Q
!=8!LM!#"4(+I/:!#8
5>6(Q/!:+5>I/(*06/?h"%$0?>5>:+*'(Q/,h8 F
V */NR} Q
"4(EJ5@>5>IrI/6
EJ!=:+8H(+">6
EqAS@ T 5^b:+5>I/(*06/? F 6 *0Z>!98H57,9!9!{/">,9.
$'!#85>L`">E/EJ*'(*0Z>!7lk,XI/$'(*0./$0*01="4(+*'Z7!>lk"%6
EB1576
13"[Z7!X1576J&
8U(+:+">*'6^(V8(+Q
"4(X">:!96/57:,h"%$0$0@r1576
8H*2EJ!=:!#Eq*06 T 5Sq:+5>I/(*06/?o81VQ/!=,-!=8=N-j{J./$0">*'6BQ/5 T (+Q/!=8!-LM!="%(I/:+!=8">:!-1576
8*0EJ!=:!#Er*06
T 5^;:57IJ(*06/?-./:+5%(5J135>$283N
V
N]{J./$2"%*06g(+Q/!XEJ*'dy!3:+!36
13!A<!3( T !=!36(:V"4;18Q
"%.
*'6/?;">6
E.<57$'*21*06/?<N_"%,-!"9(:V"4;18Q
"%./*06/?;">6
Eb.<57$'*21*06/?h./:+5%(+5J15>$|">6
E
A/:+*'! 
@gEJ!#813:*0A<!p*'(+857.<!=:+"%(*05>6|N
V JNR} Q
"4(*08"h135>6^(:+5>$0$0!3:"%:+!="96/!3( T 57:xBc_uf F9]{J./$2"%*06o"h:+!="%$'&c(*0,9!135>,-,XI/6
*01="4(*05>6b./:+5%(+5J15>$|(Q
"%(13">6AC!I
8!=Eb*06o"
_uXN
> ]b
8 < u8HQ
5>x;u?^"%: T ">$0"iu:VE/">8s*0$'*06/?7*':+5>?7$'I|l/SI
6/?h|!3!7N]!=">$v&c(*0,-!p135>,-,XI
6/*01="4(+*'576|
X5O`# LO !" CO%
*'&1T  33T F,
 !" ;!
*1 !6 I 
`T F,P#%"'^=#N O4l 7
`">!6S"I
&'"%
:+^.@ -1 ,.0. : #N "'^ # O' &'C
3 ,!"
8 < JQ/*'?^"%6/?sQ/!=6-">6
E p$0">:+"f">Q/:V8U(+!=ES(#N
u6h54Z7!3:+Z^*0! T 5>Ly~^I
">$'*'(U@^&c5>La&8!3:+ZS*013!`:+5>IJ(+*'6
?LM57:z(Q/!6
!{S(j?>!=6/!3:V"4(+*'576XQ/*0?>QJ&w8.<!=!=E
6
!( T 5>:+xS8= `:5hA
$'!=,-8f"%6<Eo8H57$'IJ(+*'576
8= N    (!G "$0 /1
*#&&'7 "L# &'
)&&
*% # ON
)&'C"'
*b1
* -,f
[Q/
3#%
I
*O/4l<54ZyN + !!#1%N - ././, N
8 V< !iN>}P"%*'(m=,h"%6gN ]">:H(+:*2EJ?>!yN !!=!3:+*'6/?<N !*08H(+">6
1!Z>!=1(57:],XI/$'(*213"78U(j:+5>IJ(+*'6
?./:5>(5J157$)N !#"6$N1CG %"$0% "$0%
AQ
& "$% a6 3#% R,!"LO'I a
`\1"&'
C^4lC54Z7!3,XAC!3: - ./,/, N
8 $ < uXN!3$0,X@ !XNzn
">:*06
">1=1*j!3(=N"%$cN `:5>(5J157$]*'6<EJ!3.C!36
E/!36^(i,iI/$v(+*01=">8H(H&w8H.<"%:V8H!-,-5JEJ!rM.
*',9&w8H,;e `:5>(5J157$)(
N )+*+,-)/6
 #%33QA"'^./ 9!!"'
! a3#% l 7I/6/! - ././, N
8 ( < kN 
N 6 5>$0!=8H(+">6/*cNFu8U(+5>.J&w"%6
EJ&c?75B~^I/!3I
*'6/?BLM:V"%,-! T 5>:+xDLM5>:h1576/?>!#8U(+*'576K,h"%6
">?>!3,-!=67(#N 0 & 212(43 5 a^&
(6
 %(  
*#
* &5X5"$L
31C"LN# O76K"LR 686 Z
 #/O/1 Z
*#\626;XlJ.
"%?7!=8 ,:9C1 , l/S!3.J(+!3,iA<!=: 1 ./. */N






V/,

Version 2 CSE, IIT Kharagpur

eN *06/*'5>(*28;NRJ"%$2"%,h"
l !iN`!=!3Z>!#8h"%6
EOpNRSQ/!3INs5>,-.
">:*28H576G5>Lf,iI/$'(*213">8H(;:+5>IJ(+*'6/?">$'?75>:+*v(+Q/,h89LM5>:hQ/*0?>QJ&w8.<!=!=E
6
!( T 5>:+xS8=N   aL 
*#%"'*6   R )+5:T 5*%l 1./. $
N
uXN!!3,-!=:+8RyN.p!=8Q
"[Zi">6
EgyN/SQ
!36/x7!3:#N|u6
">$'@J8*08s"%6
E;8*0,XI/$2"4(+*'576;5%L"LY"%*0:s~^I/!3I
*'6/?9"%$0?>57:*'(Q/,bN 6K"LRO
AQ%&_F, X7 
! & 12  3 56 X5Z&'
 l/.
">?>!#8 9C JlJS!3./(!3,iA<!=: 1 .0,/. N
!3576kN -NsJQ/*'6 -N 6 N`">6
E CQ/!=6/? T N ^(V"4(*28H(*213"%$:!#"%$'&)(+*',-!o157,-,XI/6/*213"%(*05>654Z>!=:h!(+Q/!3:+6/!(hLM57:;,h"%6SIJLY"71e(I
:*06/?
">IJT (57,h"4(*05>6b8@S8H(!=,h83N 6K"$ LO
ZQ&7-,   45# R
 aL %=$Q/^ # O7XH:
*#%C
*% & ^ \&'
9l
.
">?>!=8 - . 9  *^Jl
- ./.0. N
^"%,-!#8n_9N pI
:5^8H!X">6
E p!3*'(Qr}Ny578+83N  % 31"(!G "$0%
AQ CX  O/G MXK/"$R#:LJN z!="%:V85>6b`EJI
1="4(+*'576qu8*0"
l
/ */*^JN
-N 6 1N T !35>6l7yN -N>SQ/*06;"%6
Ei}B57:xS,h"%6 6 N<u1VQ/*0!3ZS*'6
?f:+!=">$v&c(*0,-!15>,-,iI/6/*213"4(+*'576i54Z7!3:z!(+Q/!3:+6/!3( T *v(+Q-"7E/"%./(*0Z>!_(:V"4;1
8,-5S5%(Q
*'6/?<N 6K"$ RT,\4   5# R
fZ %=LQ%^c# O XH/
*#
* & a^\&'
 2 f:X 23 )+.'< 6/% #\&$
AQ/3% (T  T=6
Xl^.<"%?>!#8 . * 9C *0*/l V/ 5q"[@h&_ 7I/6/! *0*/*
N
XKN 5q"%$2157$', ">6
EB}N CQ
"%5<NX">:+Er:!#"%$'&)(+*',-!-157,9,iI/6/*213"%(*05>6r*06D,XI/$'(*0./$0!;">1313!=8+86
!( T 5>:+xS8=N "' # -, 5L#% R
7
^\&'31N&el ]57$)N . : ( 9y * : l - ./. (/N
</N 5o54@7N 5oI
$v(+*01=">8H(j!{S(!=6
8H*05>6<8z(55^8H.JLUN  ." 6 #QA"'^. a# O/#%"$O\& "$#/06 (!G "$0 % "$0%
AQ & "$ 66K"LL%
!  T0l 5q">:+1VQ 1 ./. $
N
kN<SQ/!=6/x>!=:N ]"%:(:+*0EJ?7!">6
EbN 6 I/!=:*06|NjS.C!=1*'W<1="4(*05>6b5>L?7I
"%:V"%6^(!=!=E;~^I
">$'*'(U@;5>Lz8!3:+ZS*013!>N  ).)0:)7lyS!=.J(=N 1 ./. : N
iN zN p57,-.<!=$'$2" <N>N ]"78~^I
">$'!s"%6
E 6 N%N z57$'@Sm=578=0N 5oI/$'(*213"78U(z:+5>IJ(+*'6/?LM5>:,XI/$'(*0,-!=EJ*2"p157,9,iI/6/*213"%(*05>6|!N    X7 
"$#% &1#/1C
*% &N (N1CG %"$0
ZQ%l ]5>$cN )5
N V e ,0=-9 . /l 7I/6/! 1 .0./V N
!3(=N
">$)N
kN _$0">x>! !XN _$2">1V%x 5KNC_"%:+$085>6Nu6b">:+1VQ
*v(+!=1e(+I/:+!LM57:EJ*vdy!3:+!36^(+*0"%(!=Eb8!3:+ZS*013!=8=N   ) -"4l !!#1%N - ./.0, N
`N yQ
"%6/?yN !!=!3:+*'6/? !XNk`8H(:+*06ryN|SQ/!36
x>!3:f"%6
E !XN y">./.
"%$2"/N8HZS.|u 6/! T :!#8H57I/:+13!:!#8H!=:Z4"%(*05>6o./:+5%(+5S135>$c N   
(!G "$0
#1QA# 1
3lCJ!3.J(+!3,XAC!3: 1 ./.0V N
u6
EJ:+! T yN
O"%6/!=6^A<"%I/,bN  !"(!G "$0&eN j:+!36^(*21!p">$'$5%Lw6<EJ*0"
l 1 .0. : YORQ/*0:VEsEJ*v(+*'576<eN
N ]!36/x4"4(+:+">,h"%6/*">6
EOpN_yNsQ/*0I/!3Q|N SI/./.C5>:(*06/?K:+!=">$v&c(*0,-!(:V"4;1b5>6!(+Q/!3:+6/!3(=N 6K"$ RT "4    5L#% R
7
^\&'31N& a^\&'
il
.
"%?7!=8 , 9 ,/= l - ./. $<N
_*06q}P"%6/?g">6
EBsQ
">5%& >Io5>I|Nfu 8I/:Z7!3@5>6q,iI/$'(*213">8H(:+5>IJ(+*'6
?g"%6
Eq*v(V8~^578!{S(!=6
8*'576|R./:57A/$0!3,h83ly"%$0?>57:*'(Q
,-8=l<">6
E
.
:5>(5J157$08=8N    N1CG %"$0 #1QA# 1
l ]5>$cN $CY5<N l/n/!3A
:I
">:@ */*0*/N
I/6/?>& f*'6/?qOs@7">6sQ<"%5%& 7ID5>I _*'6}P"%6
?q"%6
E `"%5>& 5q*'6FsQ/!=6|N T 5^8p!{S(!=6
8*'576B(+5r1A/(=N    X7  "L# &1T %
(!G "$0%
AQ>l 7I/$0@ *0*7JN
zN
}P"%6/?;">6
E 
Nks:5 T 1:+5%La(#N T 5^8:+5>IJ(+*'6/?-LM57:8I/./.C5>:(*06/?;:+!=85>I/:V1!p:+!=8!3:+Z4"4(*05>6N    Z%"' #% -, %!
*#%;X5"$#&(-,
 %(  
*#
* <l<S!=.J(=N - ./.0= N
]">I/$ zN/} Q/*'(!7Nj8HZS.o"%6<Eg*06^(!3?7:+"%(!#E8!3:+ZS*013!=8_*'6(+Q/!*'6^(+!3:+6/!(#ju(+IJ(57:*2"%$cN      ( a
*#
* &el 5q"[@ 1 .0. : N
<NJ}D:5J1$2" T 8x^*cN]S.<!#1*'W<13"%(*05>6b5%L(Q
!15>6^(+:57$'$0!=ES&$057">E;6/!( T 5>:+xh!3$0!3,-!36^(8!3:+ZS*013!>N  ).)0.%lyS!=.J(=N 1 ./. : N
!iN ]!3:+,-"XN CQ
"%6
?X"%6
E !XNSn/!=::V"%:+*)N 6 I
">:+">6^(!3!=*'6
?EJ!3$2"[@ U*'(H(+!3:_A<57I/6
E/8s*06;.
">1Vx7!(`8 T *v(V1VQ/*06/?X6/!3( T 57:xJ8= N 6?"$RO
ZQ&
F,."'
*%('3 56  #1 f
  6 ("'4' #"$%
#%l
.
">?>!#8 V ( 9 $ = l^u./:*0$ - ././ N
XN yQ
"%6/?<NS!3:+ZS*013!XEJ*2813*'./$0*06/!=8LM5>:?7I
"%:V"%6^(+!3!=E.C!3:LM5>:+,h"%6
13!8H!=:ZS*21!*06q.
"71Vx>!(8 T *'(+1VQ/*06/?;6/!3( T 57:xJ8=N 6K"$ LO
ZQ&7-,
4   _l ]57$)N , (/ *7l
\f1e(57A<!=: 1 .0. (JN
XN CQ<"%6/?;">6
E !XNyn/!=::V"%:+*cNs"%(!&w1576^(:+5>$8H(+"%(*21e&./:*05>:+*'(U@g~^I/!3I/*06/?</N 6?"$RO
ZQ& F,       121243 5.*%6 ;# ;"L#
1
)&1\6 Xpl
.
"%?7!=8> : 9 V/= l 1 .0./V N

8 =<

8 :;<



8 ,<







8 .<

8 1.<
8 * <
8 <
8 > <
8 V<
8 $ <
8 /( <
8 =<

8 <

8 ;:;<
8 1,<

8 > <

8 ( <
8 1=<

8 * <

8 1V<
8 $ <





























V/.

Version 2 CSE, IIT Kharagpur



 "!$#%&('*),+.-/#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
)$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
;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
k4:T9B&5C3),#igH2&.+.;J+5)?I+.V),#8!$gH2&j9F 2-/:,#%6N
"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
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:
L{ M( { R o<R < 3D  M&  [ ;3H)Db+()$#8-;>+7:2k4:,9&.CJ)$#8&.IgH2&.+.;jc4+(Zt
Vy
L{ M( { 4 r D J  R0{l v8<Vl8  `[:,# )hu9F;3H)D0+5),#%-/:+7:!$#8&7H)$+5gB#8&.b6894:,+7:?)$#8V)%c +5










 



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



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



&&' 

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

789:!

<;

 7=

 

>=





?A@B 

C?A@B 



D





GFIH<J"J:KL)



D
C
8,\  .0!21N,'.4 _&UW? @B 

EXYZ#2X[8\[]^?`_  ,  .0!213,.4 Q

  o O +5gB#8I)$#8-/1R9B!$&R;32)$i+5),#%?:`)$K3#@A+.g#%>;32)$b+5),#8-2k4:,9&.CJ)$#8&.IgH2&.+.;
aAb

c d e

fg;

Zk

NM3OPK0QR, /.S!T13,'.4 VUW&' 

t?} D~

8}

h# -=  $O iLKLj$#

%yj24;L)$K3#gH2&.C3#9Fj68C3!$!,#%B)p)$+5-/#B:G~

 $O iLKLj

HN

 -OPiLK"j

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)
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)
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
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
  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
t*~ D~ ? ~ $~ 8yc
~
HNI[E!$#/),K3#rA+.g#8d;32)$=+5),#%-/:L2k4:,9&.CJ)$#8&.gH2&.+.; [&.:,94co2!$#
)$K3#8"!,#%&.2),+.g#8&.I6 9B4:,+.:T),#%B)
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 
[686 #%&5#%!$2),+.9>+.:&.:,9_2k4:,9&.CJ)$#8&._gz&5+7;=:@t*~ >~ ?V~ By f~
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+.&.
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
aAb

6c



8=



"; "=
&
'F =

"; 



"; 

"; 

aAb

gc

$O#$i"$:#

&

8=


'F

=

=

"; "=

IQ

:; "= 

"; "=

e





A; 
$i M NM")P;
=:OR# -=-OPiLK"j:# -OPiLK"j 6K:j'M  ;
-=:O iLK"j:# $O iLK"j *FIH JLJ:KL) NMGOPKE;
 $O iLK"j
'k


"; 


'F

k



7?I@B 



8

k

&





-O-i# -== -OPiLK"j:#

+? @B  ; $O iLK"j


-OPiLKLj ! jj K" KLJ"( NM")P;
<k

=   &% 
 IQ
-==  &% 
 
 IQ
-= '%
 

-=-= Q

=

)% (



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
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:
*

2L=

,+

99

-

C

/.

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 >
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! :- ,
), - 9 0)@ ! ; @ 9 1 A! 4F 1 ;IG"A 1 !?9$G)7 @ 9 @ 1 9)7' -A,
7");A7
,)-H0 7;A" )7 9$G7 A8!)>)" 1 9 @ ; > ""$ N ;
-:,
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
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!,#<;
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 *% ?%


h

h7

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),#
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
aAb





% *! ' 
 +.- ' 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)
)$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

  "!#  $

&%(')'

:





h

.-

/

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 ( *.



+3

+.- ' 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
%&  (!"+.-

+ 
 +.- ' 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!,9Bl+.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{# ),),#%!
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
}


V



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:


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
}}
0

Contention





 










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
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
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)
}<~ /-/:,#%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!$+.#%:
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
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
 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
}<~


  ^a

7a

k e

A; 



?I@% >;
=

:O iLK"j

:



"k

Bk

k

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
| 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
| ?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


 =



Le

8=

[





=

}%

Version 2 CSE, IIT Kharagpur

Das könnte Ihnen auch gefallen