MZ@ !L!This program cannot be run in DOS mode. $0?QlQlQl5lQllQla^lQllQlQlQllQllQllQllQlRichQlPEL I! PN,d@<.text `.rdata @@.data@.rsrc@@.reloc8@BU4SUU܍ UVU3UQ]]dxVRhhxtet`~& W+Dzu]_E U5$h艄}E~W EE܋E+@E]E]u]]]U5$hEEEMM$h較} ]V`Ẽ^[]U賃3ʼnEES3hVu W;XP=_^[M3]Ã~bFPdVPQRJ5thLPփ;Ét$IhLSփ;Éu牽;[p $I9-1;G"$tRӃPӃQӃRlPl|Ql`RlDPl(Ql RlPӃQӃRӃxh$襀_^[M3覀]á PQh PQhWӋ DRl \;_^3[M3 ]ËBPhM_^3͸[]O]Jt8JJJJJJ/FJfU(S]V3WS~u VE~V~VEE~S~5;th_^[]Ã=u] 3ۅ}E܋E3҃UUs֍׉Us׉UU܉UPEED{EED{EED{EED{EMMMMuEU;}2ˍ ωM+ʋUD{EEu߃EEE܃; ]؋5dP֋ RS3Ƀ 3ۣMU3}]AS=tD{,EB]ƃǡ\=tBD{'EBƃǡ\=tD{-EB]ƃǡ\=tBD{.EB]Bƃǡ\E;؉];]}VM=tD{*ECƃ\;]|M;MDz E=u'3~!=@{~;E;|_^3[]hp*{_^[]U$3E PzhMQjURjEzthz]ËESVuWP{z]SZzVEQzVEZzVEKzVE| }=\8(~|0}G\8 @}n}]U;}@Ë+މ]Iu44u΋5\0;|ԋ] ;=}Dz E_^3[]UjjjxM ]UQWjx}GPVuQwVRwjVWM t&hXwhrE Pi ^_]ËNQw=utVR^whظEEPjMQjwt&hjwhU R ^_]ËEPQURvEPvNQR FPQhhg9t#PjjvU PwvNFPTvhhIWM PVQ|ptPhdv|Rh 5`P֋ Q֋Rփ^_]ÅtPhX-vh5`P֋ Q֋R֋E P^_]h ujjjuM ^_]hXujjjuU _]UEE~#ȁyIAuə+]UME PQ|]@UEV@t Vbv^]UE Vq A;uU D^]UjhhdPQV3PEduTFPEuN Qu@Md Y^]UUt1Vu t%;uBN ~u^]UW}G$8"E MPQ_]ËWE MRPQrOG$$ _]ËEM VtJ1t/;u@a~A@ȃu8t@8u9^tA9uO_]tU ERPOG_]|tM AksUD_]_]ÐJ!]!!!"hUA U<~A0]A8]VNLF;W3;}#N@VH‹N\;FL|N3~V<u;|?;} hxFLN+;~Uы;~LSNRWҋV3Ʌ~&V<u^V ˍV;|ڃ;~L|[_^3~Jd$F<u5NFLPWҋNN;NL}Vɍʃ;NL|؃;~|_^U$SVU3]WF]܉]h~EF EExut7Fu$ً tVʍAz ؋؋Exu"tBVDu.]ك&t FTTAz]؋U:u?t;FDu']"?tVTTAz ]؋Exu"tBVDu.]ك&t FTTAz]؋EE;MEUF;}V~F <u<t7Vu$ً <tFȍAz ؋؋F;|U3҃tN؋PSE39N~ <Fu~<FȍEAz F]AF EE Au EuW]܉MQ<tKF$ȍ]u F]AuF EE ؃;NE^(z_^[]MEU _^3[]UQEu.Q <uI] At03]Q]u-Q <uIEzи]QE 2]UjhdPQSVW3PEdMȹy(Et=w_ ;t$FP`v;uOQ`WnMI,QnME[Md Y_^[]̋A,UV5Et V3n^]UjhȠdPQSVW3PEduܹ^,Et;{C ;t$GP`C ;uKQ`SmF0PmF4PmFu"E]{EE^]E^]US`VuWt~d~ FhQӃV`3~Fl QӋV`;|FhPӋNlQӋVpRӋF|PӋNtQӋVxRӋPVӃ _^[]UVuFŋFۋM0ȍ Au!VEڋFM0,ȋU39F~(M}+Vˍʃ;F|N؋E0ـ<E~ €<E0E <8U~F0F8~Ǎ8tFu؄tVʍAzɃ;{UUɀ~PuNF( Pu8ًFPgFLhDF PEE39~Ƀ\$$WtA^N;~7EVE <uKF <Fu/AtOQWUEE;~|_^[]AuuˋF <FuzɃ;ωN~z_^[]U 3A;UE~qSY VqWyȉM Eu^ <;Vu{M˃FN;F<u08 uACAuN뾄u< uz_ɉN{ PQ3F(3ɺE Q?3F,9;~FWW] E N,;;|ƋMd Y_^[]US] WSME PQO(E;}VUGVRЋM ;|^E _[]US]VW} N(WSF ] ] ~ tF ]v,_]E^[]UjhádPQSVW3PEdu}] GSPQpܹjEV(u>} EtC X9=PF(P3F,F(3E Q%>FDF(P>F0F(3 Q=3 9~(F4~OF0N(V0F4E3҃U UX+ÉE+EEKEAAu5FEzuE uE AAu6FETzuE uE Au5Fɋ]zuE uE AAu5FEzuE uE ؃E ]9M}UEAu5Fɋ}zuE uE ؋E;E|M QRhLEЋE X_^[]ÍI4gTgegvggUHSVW}dEd|}5dP֋؍P]E3;ЉUu]EOMܹ +ȉM̹+ȉMȋM +ˉ]M]EEEԍPd3}M]M S +] ]Ћ]]ۉUP]Y][ȃ YZ ]Ћ\ YZ ][YZ ]EmZu]M;M}L ʋUM؋M MЋM+ʉMMЋU ȃ22QUmUuӋM}MM M̉U؋UыMU؍L ]ԉMMˋ]+؉]ԋ]+L]][3ȃ B ][]Y ]D] ]Y B ][EރY B Ys}]M;}IUU)UȉUUԋ] 3ȃ;22UD X|ҋ]EЃm;ljE]sUڃ}E3…M]+‹E3˃E|aE Q+ˉMOC]]@ J DH@J@JuҋE]UM;}(U++MHuUME0;ωMH3Ã|rOrFAuFAuAuFAu؃ u;}Au؃;|]3EIuډ]+M#3Ƀ4‰UЉM33]MU+ӉUU+UUWC]] ] @XAYDʋ]@XD\D ʋ]܃ ]@XAYC@XAYu]ԋUЋME;}3E+Uȋ+MU@XD0\0uE؃;ljE]UE؃;EEh̻`3~UPӃ;|MQӋURӃ_^[]ËM9M|US]V5dWP֋ ɋQ}։E39~;|393~# +Ι ֍;3|3 ׸gfffWUѸgfff+΍Pủ}܉MdMREdE33MEU+ʍBMԹ+ʍVUEMЉUMЋP{}ȉ9P{׋U}P{}T9HSʋMU}\S U SʋMU}\HS UE HSʋMU\mMV}܋E;}7USUUES‹EȋE;ƉE|;;lj}}7USUUES‹EȋE;E|33҃EEUUQEEPzEEEPzEEEzEEEPzEEE uEU;}!EzEE;|EM3+΃|?U+ƃLUqUq1quދE;}MM;|؋M5`Q֋UR֋}؃E$M SuPQRVP胵V5`֋MQփ_^[]Å+փ|?EL+ƃUqUq1quދE;FMM;|.~p+փ|?EL+ƃUqUq1quދE;MM;|u l]5djEEjE֋UEEE@MUElPZMQkũ;u܋}:UMKRRW贻E UʋO| ;u|WU5`R֋EPփ USVWhdu ؋E ]ǃ   u3ɍ<WEMMMdSMQUREPMQVl+Wd }|~vU+ȋ<<8u]RdۋЉU~E @0 z} 39w8~Z3~O< U; t;|U;u$G< Qh@PU O@ ƒ;w8|uVdE~ VjP^ CÙ+‹RudE39G\EEt=dVVE׃EElEMEE+M؋MExMd$E;EEMUEEʉEȋE؃EE+‹U+UԉEʉME؋x MM 4PUĉM̉ud QEdۉE~.u苕|E ~}ˋ}}~BM|ًU4ًMčEE̍ ~uȋ}M y\t2EȋUMRUPEE \$M$PQ UE‹MU \$E\$RPQHP@ O3ɅۉWG ~)UEЀ< uAu ;|ߋu3Ʌ~2UċEЀ< uAu ;|܋M؋`QӋURӋE܃EE;E}EEEE)Eu}dPw`ӃG|~M+ȍd$uu<WӋM3ۃAp|EP}Ӌ؋E ]t 9}S3MQUREEԉEEPMQVǦURdEPd E~+ȋu}~~ME+E؋EME$M399~P$U +ϙME؋MEǍMʋU U܋M܋U;:|Emu}ME~qUU؍3E~CEM EEЋMM+EE܋M;E|ȋU؋EE;ljEU|E|#ЋE+‰EЉ}EЋmuEUE+‰EЋEUM؅E~rEEMЋ EUܙM̋ȋEEUM;})U}<<;|E}UEȃE;ljE|EmUs|M+ȐuE=`P׋MQ׋UR׋EP׋MQ׋M3~ ;|E~7}d$}EmЍ UU;ljE|ЋM3;ȉE|&EԐUMUDEԋM;щE~3ɉEXEM$2Y3^ËD$U3;u9-@~: @ ܰ SVW dp,l$3k;th0UVW;uD$j^t jRtD$Ȱ9D$t t$YЃ;sU`YȰ jW43@_^[] jhh8]3@E3ɉM5(E;u9 @uM;tu.;tWVSЉE}WVSEWVSEu$u WPSWjStWjSЅtuCWVSu!E}t.t%WVSЉEE MPQ6YYËeeeE E(Ã|$ut$L$T$ Y U(P LHD5@=<fhf \f8f4f%0f-,`ETEXEdXTH LjRYjh =uj.Yh $P(j hef(E#E=t =t33@ËeeEEU3SEEESX5 PZ+tQ3E]UMUE[Et^t3@3[3jh@eMx:M+M MUEEEEE8csmt EEeE6j heu EEeMx )uMUEE}uuuu u@hpYjhs55̰YEu u@Ygj}Ye5։E5 YYEEPEPu5YP@Eu֣uփ E E)jYt$RYHVW;NjstЃ;r_^VW;NjstЃ;r_^̋L$f9MZt3ËA<8PEu3fx ̋D$H<ASVq3҅WDv|$H ;r X;r (;r3_^[UjhhmdPSVW1E3PEdeEh<tUE-PhRt;@$ЃEMd Y_^[]ËE3=‹ËeE3Md Y_^[]%а%԰%ذ%|$u=u t$3@ hmd5D$l$l$+SVW1E3PeuEEEEdËMd Y__^[]Qt$t$t$t$hPhUeeSWN@;ǻt t У`VEPu3u33 3EPE3E3;uO@ u 5։5^_[%\%X%T%P%L%H%D%<̋MT$B J3 ̋MT$B J3̋MT$B J3wH̋MT$B J3Gt}̋MHEPYYËT$B J3 B̋MT$B J3̋M~EPYËT$B J3̋M~E PYËT$B J3|<̍XeM]T$B X3Ip̍H%MT$B D3 ?̍`M T$B \3̍<M齅T$B <3 ̍|e4zT$B 03F@|n^D(v\RJ<2&08@JR\ft "4BRdp~zlP<*Usage: model = svmtrain(training_label_vector, training_instance_matrix, 'libsvm_options'); libsvm_options: -s svm_type : set type of SVM (default 0) 0 -- C-SVC 1 -- nu-SVC 2 -- one-class SVM 3 -- epsilon-SVR 4 -- nu-SVR -t kernel_type : set type of kernel function (default 2) 0 -- linear: u'*v 1 -- polynomial: (gamma*u'*v + coef0)^degree 2 -- radial basis function: exp(-gamma*|u-v|^2) 3 -- sigmoid: tanh(gamma*u'*v + coef0) 4 -- precomputed kernel (kernel values in training_instance_matrix) -d degree : set degree in kernel function (default 3) -g gamma : set gamma in kernel function (default 1/k) -r coef0 : set coef0 in kernel function (default 0) -c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1) -n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5) -p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1) -m cachesize : set cache memory size in MB (default 100) -e epsilon : set tolerance of termination criterion (default 0.001) -h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1) -b probability_estimates: whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0) -wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1) -v n: n-fold cross validation mode Cross Validation Squared correlation coefficient = %g Cross Validation Mean squared error = %g Cross Validation Accuracy = %g%% Y@Unknown option -%c n-fold cross validation: n must >= 2 ?MbP???Wrong input format: sample_serial_number out of range Length of label vector does not match # of instances. Error: cannot transpose training instance matrix transposeError: label vector and instance matrix must be double Error: %s Error: can't convert libsvm model to matrix structure: %s Error: cannot generate a full training instance matrix fullprecomputedsigmoidrbfpolynomiallinearnu_svrepsilon_svrone_classnu_svcc_svc8 p9;̾K# K0I Warning: using -h 0 may be faster -q@KL RO` W0(pW@(Y@)pYP)Line search fails in two-class probability estimates |=-C6?Reaching maximal iterations in two-class probability estimates h㈵>-q=Prob. model for test data: target value = predicted value + z, z: Laplace distribution e^(-|z|/sigma)/(2sigma),sigma= %g @rhonr_class optimization finished, #iter = %d *.$@0APT@TTVnu = %f C = %f epsilon = %f nSV = %d, nBSV = %d obj = %f, rho = %f Exceeds max_iter in multiclass_prob {Gzt?Total nSV = %d warning: class label %d specified in weight is not found P?Hz>nu <= 0 or nu > 1specified nu is infeasibleone-class SVM probability output not supported yetprobability != 0 and probability != 1shrinking != 0 and shrinking != 1p < 0C <= 0eps <= 0cache_size <= 0degree of polynomial kernel < 0unknown kernel typeunknown svm typeSVssv_coefnSVProbBProbALabeltotalSVParameterscannot transpose SV matrixP;HH0L\d0@LHdH@``@x(8Dx@(td@tĿԿd@Ŀ$4d@dt|@dmhȠ3Xá3s`"""@"l ("P""","` +"`k"""0ۙ(Dq1x<n^D(v\RJ<2&08@JR\ft "4BRdp~zlP<*mxGetString_700ymxGetNxmxGetMmxGetPrmxGetNzmax_700qmxGetJc_700nmxGetIr_700-mxDestroyArray/mxDuplicateArraymxCreateDoubleMatrix_700mxIsSparsemxIsDouble?mxFree(mxSetField_700'mxCreateStructMatrix_700mxCreateSparse_700mxMalloclibmx.dllmexPrintf_mexCallMATLABlibmex.dllfree+mallocJreallocatofatoisstrtokYsrandvprintffflush__iob_func9_purecall??3@YAXPAX@Zv__CxxFrameHandler3Y_CItanhP_CIexpc_HUGER_CIlogW_CIsqrtfprintf??2@YAPAXI@Z6memcpycallocHrand:memsetMSVCR80.dllr_encode_pointer_malloc_crts_encoded_nullh_decode_pointer_initterm_initterm_e_amsg_exit_adjust_fdivm__CppXcptFilterS_crt_debugger_hookC?terminate@@YAXXZ6?_type_info_dtor_internal_method@type_info@@QAEXXZ__clean_type_info_names_internal_unlock__dllonexit_lock(_onexit{_except_handler4_common)InterlockedExchangeVSleep&InterlockedCompareExchange^TerminateProcessBGetCurrentProcessnUnhandledExceptionFilterJSetUnhandledExceptionFilter9IsDebuggerPresentDisableThreadLibraryCallsQueryPerformanceCounterGetTickCountFGetCurrentThreadIdCGetCurrentProcessIdGetSystemTimeAsFileTimeKERNEL32.dll Isvmtrain.mexw32mexFunction4,  .?AVQMatrix@@.?AVKernel@@.?AVSolver@@.?AVSolver_NU@@.?AVONE_CLASS_Q@@.?AVSVR_Q@@.?AVSVC_Q@@N@D.?AVtype_info@@0 HXT PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD 00060?0D0N0a0k0000000%101;1u1111111111112 222!2+21272=2C2I2O22222+3=3T3k3~3333333333 44&4,4F4]4p44444444444445555R5t5x5|555555555555555555555556$606H6u7~7777777777 88/898F8W8h8u8888888889 999B9W9f9l9999999:):.:3:A:a:::::: ;;!;0;5;D;R;a;;;;;;<<%6>T>>>>>>>>>>>???!?*?3?M?p?? l00v0000F182<2@2D2H2R2235577777v88888:::3;G;T;};X<<G>>{???0DI0T0061113}45V66F778G9::::::; ;;;;;;;@4$1/191]1k1u1.2G3G88799:+:5:';;;w>?PH0'2I222F3V333V5f5}55566F6{6677"8N8v;;;<<== >?`@0001V2j253`444<556707799999999k:8J8l888B9;b;; <{>>?,?@C4e4r444444444455 5555$5*50565<5B5R555J666666666666666667"7+767K7T7l777777777778 88#808?8T8Z8i888888888889h999:::#:):/:6:=:D:K:R:Y:`:h:p:x:::::::::::::::;;;;)<<<<<<<<< ==O=T=s=x=&>+>=>[>o>u>>>>>> ??2?~?????????800&0,02080>0D0J0P0z000 1E1j1112H222 3H1L1<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9999999999999999`;d;h;l;p;====,>0>D>H>X>\>d>|>>>>>>>>>>>>>? ?$?4?8?