Déjà j'ai remarqué, en faisant un "kill -l" que je n'ai pas SIGINT mais INT pour la ligne '2)'
Ça c'est normal, j'ai ça même sur mon PC.
Bon par contre mon plop en shell c'est foireux parce que le handler de signal n'est pas hérité par les fils, bien sûr. Ce qu'il faut, c'est un plop qui rétablisse le conportement par défaut du SIGINT. Le 'plop' que j'utilisais était en fait un programme en C qui faisait:
- rétablissement du comportement souhaité sur récéption des signaux (par défaut à SIG_IGN avec la busybox que j'avais)
- exec de la commande.
Les masques de signaux étant hérités, ça le fait bien. Donc plop, ce serait plutôt un truc du genre:
#include <signal.h>
#include <unistd.h>
int main (int argc, char *argv[])
{
++argv;
if (*argv) {
signal (SIGINT, SIG_DFL);
execvp (*argv, argv);
}
return 0;
}
Pb de cette méthode: il te faut un cross compilo pour compiler ces quelques lignes de C. Et puis ensuite une fois loggué, tu fais tout de suite un 'plop sh' et ça roule pour toute la suite (je viens de tester).
Pour ce qui est du fichier inittab, je n'avais rien fait et google te sera donc sans doute d'une meilleure aide que moi.
c'est sans doute du à un pb de busybox. beaucoup de versions de busybox ont un masque de signal qui par défaut ignore le SIGINT. Si c'est bien ça, alors il faut utiliser un script de lancement de ton programme qui intercepte ton signal.
De mémoire, j'utilisais quelque chose comme ça:
Mettons que tu appelles ce script 'plop' et qu'il soit évidemment dans ton PATH, alors au lieu de faire
> tail -f /var/log/messages.log
tu fais
> plop tail -f /var/log/messages.log
le C^c est intercepté par 'plop' et l'interruption du programme aurra bien lieu.
Ben ya des normes qui sont pleines de brevets. C'est même le but du jeu pour les industriels: faire passer une norme avec des brevets à eux sans que personne ne s'en rende compte. Et ça leur rapporte après car les autres doivent passer à la caisse. Genre G.729. Et c'est un ADPCM qui ne casse pas des briques, donc c'est pas difficile à implémenter. Par contre, tu n'a pas le droit de distribuer n'importe comment. Un autre exemple: le 3GPP fournit le code source des codeurs et décodeurs AMR, mais c'est pas pour autant que t'as le droit de l'utiliser comme bon te semble.
- The GAIM instant messaging client checks every 5 seconds if you have been idle more than 10 minutes, to mark you away in the IM networks you're connected to.
(...)
- Matthew Garrett has provided a patch to the apple macbook touchpad driver to stop it from doing hundreds of wakeups per second.
Un driver qui réveille le processeur des centaines de fois par secondes, je comprends bien que c'est mal. Mais je m'étonne qu'1 vérification toutes les 5 secondes soit à ce point consommatrice d'energie ! Dommage que je n'ai pas de portable pour constater par moi même.
Quoi qu'il en soit, ce logiciel est une très bonne idée ;)
Je lis ici que les contributions de google sont ici soulis à la GPL. Or selon http://www.mysql.com/company/legal/licensing/ , MySQL est disponible avec plusieurs types de licences, dont certaines incompatibles avec la GPL. Ca veut donc dire que les contributions de Google ne pourront se retrouver *que* dans la version GPL ?
Moi ça ne m'étonne pas, parce que je ne considère plus le PS comme un vrai parti de gauche. Ils sont très clairement à fond dans le capitalisme et ont suffisament privatisé d'entreprises pour que ce soit clair. Je crois qu'on est arrivé comme aux US: deux partis majeurs, un de droite et un autre encore plus de droite.
Le lisp a aussi le support natif des bignum. Le temps de calcul ne veux pas dire grand chose car ça dépends de la machine, mais juste pour rire, avec sbcl,
* (defun factorial (n &optional (mul 1))
(if (= 1 n)
mul
(factorial (- n 1) (* n mul))))
Voui, sauf que si tu es sous windows et que tu manipules de chemins complets, tu as des chances de rencontrer des / et/ou des \, voire des :, et que là ça te fout la grouille...
Avec sed, tu n'est pas obligé d'utiliser le caractère '/'. Donc quand tu sais que tu vas manipuler des chemins, alors tu utilises autre chose.
Les trois commandes suivantes sont équivalentes:
sed -e 's/xxx/yyy/'
sed -e 's@xxx@yyy@'
sed -e 's|xxx|yyy|'
Sauf que quand on parle de serveur, on ne parle pas pas forcément de puissance mais surtout du reste: alimentation redondée, memoire ECC, disques scsi, raid, etc. En bref tout ce qui fait qu'une machine est plus robuste à la montée en charge et a une plus grande tolérance aux pannes.
Ce n'est pas bientôt, c'est déjà ce qui a été fait dans le thread: M.B a été traité d'inhumain (inhuman) par The de Raadt pour avoir soit disant traité M.G comme un voleur (thief).
[^] # Re: busybox
Posté par left . En réponse au message Ctrl-c ne fonctionne pas. Évalué à 1.
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
typedef void (*sighandler_t)(int);
int main (int argc, char *argv[])
{
++argv;
if (*argv) {
sighandler_t hook = signal (SIGINT, SIG_DFL);
if (hook==SIG_DFL)
fprintf (stderr, "SIGINT handler was DFL\n");
else if (hook==SIG_IGN)
fprintf (stderr, "SIGINT handler was IGN\n");
execvp (*argv, argv);
}
return 0;
}
Chez moi:
# plop sh
SIGINT handler was IGN
BusyBox v0.60.4 (2003) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
Si ça ne fonctionne pas, alors creuses l'autre piste du inittab.
[^] # Re: busybox
Posté par left . En réponse au message Ctrl-c ne fonctionne pas. Évalué à 1.
Ça c'est normal, j'ai ça même sur mon PC.
Bon par contre mon plop en shell c'est foireux parce que le handler de signal n'est pas hérité par les fils, bien sûr. Ce qu'il faut, c'est un plop qui rétablisse le conportement par défaut du SIGINT. Le 'plop' que j'utilisais était en fait un programme en C qui faisait:
- rétablissement du comportement souhaité sur récéption des signaux (par défaut à SIG_IGN avec la busybox que j'avais)
- exec de la commande.
Les masques de signaux étant hérités, ça le fait bien. Donc plop, ce serait plutôt un truc du genre:
#include <signal.h>
#include <unistd.h>
int main (int argc, char *argv[])
{
++argv;
if (*argv) {
signal (SIGINT, SIG_DFL);
execvp (*argv, argv);
}
return 0;
}
Pb de cette méthode: il te faut un cross compilo pour compiler ces quelques lignes de C. Et puis ensuite une fois loggué, tu fais tout de suite un 'plop sh' et ça roule pour toute la suite (je viens de tester).
Pour ce qui est du fichier inittab, je n'avais rien fait et google te sera donc sans doute d'une meilleure aide que moi.
# busybox
Posté par left . En réponse au message Ctrl-c ne fonctionne pas. Évalué à 2.
c'est sans doute du à un pb de busybox. beaucoup de versions de busybox ont un masque de signal qui par défaut ignore le SIGINT. Si c'est bien ça, alors il faut utiliser un script de lancement de ton programme qui intercepte ton signal.
De mémoire, j'utilisais quelque chose comme ça:
------- 8< -----------------
#!/bin/sh
cleanup ()
{
echo "interrupted (SIGINT)">&2
exit -1
}
trap cleanup SIGINT
exec "$@"
------- 8< -----------------
Mettons que tu appelles ce script 'plop' et qu'il soit évidemment dans ton PATH, alors au lieu de faire
> tail -f /var/log/messages.log
tu fais
> plop tail -f /var/log/messages.log
le C^c est intercepté par 'plop' et l'interruption du programme aurra bien lieu.
[^] # Re: C'est bon le lossless, mangez-en
Posté par left . En réponse au message k3b et flac. Évalué à 1.
Ya un exemple dans la page de man ;) M'enfin de mémoire:
> cdrecord dev=/dev/cdrom -v -audio -pad *.wav
Bon, si ton graveur est pas en /dev/cdrom , évidemment tu changes ça, hein ;)
# csh
Posté par left . En réponse au message Zsh - Fonctionnalité ou Bug ?. Évalué à 2.
Ce n'est ni un bug ni une feature, c'est comme ça.
[^] # Re: Spam sur DLFP
Posté par left . En réponse au journal Bientôt dans vos BAL: du spam légal !. Évalué à 4.
[^] # man taskset [was: Re: Automatique]
Posté par left . En réponse au message Utiliser le 2eme proc du Core2duo/MT. Évalué à 1.
[^] # Re: support g729 et g723.1
Posté par left . En réponse au journal ekiga et le futur support h263/h264. Évalué à 2.
# man dup2
Posté par left . En réponse au message Redirection sortie standard. Évalué à 2.
# fichier
Posté par left . En réponse au message Aide pour terminer mon script.... Évalué à 2.
# CPU affinity
Posté par left . En réponse au message Gestion d'un biprocesseur ?. Évalué à 1.
# Ordres de grandeurs
Posté par left . En réponse au journal PowerTOP : Un outil pour réduire la consommation d'énergie sous GNU/Linux. Évalué à 5.
(...)
- Matthew Garrett has provided a patch to the apple macbook touchpad driver to stop it from doing hundreds of wakeups per second.
Un driver qui réveille le processeur des centaines de fois par secondes, je comprends bien que c'est mal. Mais je m'étonne qu'1 vérification toutes les 5 secondes soit à ce point consommatrice d'energie ! Dommage que je n'ai pas de portable pour constater par moi même.
Quoi qu'il en soit, ce logiciel est une très bonne idée ;)
# Contributions GPL
Posté par left . En réponse à la dépêche Google apporte des améliorations à MySQL. Évalué à 9.
[^] # Re: ou nanosleep
Posté par left . En réponse au message equivalent de sleep. Évalué à 3.
struct timeval tv;
tv.tv_sec = millisec / 1000;
tv.tv_usec = 1000 * (millisec % 1000);
select (0, NULL, NULL, NULL, &tv);
[^] # Re: 42k¤ la bête, et elle consomme combien au 100 ?
Posté par left . En réponse au journal French Voting Machines a "Catastrophe". Évalué à 2.
[^] # Re: "Ségolène remue nos eaux dormantes"
Posté par left . En réponse au journal Sarkozy Vs Royal : et vous ?. Évalué à 4.
[^] # Re: 2000! ?
Posté par left . En réponse au message calcule de factoriel d un grand entier. Évalué à 2.
[^] # Re: 2000! ?
Posté par left . En réponse au message calcule de factoriel d un grand entier. Évalué à 1.
* (defun factorial (n &optional (mul 1))
(if (= 1 n)
mul
(factorial (- n 1) (* n mul))))
FACTORIAL
* (time (factorial 20000))
Evaluation took:
0.626 seconds of real time
0.54 seconds of user run time
0.09 seconds of system run time
[Run times include 0.01 seconds GC run time.]
0 calls to %EVAL
24 page faults and
339,269,944 bytes consed.
18192063202303451348276417568664587660716099014787526489180622186345694610385575
34453836095827758724739177502384189912041671245383926576865723475464524930275709
20462535787578952590049182341454271803607039252108504728338372929686158005240463
88411995266223797910662233414633934743959256297874821131634186476654555866604361
84087223951946276615548561632208981651545091872218436294406051877306392783358445
93118641714839826008040014692810589564373869276710537476318609033651178086859951
25198436173849182218698580190781963391287596652958411577778134914894099392305781
03105905988720691493952696699343574983659137962578903705716902337854828253406978
49291653116670402022340897472337802572802178518839151079731029701314373295620633
71417282561294488192122851117077574120489422432236852636267075141213052823158203
21283299281396342128857577713702823248976788453610611086876406235690279656009538
36483565179093308433740384677999949276533963165473628893519966022518636416450183
03007106354520541983015511296983822286516790525219475783261744988189991030782309
00998230255192521668153855237082223393396256518927523897560451367991707122492644
12562165697775493501518513622342453623608204970826728220969402911532412270029590
66875212463045925980163507981501571186439398266621118515670757497601805751503783
22257651547386370349935021174326742470282351069392212973957360132570647293569359
76699620837993767370426953522607588098364060570326607822498213847957292084971651
28932094450406900648012764259177524589271010339244463154507714866855326423039137
88919310844577084283964175498228765263621608440412853633906910171930463610385645
82074490923970324036637624063762183805588866811664139454910430877910456443269964
89463887022356807073654410023472744624833351801961812807240899606712178045043486
83038846159078256259880584813344270221148603590042452309662537212614046244138953
51922957386989307452538344689391231506379793857149947776910781741930446955471263
47473061484723850392976296127175488065515638295506309309466756844018146184413216
46683269427721993158279615035881182670318979008283335789144271032083423544703635
46613879469765135031440268528850842039701983428442230527227896941826307706153399
63226637293988036827069955095202173220010255548924953583179968480863400645960835
69840851277518587523966062477539941480837360544238167856816863891124880147978903
14870888143989500107358645288892422457030796229869995973276054536144185337686186
53114729433346327004974595465245306742270109138851469929114765114693281163228442
77291429242580226789688280447607592763850985911959762352034962843633682628761799
07209687435071076550134479695018660527847526019977368463726031821998431396450409
81972367662545615769633522251131138606865820419689433584384458171476994813832233
88403108694275803764969856335026035998141763771955021534739448155221081816843367
87811269039441768436493455423702438346793286899428807073950195959885948942266476
83198677942442001463198210812740952979640735835577749087638299674444725092875112
66025989760063372754036414647780905929771518145840711438775868344972951118873043
75513422901444094230592979413294324705918365538386095700597693155295500991061714
62709003081312929619877066287375392922945131647262727822616494674344864691641844
38193102743685176271303080345578147577244822679153608466185148549403170961726229
94969315541987036749662294476481803854751317734430883928117931369715565258505698
38709543269551502725194317028591416487092731198986274622205122261224293085878582
49872807205877995641040609646207689348811486627927797149208946180865427363397867
06532267988760342251889152775577385733754682477588043352521989627740500672219725
11347080904402074765906575377223778550257495811257184807922799499908276993980315
16660523819630141728849936307718563001020925185801549447529442386753823216643573
09590761305514037868412173246085110577645317191091517914687908801474389290155753
12000269430107803162771210080432686778231770407924936953171789759866094466420732
78632102387785193987468472023053569759865392650586235399377255429013141572538378
47786007816772439407577257488419867556915522136430472122105026597530310422416547
75790391791735710961210083982701456691626268756164733586950801833468836222041411
03292978624716922383737357829571225194683967490073341622886685418101459192339544
21173584017298375771806488900715071933172046664079404304809097494396880364905947
49686966319350681574368278608382105461238039215063086233614856304693019454876298
99739863616549219334994650673550401330151345075665824799994090331936161424877736
90504347827771776396149741897620223405761664339559859485947364456495398577162062
08755458111978013323992444064890636671721329509238748234699670171525787005479938
19001041019927889934645252696959839498892202157013705439003350869012841853660334
91026351268107125796701046072200046501235952094986728078852363753836090841932821
00102576050092323003142095774819609922452028678340860287949528688945834003298197
83860250441186417541301552881660008680164170950654872791036638446267146773864094
45152696633278125014107658344468649943387855801850816060465986407587077690987102
12293292635387398767181393700163258473981530545610484847636620826542560012001910
82613314126038405677762180256725913236219133377507849413721136794741341001534448
18330999801871521729788119284191234374867041605824100787067882952848208269112212
13307126036858214514802217168953189139162020706824190669839000930730861056853227
52234759208892423037447915366738976625544089991660964802472361299583287556901526
92534872148928593147175359062443582333302253733326796348443413454167398927529104
60464247824560201870619587173597102131386442042559294849532647898361256565887397
58462829812398837202656287595313781131879979400748699779848035035756812980550952
39726749790409152482845355558976102388778003213923108849763820876445455443373965
36051282778247596937191310981244015559348397857873551910332602659432490952826888
27636768908819228932665848253354873717500605878412941188537735312514532963900011
84022115226304933199036287716636465303799159535286160565977472150348298002768975
93262291138489507049345208584464254571934549121453637312667218304244333077420756
34652721403711162820396238086355160999355618297521289683553771098957696054216889
23132693439891022639924178551331086039205764743170194758623635412081658471349194
24209495645071820242280720277817305073029301172883267388349230520624263775078524
20063728820824909125128152264056399383638182576043502233606516831151065668154643
89615773256169980141633412500789403461113244553878392118631053863805687995195737
02306797304546572298466992300403756095879614407969612869509598603658802496227807
05715936042983947277962221961292142180211474695218886969112740759327095542805933
34067436702363071481918672409217424415792975452515928424396697184364284578395326
24499895777631555327117689573176311557982927580811153855744937550744868062921677
78180758892355433772883494432652681241638095932653545969272292715884721877223094
01262229059445058337062869590133293763186798652606561682114049643153514469940337
04260217576068295467782164527997025420550389885438390050704355299918128583316777
44861985963978407500500276635454918291912895782573218669479896619185731053284124
08338655175632256455893526203574957491746754401416927936325464189161232106283976
37304390484543379534906030900340124357822749120130763322690117190255859957080492
45709585180161207568839191808590558566008812626393997961967970510567941594854303
99630638865287635753463374349118487235586553675912081898129145971017720650824801
03580677861986175935934529660451294594609429126004504610431478535067880471634256
73589425978580875454449321824404839840943289606418291749851556631737784089646786
57119622479897493834363341989049369958095761148276839233326671554435053007187041
19928770056032077230332647371158432488316223672119561339493502655771996773775276
56613297632470633133312913134193330584870460779466844582653273225601999387218698
58410941697994372310251926227447377566936632097134011883323261566060456129426373
92229916268845028323991516695818803132499138321916335773284756431066231366269497
55611211959024334425260500745987773662887056055248910295832298881355080656168511
48872951533814449092124809125802565967809884998330558728062520853388751110573719
64382669564873599168709326565682982002407968190971292794898297597554420289920722
47367086960165545726936301033082069952991123770942764449599461467977126904030266
36008297972071222398407766725968828023286677164265096932632799414106641058084312
89559646809324340372555162480499228456324076453597580125647625874676874350392054
82953017271428750529494627304690447968276109715459285231847646297767936509038838
13306085830036612893807690566956297817227508771310812677490330959138497908241093
76792843334454254337864615708061520428538515972831298722310392386495721293773144
46606754207604684111732941269804621441022445075290528773881602657022005012573065
88969716620506066610380852845529877314713433205649765971919590487530128868758061
27943076901363247156765434387763999095760761183811580771410184345533568036103651
31382470643795659893897982233054027973252857735150989715272693398055467556132869
82138915466610952558590535108802095658899612784706103973250496783137299444164617
98621939579237539789005093485811962751587171345745632993297473494881402108833037
61302233712298954266177681915059255397499263310084978202005677122285166547650260
71406256529954518190458339562333236001066235544928504722033991923792900548330026
43288527933149657672232175318088823568585473604544282558230074865790469735453682
37064879219425113808647514279310279001951226988293288319415039304086811898197145
88637620162070745820182899547920213233595839335694904354601362735398473525081697
13112373915695589960504795275491334146069617627729639969120880955036515184312092
21134227466284098948321651447145834498187675351721523458075560493822946667882516
55437046839865701557787291883117634347201980254936114034386506001433877485425143
83326349544493530920303757504422051202626395828667427010262646663741392259958870
92349954381526496144480115009338457333258435908351446960696523361477115361684418
69075192522333948138007065323365433704714241161318982341256741147493123228488866
69595197923277778274657172712902610893929509021702433364908027437524652822225570
28216111861024868004740918439682785177466490897096908009219316889447161503317288
17556373035142122910344332234117310882676369611948804156631578855483208620712232
91173288903714063997096542725223674393091431526094247239499482690992880793051414
29593086868989129247976753478368656712660640830751342388642404253958629721071655
85113812911476749725440093331072563524382418740637977275092876024772438322215570
95586735625004054640097026300005171522549946531139615754788672221271384654255172
70855566122965079642563333511102205134571474841429860123073286871253377684688879
25107436284486993005355905608233455407835984258499576523610809709279934072718775
16345699605835658219181633408677767113455068351476292396398761374048349634342583
09510041886085841807031376709869649018681347841349948459384004081975340452938356
29396520666118229511273425483884305964196784754491615422085860241981103552223517
89045668748640104731727509029904830649323688655116521295538868988906207456831369
67786211786929896087904759494452048542893191779025975483129219877390756875075825
21936291007329557013995401555823937871199104721858677394281810565915845974709295
85941654014011832908468106741850896140369477156705067432691280486561310093678227
86743363878482850788103588540763157041693164996494387026172362408510762693867393
09323741092404388042973545697934154886419449167632091615778189268067252557601212
99083664715983041369310955927482181747490637888081601732495734403961429275000825
52708582931718917413334408048955602523617434320432634268145906161606642874225531
96603750280615952953021548022024563411599478769290495668120855219388084049414171
85031488520090439706202263679090853789401960796762089688035714536601801863277790
30792340279542341804234216002405741380905463966124975047359421490539286788689754
45759869861805495034873559164477650433217109362308133780325952122073069202450935
43951451146165039294137650077080796866288458727247654378829047194725977721023976
61435355265433072392597803274392284518550132545220957223358869428156272346664111
28783427415549310675142705046493994875853463334029442776399749914058339450600056
07173034296286680310541748711532118054051601377202640553446322392822288700441018
32520133431037002350794039779908241126875877169249588958770297503590201599890509
16136903293930239738253250792662559242580946455612612361616554643527008636001188
87496612049311923581226034544827365298426522926663917875629196128118143530066244
19912010845910384398315643033659569502958486237531484817555418929185536066953317
11631399051491505259740877991579485471238910097654340010116523992916530357805927
06471482505639278610984309756747671690785389689436502420441651632518236752819598
24057290931375968421595609465322411264821422305095198115563670427577394179259873
43287533169091730819434736062183667220755119253640222626229155638096356545169413
16279475952542812855073745939711647748338133972836638121641265152105683938414511
37852100664963803169144952643782258579220615559636777004148325989351178969093451
55863840238097684590705298319614380562470296230253888741269989342840918669926155
34552124593537783208253064501159439075085486786571370423971420242778890074319261
92937997501975331176382929871139758333309361505400051062297127185725989396791343
19124081862783702817726873482575234763495748090155939702444974591984168851599687
22160839649215864351237877984594835624509540687457504285786177432256062575146398
04830820895821681245214221367591084257892685768860608439928771770732283473700297
49400246772316879824529521033213973940604293415499375478115542166516815536425300
30326332248982440237081164650027542662144245521842312869207642998127212129787647
66200038037861537682633562561393952546035626643119459173456032232531000960425539
64274260179746982140657054241568523321934992573511970655163276118957609556747319
12497394721494234698119387498426029118992169404244060908788704477218421532614357
70637160371382082860157511645244303970638650956793450867158332461591631124290307
20514672121812925985839194108113511286931798907131284820551473644237387797625591
67826747499676349488248248821703472803330710358221621387685833519535522001670276
27154326714484530368330355923262944067725691045533238166478508174650459248879225
77476603723871188620412198260207961550849413981570735333277040872933029538648156
17212287791706193879434416040803629675378075792059725969308390819192712741963292
88236262024434362665043200867209345263546478008722342250003673588666588176177214
68432154261653316982353473445299207340977245563607976106047674449804815213826928
19244200036592566412672831904430547316674895048732243227809251621317343458363914
45932372005060924173080094554731482826078271184248594070279690645499623997455977
40904418318213426024467174385723413260087159008136333620331546242523747369153592
83300335702779040316843799207102691044109294832770006683339093148327367521216705
20388848751224583470367254117829787778024703644550903560468514668787955255636081
48123950953158925324850798347068110030989933093003751400019315932827369429105462
74449221207227480016176195766685417012472746072030115081058222790225818771276075
82733156388164183327173142198331685126722744851523626456305255548222884296349830
42954169461414589750142805619055311618336886203285143874009267107454767354618401
59100779705171456465161613213111647656678544871089511686266339395950270747135729
82242412704106018342439568090295518079385232402382691722726847387962189965517280
11049483603352820679779408253097477815466742036646228648344284470586208296463072
39538556089054907392600724168859648600426858901774064969712790862884853106736533
10832724610584402122246093033699789595993464550287723208502362437653610318119779
92096045840777404487153575334134096235248202388117595403942885990792975772898742
08406160437608803388844874356196043890658542696690496814983354391990687414618389
12266379165112378346474755624962043750595393302652623852970674556413876524986514
49942521495249267465258633492760628144601927426040175380943832998197639565079631
06879130193539157418640873993372719868377609814211281337639618025890320877039582
08181984664556497251185263005797456266041289034518439235525169659797207215573123
04847017469134675537850789705322085775515857586568963053473067476562320301746590
21167635092263623504602800932946760790043319352988753710489044921086720195451210
12450404546740373837682515058991177183240080739066304823786732619326709360309251
34479697474010558258119547844843418455890292225040111876777159036810827652354775
92151282207233038643089631168105763478169384915281664145781634574146552778921611
27961229250482312903681738768733415243425153882530779864420039050299028332300768
02483520981982578968343115864825346646624875722560648500457421395259708439730557
26768755313310443711624972689709477094307263143702271940927215590807593365313698
09690818566097975307802534321637866264936443060234779812783064817770629587540502
97369950714187965571548718070044506555113722191961217615638966998040667342289240
46037260154301970286205324707387000333372387823935377419942937197358616725082028
85427825668684150329217690502541250084881044540216469715594552282374384316548796
49904943614564912743905929783081049562752530886558102513423656327290037456405889
35226782588023477912460952936033433896406887698792312219646341087301842156145005
27765054992545447275689697903378235373227459484979192109009764484179966660255116
70228626377556670972413352016535576874048575439824520984452232730306528634434120
67367218884464068314158858574575662063649471018750871894961363533257091210053628
29621814464015088700928789402512896076093120731052031633745559568132507109999365
39424489058462627368488312243937467801448162688650624725068014608678530557604968
95058401331638967302332427533880079536443406558885456572089518753543893099432953
73069372122576115333224044732363662295436626526554870290042039093568312962506334
09221218918289059837823981321756845684037671062115818176208505103990331145678818
35382622401852541767408671851562691613028589227713314493978426948242716368917843
26607250704789414696637603920279126888527253106127495601986812450138989440637137
79300815802922680276555349545661653654476036713090743919008966096946989538649118
32257374002679184282033659338651338744730387884344720881215823761816021120029461
44006168832727951064014589051588908821016339956176133065914815650868660362991364
81153393460149291957557314680313158417063658343529355115419492748445830551657330
65506196502395708800396078487243818782709092587583515093454840236103079281538977
73075445332426043650814697017701880853533956202199602089777934746627724664841516
71646237598754215426682348262684788950148573092088089490285289348924881385989302
36601759438039276809016552411009756135461934715226082504194984387896898523634831
80906129328196123071841755542390739830186524571471540585317491178305182769546017
78755964605770410767334281792195800984548104940803652645224015502599417820411898
06902113518690280324348872173409213122282230914816859730697912141739111862810583
72730871899855387413549895030243081503422817649903234007156710963748396138601546
83674809018330742843326056896631204932300969411692586838089763868418704947059225
57136323729321423427984662811499745754885456084082023520108448505932307908321594
35238151508531503418360661764048477197890147783079834963995443623237330400655463
70953012431758260849970715642962568014085054259531599807194336946801609955835441
32735318488215079735603220771639541841891662296301167147568472112975805613728043
01232032412069354113769278995371530097285276923420000533976440343452694953400356
72619407891101969059406727469585594381288204849263731410598112684547976242996675
51029663592075267861378914106202976725054284393533501207097799763987250936219468
44279039998296566199104512609974566277580054805345966083812445589396441245247656
63496897732121039597946300774317027723725427668097292390229163782458279539498148
42153147189928981946122203610765121693123109487393050831140411297155374724904372
34784153815913296024584389695977448187738717801344639642667263340252623606195350
22711285531125681597313955952238938055108092913043354690037261968243204787677943
14815878328766337695946548068686945484643181141269058907364848115502116848382215
01054635922355068308169187174234482642406509696808753466679360407730173047398616
75235497628749499099424350838146122448356865874480710306277725072562354781189919
47911104277199973412431581104123920449808668795641468985014151086828843282046164
80109493785222827477664080952191381146145019383828245725818878064002361755488748
79145911870315499235098557779285232535032351226765808572391639975557700403244892
95868178226899874786128369843256939415749612464845793601207315554778626295501295
78129172524957061972135097342561480250022218566695085387472808920892476586666784
73749781339766459632337801073988978232479746489433549182523207443319449549048631
22464629613262461812665379848072635891403511436654679362409447862008999099326308
54856064401400361833362475023325968111889823550632106262686311041397455287064842
18365490308146119453906645356186036876672155433357136042247672980170564939402188
86964183578094765397021550394658117281676301616938596463017844019631434751746368
63179753330750520439784195945017095734263625180726063703877146649986642241631247
37694168583454447870673336139086313024691324318784610341473058797986614487389006
22264561999414306973358890614924497883452624203544183001614399576385767668147045
31247615596423295502265967342426359284008241399931539764999588337201225365827456
62954330176405672273056789011254661437661882783761851763306099435777682685556818
39537347013264475100814010537744241989035813604443782318611841583796253677230073
46129840397106470803100786466604561053979300860924812248353475749958057550807447
68335214647371038154298743543204232000677547058351924912980275960427939714986860
82072723548625832132838149425133544053722100143409663300385372889325893061860720
81792543883366747368347611334360078965309922465480630932860702862249665287558863
18977735520661453157261415582641640264256129927561085867187050717572825643675038
97931600196103355030503670380375554384632898521964455387172466491953389573886477
32646056977795997574255507003812579259409036970786297818421930322176115498523325
59873219572999883614552374243408669056392909739791916082619260887968777951611062
79627882341733954764165883775997222476698099539287620179996427182070264555815695
84239125585759554046250477501414700862855706079265410759063305348714275329053176
27513437735122509282071113245760098601028844113829296555645837096881261719762238
02132272130029132978776590670432439362987106360458093398148829090233481734312125
59439645429589520528938815124451750813875656035577971785963872813781798772605541
10142227986583686630771657762703846131337558553619664920944525659173077857400243
35175576798295088861782034363949030016190164536923030981025990496298995576436300
82517636790355029550501875414870856121306449291635391209715511457976373471523473
32457286962449543175998254046019601166737235008363132845560212177261559716208236
07326117259007506477846329918105336198498177362702466651883591685234708979302726
19357232371265954208660222015619155404734719764715443158281652301096201750705779
84685736392317285395696103288989782776958494391482019821336421657763313621026715
86548243159267929820701499318033790740563110006102753789702526831665387367548078
32515352338961643359471091368476040575778313460637019702977087153465405441995156
48134265656357085333977947533664537884822203475616410783096816136640576219736406
53782881213720978486406849767313424086340818438156052071407837525911896373122678
69251747860432062131716637969322703106717569262666119968403235328747049549503025
49202912176219314390714324002040442007440161352145781758936509886633685091217296
67795446350261174973024257543222779555876310205323562115435908571227350656687402
32083803551568931297172588110167685791251202904602673250882153015399915095357423
97382758304632437274463621991747143150516890711363831402365837281953372173256325
32398939333222078004348732774471689805236741228301950712015914360774214066416378
91865996420902520652359405557903000175155828271292391240333181712560352208660801
54475412632452326886947331777371403154999184911961556959537019823932259519947710
69684132686940605381854949017849376055693613087124120786460172765065781340043993
91356473650228053280371576727036875705204506817958220098713503630684612955275532
49969264336372936775137348456639410435803785752655366721283025942829537308855622
06677561029236194047002955687765392703874057282253387060333010539314494061437682
19036666119492000822247878034959973406762961666655732280198001646920999860833367
71720606222090699061342598043890733653587303539193797645074515454754800978718318
90143050646113181018217523716995000672796028243907377116576622097917936319041912
28848298252047371486564089981319657706154974528625332630303337065523234313689529
17841917457612168514200413365177564384482510256076435130914419499978935043199046
93817654284305058545960343641308638358257446638911284459625131068581874981262473
24927244207986544738761948366483235049912641295766261574494137891004356089858016
33563024917445660433619429445528686283009340941044302473886779629898605589488007
03462900286985751928580671721097435900833034722750460456456716743425688323912503
89022826412856235952262705081772689897141348994941528495441503879750673801201533
54334794134312704996392590959896755502049602091443661836008413831929599325977738
61569045266672439858695411251133858091222715514637763098718247649292804694851086
97619982618494012891219484720367500131792273401981523487205512314524482821043586
54564288101614840074739354329928195028684343549782427546727268542620014879178541
13789656041497098426844694877055686812958856087356521225560379672479680402145637
47066775952072843408865735234008728565970832131769821638488291960746312039072028
61773411663334631992213561310290466928211639171375032652830166841819959857121493
79036103151540101761100373777786402173361198492527050370045189044504729448999788
63606373333182020958698232652966096571590277105277405805053930943505321330301195
21263457344551965451749222780367268575400517169271940258672622374094556479523939
88107689992458203177876722693632125516737884773216086761947688901975151513326276
84923899711278466939399126677223544400747238762766152534872199540551962067278717
03453682618556048765523641846090682637439590234933650776765801921177218205089732
57748295609344717656734966237889293721282442143540437628009357382245418411480985
80689375303166714215949809916015115444842091282691818163407602336427681270646941
11544326971658344775063041627691376145531816004896004803603608385544843896655254
12816035273728479802444055063436463550678955895202440018949410851498739481681972
05992629982355200302115148081353110293922193145711809519265644486711960058989025
56829429843109951308735845620075789486239524032928040165454471386587029810175325
34773650768459447352583390936463124932409017092690539229615816410803652278913560
00098533003112168704162832093364727873519361057960447725005049071782924027336875
38924966816102759306448270773752112117499470961997832838827893827291144414155473
36183415531921218212476543487572031761779309324962374423976906239663363763780396
85032962164887057540053487440921187071074965177685471001210787311939944173964104
75759043851267938670425468563196336946536342687978667747039285511078634316882048
54066409588204467662619539798162630778879848469817674981974559000796426845845130
95030917346545227016275586654356651257848744094458433008456496922363226976635127
93449581343808553385454008576392725957295365852276098634567723266515140190071809
13765961817322701606256778331947534404311477151320516242251701901020126626512528
00794374962907147734886081952204596782935460927396751405133542407051260583569573
33314912940556793129017953417739236380444565026661816040220569533389097467847571
72085570095413104765435231183569675799483345848472616130818758532066518531311437
84340027435070841156806754837715502732530390398409444856375555845590564417949622
21522542040756585985079664796689763019020519432903184063701212626054566449983596
46861721427731115828802226908958702005166115438456095790060705339901178133839097
66130769370184153929461401088465764082094069991805314256845642699867164955116655
17264760237614210881839021577327848908976480427621865955633167307499518838962970
42644497203217677866470940416044416733773054813747620435138820135654317353700547
92795836039331292929773502521011292207887700416176408409292759613583390261428382
00035275438039432696198348380682815204772527733965583864900945425916681549801339
94770243972891099666578670773375418801791948036802576586897919753183042112327830
67029385827559938615314098824230513149370702769327109251008513134706330875468857
85616627587750181810661533625679331586794473729999615045204094294211203716719951
89611379383939113122124957633314709581025620696214671482763063518503017793109571
43542868879103919489510647688907386550146270501422207664076257506896317219309105
14517062099268466628663123639803446617178843362931359934299463062755292802810352
11363603094126302222825219933210944780189997575795605143895027494813727479249376
21400726874843160860704520826106972585688365157956850436088636565494834537404999
25265982870746010498386267717457587156827132199849232378202273424496265886157481
86922832545376846655688489725101508873712374906526839777120418549944907720895933
57119141698342279832001920990421125896488093959016125156611022421505112251203473
77450673949083878349475326135421009380634631712083778279569592786321341765435844
04705890697176592965788040287818185181791764161131301584411482388348360183837055
22970125937320100426203246048741834446403847101972574923605710527905890582273440
52983657448332263862499125651317412481235207497015036534969664848952048326443233
43170063877539950853779883848563520074002230677628324032206575870682216735289974
22915330473150856951829482520644009828780646793098065988872362631791966812197707
48671689320858396089007088019145251700085200351450759708361058867887300472756070
85721849524685806286166433518942590856920382346564008520608840776140446105730502
82332785017150626493099807188037019823964059016751216149098662408019317523108074
19482070554769378790204942643044681349043916956578650613693528291875672506922394
74978032275543580783114186209509679389244359874693341628223696026758744451698193
07828528004591363081420055215705060861327117174341245655920090647702253048877874
18631000989388700699132188622821266404597828980690704387761953505254030244918876
85450967792431639441634833554639769298761304131321943467570131466409436144356792
78442743296709121155319601151639201774194888117691551778276127269042678782128724
97615908324353067244726326083567570643966214140807362884606253822559551339607074
13790682295985218721807959450513615812547918002134690474687808999972558025580649
52562297105416095065700139593199611692944402192845229782838289460169818926705449
66150283617043902168802765609790141059971055623329373064886763218445205943143346
42605689605884058973816752975460488747041874796591888162390176593327006340047990
42116011643186902821210814666450711104340194674154628841156346950083155863362232
80989036179382400248609266622939180069765699515090235134628778880311853549510717
84728445004415331142679671243745493928626356134010210334501098153845732713423869
18176392105156108894751929058163547939602878054972825945887646617580037900927609
08578119386113249606407321847907849657855354175748076276236528234327705529684608
46585856007794414869267109953095894465040740395772158163544357612301653927987003
68364826950202914177285126454698832426247034211903429667753280068181036603125139
62348523574449030755135494482269429128130329640048837683927881584019804928142763
83240668156387694413856251409892859646637955979881037195217786391693372806895820
86707199628374058347944162696546007679264630523050817581130657456609838016563269
02502752916183973010972997855035290982722251877762206489333317534438251290410579
12256382038058109144038003632311623475152776401005344253620058748851985632746355
75000853287463576724527662658583346209088011702864578363416630279875527188005836
86668732385790106866319326563834691740358589547368272454373616161873961131014429
24755535740073395453806960549603444247996230151944483269794314928001899457275778
36323250304517427093247810203690792417397508826914439844930742787529428130431870
06592345827843599718902798314036909476791881106384418004352119257149845551447788
88591546898964499773549488609663396205583860926969665794067245102832166393195607
65618762029137818126885905764577533745950131952840139117079525519373953747014962
08299417149161380402903415153161081048213047942844408785821147146682354712222435
72323949374976330530484864535853838928936370007186623495329108811808494078929592
45445476418597637683545587607044071016493579281812796131500594572874179327404170
46454146301245728537935128489472773237764197878093329946150625103474013269013123
78634464679413590132396398978011275869629807711211117805145659130795302344099795
31168810949881476072495798251974115556517113900707330130015768963886427819649340
15579380868369951035821651699052682334231272541933152199777356313860465169481162
39784474208516648827299036906541586231951105047695344742485343240565791449909300
51775414629878895284518745356784135487122744260303829309281983031795363482733656
34229066737358296751635696233472937379141184264772929301136292752349865250063843
84521656124621871598214377487146527845703680848104673017058388398396603358424023
54058562049732229981633562735617745036901810088133819917356683793778921692114721
09822308331987500374448918289068556834120774843885996370384481286652989908397474
57922767579295069317441609302698199766032209738419974466204466546618512876876379
07543865518114803778778210559355074991488338580527173186572373862683892256045587
25523221912262343229629821685746352449968735853505584122306074151471257104498799
41280999050529805395601119101319422117937933391102610481582469727705309520435568
58051533780913161052971869784655033735381036776116362314921416090971143558606615
97262362135392645849861566974927164672963017362558590685422672070681275522674370
75335774606469222265977780975183384226320516766511055142306916298153076393028104
91714321476800534128983316743819819753213297962167907314041770048289533399114279
16354515790389580687836591645550687650781413186396612870534313898647031005663584
31720981245573472826684578103792508776363028743225156858889843491177655502353142
10754499679326584424920522288416142724881612256587986201861253621169535544017190
03751319807095690717038896917234058863085175263140156039005085853749029386752071
55618511576689809185340811764801215275813706686480942943988411275820512804469278
67663769600828748265866729828113875301645026120178384462024069765465502141546635
33837737882667723276591890627098310240522139530741405703532624766972596521778457
72677221737072631112912906532015542094129506312207884886439716330614960070796133
66457739273148394243429105421827288790848582820618366366255289916795287770635979
21506192666689267839373264720719790794906144465143660562220052050773273623952292
21898883138121667632835060131798071341278323681879815321144765585322989131059389
74843140833524761135855204722886237367505260834630093574152688318207128307638364
94673174839109488998230022641302447028060176587699697056677433935718241696454049
88673504514324500494067461743662232293509008953496775486631805022489060194576665
19360781664935730934331134730564944272687436172099548574811506135258744303710701
52733673164151910069286721334966023396836612305416053954536092323760781562170875
86976044078806959047790057228953748712032089773988834665982098503552883139049755
70904207587426129763737880380154319409049105830997103317602009066684795741478556
41760183824595929883618026051576319135344633389206734138942818104344203220348925
51203436086252277458022375841723591212585826603624565282032604500448252208723641
05281498081136022749622456545630479433453059877472990478481882673216837160004784
86809920293496369597190948856109981568051867470009762419752518243686752611939716
00106722037065263924740599531677530594401873240438065603428448483055565366691012
90316791134615688797199095501040094180542515558179118472038622063436141259361175
62293948247493550121270250011971838949433232245168843836342529537832698918143795
41154001035512703627179291854484432074343656959253388333355197474495939325935976
40301940976836220445277358413926178788072125931714485331614640023373928705252351
21441317290155505433013340925479440884914485104771826634245852717757369522433468
45617373064380062821207498852417223335937143342691313512527215897522734738062235
91510969626689457916108749024187227100012116162683798051385823175322101561575607
89319898558303458967891837371080708208888456622692071286757027544698923521005518
34322156513540358796002927410860395287258765284746487945127043786366538276082527
34074046120426334944035950978225046261472079496407873969269084748800357700782067
22762436448527272956168495124827119662371856847497655521501675595153920228229134
58526241070599976222908087042467863351143927792613602566414307349701689135194010
55797788274197221823665620583034124699519183944447974100088682274254098029313623
27037544988287406936434942944713808957826679919673562007671257649677491054900577
70651734277362177295884461469972738887593999316346543201860398708846397069919686
69741007838040059896734873336160104205607503329839300743460349831819957002240058
53605737707281048103951854843831471044518312708193845662394489879054211322893966
98903284099596721353719425392052244081246294853659895465408919816269475073155840
25674232608847637874378403127392004666690529590612935753794935286579979272824603
00644679009004888906326126708498737332252619433676004974976444800461890089018112
92177314761886040723042980650258719688232295869751371282648189635989125451516101
12218526026186568811289870259733765143967723220634481834989010661401299633496636
19517801748028762919506787581139806059869899808971401426705042967819754806065343
68126911206961136198758718164072018340066786304049696362233774205187837294372533
29540095879818022319594650269745128691052875544019770589831429392558755868399482
04709990966231832355527261146206409604973761350861453252629607679918299396030772
40544624153051234679803169990458811105746745945336347810076660212231320158762466
05488469225994355401097444421171800034435413318963878712854537529160159147089248
37927056795849470432639637053326414978572078641139809840697110128913229367535504
47295375050409283761122664310293852778612536443871330043600091083706606553471344
69630927785706978780450638073794476017792293688003824663345194701175285312673666
68861186330054065542497578520596125284406939928016742282950195317947641832748123
62144795841537324799430784570861658224865728772439754665180957779398307841665599
96432596851920543647205335961774312110531162057357642044272195435591513195263960
11019867577298883435667775170209509021227357241416878609362083149408282882848747
24144789731306968741117376242092458497251731669925866559271117659576140966799469
74210069896410150309296917803541376451075172206114967271920568460413770435586624
02592319623260167277497094988468587888176448484914015145790107708083141188323335
17495063981858700480730686624985325474073269099943784891613397452159921919189138
10687435599440483233228953331295365592056889670979841009973079290633674088414970
93926733865576512857213900855645238583882873758457771496374935443307763309777095
09201449315727566998889115605061750181029593818375638577713984619948756800228602
83609621170707355167336834049914542221325038988567419819897189736593602711534697
37047551922715385046686705254169749769393143182509366799773556059454645269130325
52569830113721864900376985809564601122503890647893176950394444822534632888248889
25311068210059127739025935340833257291938942164055384432908882475151571220450126
19296430424522877152048216962892326856404397521559660097800402111005406165533417
75701357070858965591277331974220280354657803029237973475180666625976749497331236
97952280679725786110790224821129331788989022492459642986696712561672645524348545
91076352994281480248053658891067654052448076671165149255924816200262195988918389
87721621606851885934412917286342435215113873777094912516923223347857068096633581
89183485427309512043768366387187157466065793613981268271718017672298315477301543
76603226461040077282954364742204609701352788563039022480143017115949230478029990
54372522920171821951724464408024268829354042970850092839323497167117139809005576
43899700800174161162924595380093879014383751960096828627141047590396070801972534
28048165683791531264182853432765360349483347745089941200495037461822592526893106
88539787110351002710336019501494890123880465872739021228958178314830668007770780
50913272677757385856954724093205612655998223589490135951051595057403466522516437
60519527288166333667864939863738151841215447691299085639694246464000222306294196
09166633103596293804929221130016054579801811584586639380694782980095873269561412
21099977902588511007117013414800448845281547929506392611005659497630373731745785
49346262438269133975569230591231212528191182869603435503432344889163260853632286
63319075031036470145141150098709312084886743770882811096918618804409774557373152
70959164398524824898361906525629463831764128121446784178756246838378682542051800
46122340999170978050720144793747395204360614621190886668118420088011903622197012
75526245456313868844260555108278193541714425156417762600521615956939918875572044
18742216748808473871129879713036418955043786740062989114273495743484578675854118
34966698120894478822227362769525282835918886430597536519548483809639173068268177
38074120300510908317564483771698815971842757961685746874063894302182786775461274
00697018851776965448000038502497247261669708559953037137453538132213439376743845
59138999342009997821419793418475935574571475976537041767873667081437621534796530
37146349489748572200513340430514373865976600553212061368234644744021446540150305
91125591314843160315727471448809551270247254213938248973008483530603567605492794
28541004153179057688498307876646193609100462682106069147341719617099214350463497
66180913422302316010118639238670784435207858998637462932844867019317406571704411
96334849109965837799572674167901390368974521137279618899742238757745365110415749
75971563655482803612184852449707630188039514742370010085454228450333080532824803
94954470753278581046446209591685321261653804358280441722308976939167015041822822
52080896159132781610222364767435118120704970029161077342076433651014357470063372
44331736547576384927626211829365637276504173544756683884318421037152763291274264
56890520911472366546979149765211224096898214716382364797557978047494630943239929
47218289359951789021415936346235589688608483214711101235096690824293530016232010
90894182451591922645057521799850779341910439083683123025611019694156054969178228
18902575497493479938182783420194541728227080225282852862910472472672934279339980
23093835304686985727511845562575657063664447423945562347403245204751238292273117
44366631884494060109787264234446416100726099320863765391223346827186935354801157
96373059225991112887171822328682415311757582713783982013253896381173483488999552
99103932395518132056713623075622053490765599210100437512540897377293115250756098
35312781616662948294924093471827609043125918183847353757408963003492797332068566
29142629999623756183987239340192504789433107960246902229418579701725413097309579
23650855282019108168878605375438670846273041184637268036262133783632631708553092
06005007603403666331501046028178417438440024061059020013714032541366323368901237
34556885093088303809392295722666032169068769724069437694968746863810333313972393
68059934117739576920554269596010588708319536538667729278197890457129209267405443
03275127259491456604345024924513206115159540430996268481087049572258773820215351
02803634557306871334797806625610085201993687492738032039926067221720783979424224
25071186369284927526834686023589408865669780736053774681562713930870665073614313
46493382524432749933651757931267424082482440750611726653193754068292391684210008
23414847312903920995071934401754640047361624312056110954260732700257847115667105
79203248912126051570110583827312073959836177795899739239263404871562879925401073
51980669895958167106474067297299477379620940484515457980962069869773201591009803
86968667675758269823716433687726794610040147159396250869696057236267160418568053
27967635581494688355010593980236904206634862965727820571847074537184232509100128
64282607961700549101831709284518580569750364389387764735095302653032977026684201
27547508820533694719411433781826816738163467943489467580172349307285894028767143
67031911875705206173421766860672110821860187688375386292599278786098803286128889
72214416330747176315504854399403981042819105427930046170437196817679709043513279
00033602548780471974885045706317797778969719467960491917741517993942124209561096
57856232593849401297825653253378430903433507941416905721803964263361856511380080
12824214421341315610352446248511318177634737836354100826193024326969656000260812
75904704955016245901276054206817434947449233402125011669534644913624184678499017
79219648129276690046376388413601722231003436272779689497122883889677795043606711
90135823582321772546965212221761457680932022636139410497179105152076299350264459
63761959258325866830140352268491890063191421553327936425415473501857560157603171
30975609600157298126305014016533388789341449340399390331804692977497510119620908
98089568005242875779302338325611824774949365660123946389924667201351750936148008
95149962277606928279190975991217819819355326195079937564258061114052358733078847
86938596111065203206743022215799122294833026569170103169386136152104918532338106
44463283161683705033424731767044435773534568461901610867381668650838158979683262
52910491514273710838788670991237384164819817992328836956073712809186462341497950
51942078199710740341968747015927788134246182908429446481332774275048389174989169
76717052108954752411455822096256886447390270724877153475078583154680033121194343
09315450386527659945327980151353181614215632507891005453841496397793428125112975
54248049882114207180945933204569318935598174503793768424773147471616839309825657
23061480092100035523063368895454941357448054078814467014338355435679974208438688
57302235739290826956525332550001456192916478744502043889763934818027976336062893
93465453615059209309168645613394703321638383003762184492275440913622331224129863
05396462447369227164305939136577662346757761528168859136967326387345137371722439
36450472704639401565527211966148211935900508968120147920758632094864024834774035
08494582289441645557176176639286907259601276107139218032357285405799370427706076
60158055162952649604311232121171703999293149766002578166380611248272729646025804
00246646097000238052647107785657622508109055076217922862963327702507518372955287
24825134647938352799803599561861849290431544493932197528102862809552387190705704
19623519545222236148942794045117263729539547923838348128137162512201759448331348
02973877831478436299833590669542110560901557691657732654214307102286704316022378
30197302117018142210355955798941464777089685467331927493612073532585841373913774
45973109746699311822705416754423700207741424184623464997485237269250924633502111
99950178186578664694691436947157563309841063954415903964104219550572062665416868
02614211636917721318709540853318891262750690367803766191938568016175937352802348
57174779860509249193828926917496552776386766330883928560185087739769853013005119
35459166721073081965155093845522009920848890579458002209581934378947126280463234
40953910024791258610875691220204164529389617534575557221299560037158270424054038
78425280377084741575016730218440762029610542154522888252455887762484792055130955
27512706399966691051200967943069262452575370979254354437621858039075077665440577
71986825630886256282426520884730445432583822246570576237893260654241498689959118
13044350420519568021256595504528278617350649695241258831376357525436403727701383
06173940015403750960737109437950804535222069467875412103242866849257993413458838
49212414475079698219185984714467765986525846236583324159340914361141524029184818
28208342614364008265101834719073503597261519797024171105798457935084892396113223
00783626203476001611019339664451692635894861986057882589309203926019255360614075
40296560365995436057898641876002517340230154861574089263286704271733203335067950
37659702377458680183601697739835935533058545220856894934077934139372699695372251
52339725135505176109378073182707386387519322036887793187086285510129840562530374
45496779481168813163008740680437394470017825579634763678721183056626949408513854
85115809578231320567604364908988605586652969468551524345678021295463922976573995
83383814687355513186141729358225328383686457231707612848279442205078261650034267
73642320286658116789141113785020002127796378841900998719886558094231698897663175
12126166250344741028189919861530631634728106281556712007652823627610922986810650
84980548081277707417221317598638909784867538615699188695425191170774714190249244
78534778459674915802570287525725412409093104120088172175405386531625020339117431
92313501160987183255493872976340315514596629930680501083842655894627912240351199
42789710292329481118582908724510356884880725543549292229305846227964478789332345
89134688530849308634929651449624335532970886439291431824188911645270045678933514
65692821215821414368323911548558271962437450712285712200568719497908170041797176
09720291091487621622497488134005969279845520288277879200795173367456591487060316
01272046247174641406499200394861955122153393871947240884434971645469531030064312
24598424978891139498031408896534848632528805995059973990455538317317902395489679
22149683125442187319770051925250772521774676139170964795798983137939867599939806
61820270160468314696528472482801898059961582527462485201816114041722510781171742
36950409571441785816648563418797872158490608722653757092259146683277752032243665
81649545680381816810618080725990514378807226688364330294014141433779408334921220
47469528132519777761777797659458042868650504686751432091701555431556266350838981
33795524551807941031666067034418100790321350015919011229007458198380908593715824
44686912376768039188771834115057582099333940208624849376490011471760745003670553
25932628455297524095316104511828776283101031393269860221344363190502798416251665
60570591925439270929360160761168333856084884097917976296114351748505033749193027
42545569138398670196501473825905559684061430850312218266209838973232836871061525
85770590021503084422642146771496723739741529655616239103992228725318014965607845
91906838290905034547484487661693797935963896415815524486307108105683622287498998
44128428376617156677629048521531717718000029499710513430518015346423733897688926
53358346061264234181351907596097544004223666636412458158060802870738959724125489
47060113196342894713546110311650897617386113750649542945743702143676505653099871
24171404825554522972865027977355453998779826336435518778519039595186783666540867
96701308919528143748640133222336271457805418437142050083866905500838688476404738
41556754171688362622104531621970061485790862033815494704170388946600447556231605
61701966591222891751298517500101290313571166163965230273670680806254160739526013
47122012945399186227352216671310531071337298356076534480475909948472552344319450
57423421957072378468073202743579751074088904919297786405073819417818025534025897
30433711482060555646735890771962842678195045228646357084475173168750930053840094
53776777078700570624801701232558094696173917814874683244947063900354963142046624
96113072470055419559226226585918186535466212472535737693808159314411396036448681
45972568538828350273563288660239689263663521491247615621886864737327822869275335
31674765980181671707214368981172938185191083338058893590586726372234550845277168
10000525247043412851693250709305090596230353842518665888998441449021139409779359
61139167420111244731269358172450531763513918639699079195454410041030095078446256
91428836550318255079908353011285415385440978534865380191812141139323596006050974
78210499610862127411991143168357103472133038429044906502259316230434826905937691
48267285074753242316136633424542229179490926892484354332992269823524443450284524
39486774925748042735813929066874620072497457043156296415228565409965982014364745
30521090481265742622192928890994881752479589896458735978557438609576795792947709
73383597092986287746457732365171648620289633367978536840053416886860136956261211
24977368011080723403249058268781116866527770081282676488905179736286338854428202
85968800312195948844092781361153200184544612844951694079321473568174774090614992
24655938239724262925820738885240766110292262901843469266723483143357001953027018
79574963488330704820998378841409837891058291896269283599935657732969203342347260
06847403185559458736394091374530842871320863884497712319886191359844979774490770
62181418260233795039304451835809626367454962887741116834027997860223384953426175
36436128969800411292386228774939936921471620739070176345544917004997044665896310
92378836467089771287206563470003682117504332768532871418503442492437581116955070
62116758194741069388344944502003738350552837940379975743733842993903854858455487
97885253117593785424211824341221590787766916609715952474638390905815287522921419
22256915876545332598386747042427898975290682932922167501879349382579157199414672
19068680871166424526939378977055164515193501930745717563379208987435431262700974
11127839503106889696342396655242969206146320137968164069451865853830260065793107
67448603250587178306258593870109389977468155227217020306590974816650748885180665
39257457026256320678056154572903276244375362821541927210002486560164711883291619
85693430271836286062013381654392241038151858722809973353310069164395417564898601
07949212926248668641200738582151381990224946185818805902341326005029759291159426
19565362196865450889960622969208587069269676365320681220398987915675772164536986
11003620814424556906240227466594964840868680931338329086540033889707208495049029
96678978498553133808829090156890409570009734237151002160544659366625551748569417
98881859227189580120927251341835526574227473502268114051364112491443658522688310
86719755593652482714214118483505499328748376212666385511644440359080014368919426
57661346524056710289821555561757280410429657035540787587229620697672571665423538
90963496119117737549793729858700770927393579565969429032637141987387236480464732
06315647673731154421394008032870472340044413218976502621554832175395949075436570
60862401269944669400446595425297929381639240678749552313628480508094440726100366
95682376463470124667752204575142728739862078778340147484990349366749025273222988
76027364025385859147068476231815779965383092911234030152188527413215037114601545
32199527929649972008438407625618594081346662734000323902054010726852536705037114
00090536849619227706938092318761042135282000782865292445682415124004816262734508
44509040729415618691636305399966445953899272391938051896462664798454128798682193
49530190443653342776377778288966773644394660643839902376332950233853363148897766
81259315358017032930859980921085640576307987213218472909752724507455997448012734
10251365053720871691826251725553215051222686214104410857940685195296707155338002
45921104070552214272006377183519809163847110443027215986816896917925670956661886
30305189648845855402438889062472233962966109648935589235089605216073438173339908
85248662455778084704633407569984715668409904358632242156726789814825426293200477
77301193694692816086194815910248116463278008243717320142050594573034921521632101
74007329423209839515764167104559932091229788107258314686815773835889815480667883
34208112696446575556568888506300621043043689110863184393226133185616198190788510
80933124772615241943758793883395976756059861471470416677912174486169330055030653
42575767571009284755679815566331362372231257264578441497252141086393479153652003
22690100623210357930167647201941865812406022887254741048227393742790293763342325
37142470143664595608977302106012153058608051881273319806340093033095289654236141
11331333253607916382678377545436804942218835373267305265223030036913295791783052
13663947541824827850190669736840869302471755587603619540099256223117352939149459
78751137454698212582279368258298896720033555424643463850987544679306027937480448
55061019260017306788424048365763494970967150947117846783951729690231398026303719
68247722415538736500244445814773306122493457209238378762921223390971098202067997
09232241548815968633117796057872956935190816128383213902928109483402790159594920
08467012917147918032722915142068443979130272077475457251513434798070395671226364
92577549874101043320986743189726882597660497719706788383706065840510863987554298
45621306189963206905647764697312366928621635284882015722907868206019438190158430
01113858545687227526931416465676033151084632770378654695956057070140972335000817
81776906740391941630021853195668025631255995351665495166576330515241487137586447
85656436475567745688230847468017076836007977841531828543043508468212435430369782
03604691406907388802983526664768212141474821892738399833275599411847413156021178
41511709728331570404788904958904517374331521202383022942853039882924575079731312
84917215050418308528833706620185134462944752939574748677099975420817311542207466
88649805941125037761605060166323273480016122988551987143446103975221463764675164
97540206554123744097346864142469090535286184957274577837078875084550430709810366
58477876154322464923312889554313201339559058395484907178301808660460892363607937
38733088894852860915377768718740082142940894802682082451725166946962229261409746
98315080656028245624916234338388359408364933030961765169737933184541722729899493
14622963365050973781575207722605904986417618046110243539072685497927975800848263
77983994958766436412728524081119051211822178928642240156370997046610164528754224
05871917737560209382947364971965431182834364148280972353080801854127118275154426
57023319644405276931906857879122333034117634995301348855036009033181733343792278
90967932393358332842849643788359561274843831810410294425263166155711241906177071
49493428190116992147485577279341951454313669228801959093238318629484955614963380
10988007251552147007650215532527461331580270333212207566507437770994873548381720
18544494024406897999109858174083589335126373522781659472945693132786963671598180
96235219163795565933035596779049763609258422628912163264977667040015837555731696
06180695595644194132262406709482697588400965711349112563297719502811478314578945
96905299364192756940808796723040241641999247787698744682898918032620104900320748
46089037738319148875686786591205730979022574107490878635145250056399649966802159
39035659416055125221806368191274531123769620124156286511394221472634467562752978
44292702639307474220124872304933347439928643938310497570907876696294110239441937
44656411492156765551316917991960706892635433458651791500824944053652137832995566
11175720022634263041536522615776214639271987401372269539634045387929807648382725
57999847181629555351565773858777720671690274453164214013383073815881127524508541
07101766220027029496437331191172828954804487486734833874163808537276673968531186
41396857263806246943735021926082692563196608562124163556147028297921766023295908
82972882828283677723478816481867565237620633022066463248531954233824467972285005
27308378414937652274147887139503558556895609084253081542490604571308408659967224
88928164063556488514545730281062088612138587304687595498916366768617122442032908
55038418608582522736109473539529620090206501480866440263248996490516920992868573
95624986185611266158007718713411301907814456796606380010702726264162272617149379
98621147889461132730801315768664697392225015877338144430792992039470521162456888
53701415784759166254795728937198219703340612883784868344449163197165461393792589
73675463619633996806979695155223506223849967192468214441409191513474655531800391
74546557137568818645683730396396380600177701354201689440878238562091701548455882
40691500482340120034386533816131219631706681204570507703918615346023193796487807
11693175148003148167803884149816658215137831352453122774790162998536763922528768&
[^] # Re: précisions
Posté par left . En réponse au message Sed et résultat de commande sous bash. Évalué à 2.
Avec sed, tu n'est pas obligé d'utiliser le caractère '/'. Donc quand tu sais que tu vas manipuler des chemins, alors tu utilises autre chose.
Les trois commandes suivantes sont équivalentes:
sed -e 's/xxx/yyy/'
sed -e 's@xxx@yyy@'
sed -e 's|xxx|yyy|'
[^] # Re: bon je te répond à toi-même...
Posté par left . En réponse au message substitution de variable.... Évalué à 4.
regarde plutôt l'instruction 'eval'
# précisions
Posté par left . En réponse au message Sed et résultat de commande sous bash. Évalué à 2.
i=`ls (...)`
i=`echo $i | sed -e "s/$i/x/g"
fonctionne très bien car le $i est expansé par le shell avant l'appel de sed.
Enfin ca fonctionne très bien en sh et en bash.
[^] # Re: Témoignage
Posté par left . En réponse à la dépêche Microsoft est mort et le logiciel libre n'y est pour rien ?. Évalué à 10.
[^] # Re: goodbye-ubuntu
Posté par left . En réponse à la dépêche Debian GNU/Linux 4.0 : Etch sort de l'oeuf. Évalué à 2.
# valeur par défaut
Posté par left . En réponse au message La bonne façon de gérer les options et arguments dans un shell. Évalué à 2.
Ex:
left@monkey:~$ echo "i=${i:-3}"
i=3
left@monkey:~$ i=7;echo "i=${i:-3}"
i=7
C'est notamment très pratique quand le script est destiné à être sourcé par un autre.
[^] # Re: C'est triste
Posté par left . En réponse au journal Une sale histoire de driver. Évalué à 5.