From 9b5d5d30e2959e2050441a3bfe481f500457edd4 Mon Sep 17 00:00:00 2001
From: Eduardo Machado <emm14@inf.ufpr.br>
Date: Thu, 8 Oct 2015 18:34:44 -0300
Subject: [PATCH] quase terminado

---
 bst             | Bin 19667 -> 20029 bytes
 lib/bst_lib.a   | Bin 11928 -> 8736 bytes
 obj/bst_lib.o   | Bin 11352 -> 8160 bytes
 src/bst_lib.cpp |  21 +--------------------
 src/main.cpp    |  32 +++++++++++++++++++-------------
 teste.txt       |   9 +++++++++
 6 files changed, 29 insertions(+), 33 deletions(-)
 create mode 100644 teste.txt

diff --git a/bst b/bst
index ae82def670b7145618b319007006307ae9fc2d26..a8ad46d53ed66e53a2fd94d0a3cfd7cc92c5cdf7 100755
GIT binary patch
delta 6834
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

delta 6934
zcmdlxhw<`E#t9OFA9x%XKmbBAFgQ%qT+X>m4kX0DuxsK?ea;_D5Kh5lLB@8)36c=r
z1WAYv7<~sK%y4J&PR7%wcF)e7$!}@Uig^;dOu-`YvfR9VkC+)47$g`N7#JBC7}&t7
z1(*~WMHoS1AVZ}l?_|<vd^}l^MVv8gG9$D2WCLac#yepC<H;YH#Tlo7L>aGv+3k}L
zGV3#Pfko=UB2FOoWD6Dv##3PaNw7|15PR|l7750;VE!~P`5Pq4m<Q6qxCbOs&&b5U
zAjlxa@W3De>^2FIGZ`2delRdF2r)1)EP#d+SdxK(p$;l8fF|w(HHX0nVvYdRoaIpU
z8_?7<<YXolm!wR7&ssfs8VA3qi=k^7LwuB9aDGm)Yk*r&aDH&S>*PRRQ5&#mabmD*
zkaut~h~phxY@VE-TaZ|k>Kfpk%n%=yk`n;YT<i=pCbOv6H7IlP86WG(S>8Tu4DnIH
zB}J19ywxWAvnz7J?C~y}+`^&3lUJS#R$!c*nKyYZyS21ma52<D!6hci`K2Wwd%;f2
zoV<afWU?x!G9$xee@@x@1SSRs0R{#J1qKF&0JTbP1_oA!Wzdwv$iT=@izHtvmC4D#
zz|61?F3$u`6(Ief@V&e~o0Wlqg<%&|Pl@Iv4h9A$hNDpRKlCAC3ra<xRK>u+pas$g
zk33drQUeQu2xw%0#HA;Ta>X;UPA=stpPa+PGx-M>4<q+vR&IAj{>i@F?vvMW^YG4q
zCIWT_1_qJIYq`ZGK?xLO5D2e8l9ic!ms^}y6eJAAJ0@S`7N0D^!&5H~6#-Em&2Kn7
zx><Ww6c{{O50tRJux4Oj@Mu25aTp}a!0_L+NkxI-ziNw$0t3Ii1H*q+5I+MX`SQX4
z|NsB1R;eg3WPlRW%L`zB5r_{8ke3I*{45Y36dEr#fcZ)FAORKz28NdlzyeVqJ}3lU
zP5|?RKzvXTzH9*Vy+C}Bk6#vm`A#4{2S|Scm~RE*bAtE*V7?KE&jsQ;fcaV=J~xPO
z0Or>#fdqI!0t#RODG;9*#1{bbg+P2h5T60e=K}HhLHrN@Kt5&y@j+?g<pVJPm$Cvw
zh9F4(0+{~^#0TZgmj}T7S0KJHNPYu|U$6QIBp?D3SO5}Gy#?Zf;_BsufB*j*zV+<9
z80XRX$fNnmhky{z;|Clh92h)~AG{zAqK@C?bzpdL{NMloU()#HT^Ja4+&4&I2=&mt
zVUWP!(fotYqw{GwQ|#d#pg01>>6h63AgTWk_~jcwVw^ibT#$yzC;7CDK%D=NpmGhi
zm8uF145fmh9-U8L)cybeKlT`FnyLZ=<LASm==W&0^-!3s%I{D={qO((9=)y?JUWlR
z=mxQmyKYc0PGIopbv@wGd2BzZym}$@53K0Gz6g*HI*-3N%*epda)7_(I4G5YbwgFY
z02$Hix(2RQ9i+88bVIlA8joJr4V~ve7TsfKVDPX7SyRtH<v`1Ul1U!jt{XslK*idN
zBY*$@-v=rXL2AE)Oze)`;L#g;!K2spfk)>xkg&tw|Npy7*Ld`XJ^-2P*?D6p$UKmg
zGAjdvN2lusi0b1nQo$x5nV*6%zyA0OPzb!_{}1(HJk*De86ZCV26jJ4^YIswObiS!
zpMnHB55o-S{QLj^Yi19y05}kT{6PpD06FLRpa1_oI&XlOIe-8E2gQg-^BaNA+CQD8
zKPJBy6bSS%PGET9`se@uT^9@z81{j<`$6UYi^M<w|L+HR>xDK00|P`B#N96=;K1<0
z`Op9VCl7<n+xP!J1H*n$=6x{<6xWjv3Q008_&qsCNSVp|&*X_hVw2AcaWirJnS4jc
zmMQbkWNG0xrjNfSFBW#LcMJ&zIme^3_Jv1d?F*3crCi`d_mYv3fni^PgagBVaI|dt
zg%mBKzyJUD=yrYK(d{4riOLe4eT{InZOCe0{z6jQdHhA||NsB@O@gScPhfZvg{*il
zRB^Wi$atUL1de@+AxaY%UKsrP|KF$c87M4EfBpa8c@M;z{qz5Suo@7D5813js97G}
z4ia!jE`^)+=;#0cI`D+%imbTv_=|`C{{P<r3R92fBLdNmF|mgyOzsm=s5b(s>pbky
zdH;nqC}nlVzSy@7Ze|I{F|f3I{pbJx-Jw@N9)YCV0#M333Rmn7k%!3b`hgU@bAN(@
zEc65<nSoRMs~?~w8e0DVWE?aXn1dVu&J@RANP}#?1~>Z+vT^=k<6K|t14S<=m^45R
zc?ws&A6c;yx?)j~;xACeX$&tWA*=oha#nZf0VG#3fLzt>`r@^LXXg=6I5GYJMcV_A
z#cUwM!MO#@O$X_QWDbynJ(`agK!dtMR3QZ9TK?AQ3=9nWm?dG!@aK1=aEbxx?{?h*
zFFUxA-DU@tMG3|3$?HVL>feD}*y*|h61>M>Z21lfZX{ziBU|$9`~UwhofsJyJis;`
zf5H3b|9@-OEBy08Wmok+A-LOokhQIc8+!bOB)AYb?9mN&Og*d=d;1M!ukQ{}G1grQ
zN+>rxA)#>*T+AGT*a(h)Z%~ed#x*O*MH@kdFVsafzacJ~19DNtK1H~Tc7H<(Ejg%*
z>OnCv3uIm=%t<g8#o%<21BQ#PfN}!VMJ3<<|9`E#&j4<*GqT0YzWx8d0~DLDLqI;N
zf9(e;F~MoT3S=e3*ZaXtc;Tu5=7NjPrC=sph7HUG%XEX7%||?<W5H#iNAnv6kIvd3
zouywqIztg<n%X{lxZCPid_@WsZkXd<zJP@23sCUr{sM*Q7f2jC?hAlx&Oz3D{wpW~
zUBNmmLBY{^sN468N4M(_NKKdh|NsA&6OoL)_VfRL>w4EO{NR|f+m{G8R}|UY3M6yC
zfU^v$xg!7n|9@=@$#chFG=U6t{Q{{=mG%|E%{=%8$)74vGhef^f#c%j<OhNxF6xc7
zKS0$-soZ`~P(5Vu1y&D%xR83t=L?pa2Gk6UJq&KTOg4}Zk^Ld6z!2)utIHv#z!2=C
z`PA^X$HBkMpoZy-*w2#_CBo}7^NLf8N*D@?GV@A6Ef^RE3wY-F7p0^YDd;K~LR26G
zjL-#)85GckOc;`jQWHy3{qj>%!DgUvjT96ZlIxKb7^A93({9QDaVy+36s{4ftTBUg
zMq*j2LVj{-L1IdxB12MUUSd&YaB5;vat7Ef5P^EQh!MIHV{`!%SlB>lMrmeiP!Cv&
zfq~(}$N&E|7#SE6KL7s@>OJ~?`Tu_cBLl;gumAslU}Rv>|MvgC022d)%eVjk0~i??
zlD_@_zk!i~p{M@a|Nj>l85mZ5`~Tm7iGkq&NC6WA!>e!q{}(VZFtB|8|9=7#0|Tg(
z*uccVVDbI`{|ihE3?ASA|Np?mz)<%6|9=5y28NFB|Nk2>Gce5h{{MdfGXuk#@BjZ7
zFf%aR`tkq&3}yy~xL^POA7Ex+*z@QA{};>*3@`uw|Ifj~z#yvj@Be=d76t}zNy5Uw
z0BS~0n0!%Eohjkd<X@6{tOq{)|6ed!S4x@b&6ml)q@*V2Nb#G4dbG^aJnS4GPs%Vb
zFsLvvFl_zw|9?9p0|SeVoCAX+pFkUvGcTKKGc!nj2?GPesxOmwNlCFCVPIg`0yc{6
z2?GPeozIh{q@~zc7#SGEzf880mSR(3WMC-zGC4|Gip_<Qfg$6|<SJ<?wiJlyENLmW
z7Dfh!oG+6>%q5Hr3~3PN5m5MlnfyyyitPy_14F=<$x<>>Y%EL+3~^s3TggbVsW5>>
zK};7W1_q}uldEK;>Qk5)7)-wW|E~*bR=`~C-oxC?!mP;1!w%{UfqkdL#K2(n_5c57
zkPj1(d<aon4pIvWg%BnNhH2ma|BnO3UK5f!*Jfts5GJsRpb)vk#K3Uo$NzX#i<vb*
z<}iR1{9$5XxcT${e_K#;gE_1MtRE~d!_2_&?dSjhpw10ExC0>aE({C|Hp~nRAAU|Q
zl69(YVP;^E`1SuksOtza4Tk^!XH*bpWnfTdeapmPGoA4c6T?eJ*3(Q3KN)@RFflYS
zvobLJ|Ia8V&&t4{#d?Z~!8V?OVHG3m115%TjH?(K7``$=RG64JGca^AvUajC%w()#
zU|7Y(x|oIG1XCOX!)|6)(Y-7TH<^_g80N9CGBE4_5tmq4Hz&$z@Jnsrg^Vff=ZDbS
z#3A$q-pRjo)eJ#H3?SEnA_qi+h7>?FsEY}r6SyJDL0wD`-(_;3UOZ#R<c)grOc$9Z
zU(&N<6qqciFE1Ft2~h~@?1B_>Om@`QSDwKE5&i%Fe?CZ*8AO2cGn602;V?N-E_afF
zMEx|VP0OJ4HYj}zN?(K0&!F@-D9r{P{1JoFYEaq?O1nYnFese{rOTjn8-&(km<C}m
zEQ8Y9p!6{)eGN)Kn`~$;Joy15%jO>jCzzOaFik#WtS8jL3h`+NXf%L<f#D+4WF`|m
z!6;||M1j*e1B2CMM-zQ6Sg_3Cm|SII#>oK<JC4aaP0ZmT82}m=U|?Vnn9OLZ&jpK!
z1n$XJre=Z-P~SIz1_u}z7z!pgn(7O|1|B~^qc4bi@*z__P8SJ?+gv99G&L6rfbs%B
zgM<tW3=WKwoy_zEVS|pa!N@z48_o0u3#1@g3qYkX0|UdE$p_8!1wjQ6C?;*7W14lF
z8O`e%8Ba`Zw9w}~0UgRYF?pwjIVY$u4N`hz@=ptU#v79@E$taqCs$h9b1_(f#2FZV
za7{jBX~y*fl&2UN7;dvqX0qDm2@6k%8VJeEz|H^*P>2YGWM<%CfCVW;1VS=1a58XA
zX0#S(448b;O4OK}0Tzl7c?ikOz{3CwPKXGEWM<%H_%PYfT9lcO!DaG9Yf)x?hJeWv
zt;HE9Og?BWDkI1M3mk}g2+7PK#9$*g`IhxEP;l6YGd`HyXd^m#osE~L0yHZ^6f!XA
zF@Of(co_oF#2umH6VSxN!2`Wg3<8rKZS|Qp@J=qWbz}6HY-lHLm;%k+(J-?aAx6V;
zJ-7@54d5|?#)|nFGA1+H=`(tQ^cqz{O9XH^$iTo53e^iMDbV$HNKUS@(_^xbo4m>n
z<jFvLaU)nP!$x?&FoH&Sc^Re%K#~tM^)T==LBvl8OrB-0=4k=tW(h%*fy#c655l41
zHi8gwaNPk)<xp`esIg)o#S9D#O`t*N#F<PC3`z{V44{DmkOVYwf`?3n7<d^#Ls1}c
zSSh^?YFYr)G)<5s0|Ucps5mS)L4_GEP2T7r&iD{aeg)ZR$jJ=y4j%(7gTYktgT;9n
z*r4tQ4XA<S)F%r%ihKGnLx#mceFKoF28aL!JXF^WsC#sw;+f14e|>^RGGttqfngrV
zG{(JP@;Zo={0KIIfdMp-0@Vzr#3o;K6lXM=Z0ICzSk3}+GcQ9G)D~FOOk@GMik|^i
zJb*?yL7EqUbTR$_ll+qtox~+ISwX|nk_@nn4pIfeW|Jp6iBF#3q`-J%@<u1&SkTZv
zXb=S?2OF}V#LB=R$Rx=C8uS5)!|;4oh^s*3gdnk05W&E}upVre6a#3a4=Mzvc7yEl
z6k&se40?<!LdCB@LkyM@^w=P_yc33`D^ME(WL&`Hjn3kXsgoO>#U*RmK)#b=2rz~W
zh=b%oxCta%zW{227Fx{i0*hl#X)v*aOq0ZLKPNlHCF{^)K@}{{zyN9hf^3ChH;DLT
zaTh_x$jO2(;*y165ncu#F^FGad1L}eHfR+)BxKM-U^`S7Xdo73HmE%bqW6HsF$>5;
zU~ygs3Bk=xt|m;I&$|mVi-IRB0=&x{9Nc|8otz^g;*Ir8Cg1bYpRDV>W%6%t-^mkw
OR!k1|ZJW&Jrw;&gii@ZK

diff --git a/lib/bst_lib.a b/lib/bst_lib.a
index d4140fc2afb62a284a77592ffb58011e73e59bc4..e2489fc26c4197cf7546363322a51d80bb9522f6 100644
GIT binary patch
delta 2345
zcmbOcyTE0FEUU4lsk!M!rSFUiV3vY{p@D$`5@}{;qM%@5Xl9@=*^)`0sep5H7Ly92
zcd$qE8wroj+7}*;wJ#VL7#K>qc7UjtEes3{9^I}lJh~kOJZwQiB?54M=W(!F5Wiaj
zM0zwI;Fx@mO=_|yi}+-IPFD492MIJ?5*|=pI~YMmHy@FRjy*hi2a7Rhcjy(68J*WA
zTe4cQfS8llv&v0=$r?1-hE0X3)PAxftH|UnY--XkUxT!EyY7IQW$k)}fBu1%10^w&
z53omzS9+ky&4J4?vQM_)NMf8Yc@~EZ6W5N(+MJSXV4X^n`8gFNUPprLMHu^qAFLHB
zsfaE)1!OMU<XxQcObQH>jkxtgrR7-}7_?Y7GBO0QGBBjF9%p1I3}axp!^q0O@c%!f
zkqIjUgE#9nCWdGy28K<HtRI*dE->0NFf3tW?P6v)#Kg+L@ESz4GP5!;%m)z+3=EsM
zanECvSOW@uM?QfzCTCtY*Jfs>MLg^r3=9mDb9jA{UokK+upldN?_q9cVY&xWqQbzy
z-~*ClU|?9yh^Ef9nVESZBS;y83<Cp$024&vE)WH?jA<)KezP=RFC$X`>*Q7ZW?T{C
zAO#Ez32c*J@tZNtV4W<;FE&|0gk`dgfC}>rR))!iqM~4ajerW*3|5G00fxz|1k9Lr
z$WDGFV8^tAb+VG69n%Hb$w`8CoX4PQLMID~2v6Q4sKTVcHu;gD9n%Zh$x1?YoEmHp
zGqk|+H9{&(L2PhK_Xw#lMX*hNBxJ|LAU9b_*pBlAC}<cM7*;@(3#)Jz@Ied^n7mTh
zoU=g~!n-v2rSN~Lf8elVU;w9ZXmBwxFfmxOPG%C-W8|2;Q9yXJi|7(YrZo(cUy1oK
zs!a|Q*JsR_94Ic%xOj4-c)H*^P<m!yU;xDg$ms7Nxyb?&8JaVoVG0U+kW2_O1A`C)
z6N3xXQgB!^FfbHP7L*WY?4Ep4LY#31n7si+vhHPOU{IJW$S<<lQ1Sue<f+o`lX;{q
z*!_a@bBbLvCp${}Pktu7aPkXAnaS&A5*ZmL^U4}C3Qu;F6=&21llGGn<-{37Cl|_!
zGe%8TlovOQhdP#vfq?-Ut{|5&q(j9)E>>b-VEFSN0tzQ@loyvQgUW(*ff5y13j+f~
z-Q+-damF67UGqS8d7gu+1ev3aWX??_aSbH#cSzzwNaBo>4=RdFihzt^U|;}IplE}+
zN@4OxMe%w~kT3%S1IShKFefoEFc?C`L6j(xnN}bHEb5)0;vh;4Nqs0t0BSoZ)x&I0
zgNSQ^ou!MUp%5Yg7S}@(ZvZ*hup5W$4yZUc0|NuHH_n2C;0aU~L}?<K`2}QVJu5TB
z-ym5DBw1-BacLxRLnLu2Byn#faeXB5SR`@epv;7b*Mq&PgQTGxA^{dhc2F;pIH<UR
zh2>%-abyR9l0L|5AdewC=sc2oF^0*0%3PASk%W+)@@R6SlDOed9I`CXJP5J?Ij)2!
zUsMy9l*1vb3zGG;z#$tA6-STBB&axgLM@*BP*t3<b8?}YIOE*OA63K|SA#?(4?@+0
z+=d)jSHWr?gVfajfT}?^QwCa^g2bUpK;g)s2o(pJX^0eIYEW^IdLyt(2%(K6j%<zr
zMBEIV>x?04!K5if0vz)uNESegV+K%0H=SIoW6WgDx_Oh1A0yK`#>q^2dKs`%@+(LM
kG<$+H!SVufApmkctn@SiaiG}~#Do>)As`NtxHZ&a0L~IYPXGV_

literal 11928
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
Nu=$t}G;vt`0sslDE1UoT

diff --git a/obj/bst_lib.o b/obj/bst_lib.o
index c48485e11d20846c2ffbbfee518e3df709619a17..8658372b45f8d5822c22d6bcd75affe05508302e 100644
GIT binary patch
delta 2293
zcmcZ+@xXq922%m&MlBUa?_iJSHxeG5wJ$sxYhN%hFff#I?Eq0PTNoG^Ji1+9cyv1m
zc-Vr3N(A8i&f{RUAbz(5i1cVaz%h9qi_~OJCh^JV*;v)P9VF0nNq9hY?O+5M-F!qM
zI`;773MOOD?$9eBGdizL{>fy;0%A_iXO^41k~wJdA7&M%Qv1n_%p#LZSk$Cnz6NRS
zcHIFp%i8q{|NH|j2TEclH?T&FS9+ky&4J4?vQPfOn#4F^auk~k6W5N(uh}Hoz&e#C
zpJ!8$cpV9{7h&udey~=kq$0ZH6p*=WldIU{nG_f%f8x*&m6m5^V9;XS$jA`H%D|Ay
zdYqA=FpPoW4kIfA!~g$`MkcHb4Bo8Qm>8m+7#KD&vVLG<xWH)7z_5ggwTqeI5ECl{
z!)p-H%FN2ZFdsxPFfeQ`<DADRu?7_Sj(h@bOwPP)uFcF$i+I>M7#J8P>u~!dzhYou
zU_n;k-oxC?!gLR$M1_HY!3QMAz`(GY5lx+IGc)r-MvyWF83qOh0VasTT_6f(8Pisf
z{N~%-y^Kr&tdp~N&A1}OK?)cc64)lM;x%KM!8-XOkJ#h~f-IB&@TxG+U}czWC@c!*
z+wiGy&0vM77GRj1#b?H}Lw52aK0Brrtdk${*)d&^ovg%f$9W8@CUo*eLE*_Y{3=We
zY?Bx9+cCY6o&1R3j#GmTVulu2-bO%$DTobjX^nsiQv}=OMFMtA404kn3D|L-00j*L
z1H%f4azPc&0zQZV0+TZZ%{d!{A-qeIR|@`@`Ueg>1_p2nhXxlD0~3Qa>*Pa1dW;;C
z3;BdMvj{I?WLm>8d6kGCquOLaQGLdY$%3NdjEg5bilz&$1EpsM1_n?}fQ<eQlAC-%
zG(&R+G)zHZ50VLCW?&FvU}A8AS_%$p1_p-W$rnY%8M`M>6ccBh0cLLik*s@}85k5M
zU*r+l{88)y<K$3D_sM4@EZF^m^K*(_Gbb}j`cGaaxo~o@R4pUJ<g-%7jKY%{rNtR_
z!KD3UMHz9%(8-3<;*3#~AIgXu#zP&-#lXM-4O5V-7}BBQAlE7}Ffjc24*`Xf3uVP6
z%b>C#U7!R7*22KRP&ZjnR-Ca1Y}Y)HU7qKlDnaIGBbjp(Nn8U-{2h|G5Ry3K<VJaM
zNfD4S3=9k)3KV59S1C;1C@)^G2@+;tU;w#F9_Azl1_nc@IEWHOGSdnqfJMC%R2)Q!
zA*l}q2|#TJrFfX_X%KNOu(NcLG!#N4z~XvH;te3@8g}E5-2oNnW?*1I_QqLo5Ilj(
zf+$TSGrxe$tY>A0_!}fEfg~%9Brc64Zipl<g(U8cB(9Gn9*ZQ79F&<5@p`aVb&xca
zLnOfB$PVg75(gDEu&`W=B#!JLP_hSk4dgLo2c1V!FUByLPmxRVHj)ssQyxurR1i1(
zi9?nJn*Tr+Ajg&P<cTWcl5#j?bwRS87C2<1q2lN<nFJL_PpHL{7b=T0c1|`_5oeq`
zd83jz<7$wI<Uy!<klT<0>nd2yW00EqA5b;uX39WIQjj=Q2`C&H6rtiEGYyd<Obsdy
zQf~xS2_dwR#F5Q0fQXxcbDc3nEtoWgNPuJB1jzzuQOp3!=%$lxwTzjpSvMDH`7tuB
xW1M_QTQ37vLVg9QfM!pSCRkoTE(AcXhn1WrAPzKpf|#&kJOso+61Rpr3;@s<Jt+VH

literal 11352
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

diff --git a/src/bst_lib.cpp b/src/bst_lib.cpp
index 2551d46..5ec8ae4 100644
--- a/src/bst_lib.cpp
+++ b/src/bst_lib.cpp
@@ -53,15 +53,11 @@ bool Node::printInOrder(){
   if(this==&nullNode){
     return 0;
   }
-  std::cout << "printInOrder - 1" << std::endl;
   if(leftNode!=&nullNode){
-    std::cout << "printInOrder - 2" << std::endl;
     leftNode->printInOrder();
   }
-  std::cout << "printInOrder - 3" << std::endl;
-  std::cout << " " << truck << key << " " << std::endl;
+  std::cout << truck << " " << key << std::endl;
   if(rightNode!=&nullNode){
-    std::cout << "printInOrder - 4" << std::endl;
     rightNode->printInOrder();
   }
   return 1;
@@ -69,33 +65,22 @@ bool Node::printInOrder(){
 
 Node* Tree::createNode(int key, string truck, Node *father){
   Node *aux=new Node;
-  std::cout << "createNode - 1" << std::endl;
   aux->setKey(key);
-  std::cout << "createNode - 2  " << key << std::endl;
   aux->setTruck(truck);
-  std::cout << "createNode - 3" << std::endl;
   aux->setLeftNode(&nullNode);
-  std::cout << "createNode - 4" << std::endl;
   aux->setRightNode(&nullNode);
-  std::cout << "createNode - 5" << std::endl;
   aux->setFatherNode(father);
   return aux;
 }
 
 Node* Tree::insertNode(int key, string truck, Node *father, Node *current){
   if(current==&nullNode){
-    std::cout << "insertNode - 1" << std::endl;
-    cout << current << endl;
     current=createNode(key, truck, father);
-    cout << current << endl;
   }else if(current->getKey() > key){
-    std::cout << "insertNode - 2" << std::endl;
     current->setLeftNode(insertNode(key, truck, current, current->getLeftNode()));
   }else if(current->getKey() < key){
-    std::cout << "insertNode - 3" << std::endl;
     current->setRightNode(insertNode(key, truck, current, current->getRightNode()));
   }else{
-    std::cout << "Chave ocupada!" << std::endl;
     return &nullNode;
   }
   return current;
@@ -103,16 +88,12 @@ Node* Tree::insertNode(int key, string truck, Node *father, Node *current){
 
 Node* Tree::binarySearch(int key, Node *current){
   if(current==&nullNode){
-    std::cout << "binarySearch - 1" << std::endl;
     return(&nullNode);
   }else if(current->getKey() > key){
-    std::cout << "binarySearch - 2" << std::endl;
     return(binarySearch(key,current->getLeftNode()));
   }else if(current->getKey() < key){
-    std::cout << "binarySearch - 3" << std::endl;
     return(binarySearch(key, current->getRightNode()));
   }else if(current->getKey() == key){
-    std::cout << "binarySearch - 4" << std::endl;
     return(current);
   }
   return(&nullNode);
diff --git a/src/main.cpp b/src/main.cpp
index 0ec1268..c903a2d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -10,24 +10,30 @@ Node nullNode;
 
 int main(int argc, char *argv[]) {
   Tree binaryTree;
-  string input, auxTruck;
-  int auxKey;
-  
+  string answer, truck="ready";
+  int requestedTime, currentTime;
+
   binaryTree.root=&nullNode;
 
   while (1) {
-    cin >> input;
-    if(input == "insert"){
-      cin >> auxTruck;
-      cin >> auxKey;
-      if(binaryTree.binarySearch(auxKey, binaryTree.root) == &nullNode){
-        cout << binaryTree.root << endl;
-        binaryTree.root=binaryTree.insertNode(auxKey, auxTruck, &nullNode, binaryTree.root);
-        cout << binaryTree.root << endl;
-      }
-    }else if(input == "print"){
+    cin >> currentTime;
+    std::cin.clear();
+    cin >> truck;
+    if(truck=="exit") break;
+    if(truck == "print"){
       binaryTree.root->printInOrder();
+    }else{
+      cin >> requestedTime;
+      if (requestedTime < currentTime) {
+        answer="NOK";
+      }else if((binaryTree.binarySearch(requestedTime, binaryTree.root) == &nullNode)&&(binaryTree.binarySearch(requestedTime-1, binaryTree.root) == &nullNode)&&(binaryTree.binarySearch(requestedTime-2, binaryTree.root) == &nullNode)){
+        binaryTree.root=binaryTree.insertNode(requestedTime, truck, &nullNode, binaryTree.root);
+        answer="OK";
+      }else{
+        answer="NOK";
+      }
     }
+    if(truck != "print") std::cout << truck << "," << answer << std::endl;
   }
 
   return 0;
diff --git a/teste.txt b/teste.txt
new file mode 100644
index 0000000..639460c
--- /dev/null
+++ b/teste.txt
@@ -0,0 +1,9 @@
+1 A 49
+2 B 79
+3 C 46
+4 D 71
+5 X 9
+15 E 72
+36 F 23
+print
+exit
-- 
GitLab