Difference between revisions of "Z3"

From ZCubes Wiki
Jump to navigation Jump to search
Line 137: Line 137:
  
 
*[[ Z3_Editor | z^3 Editor and Keys ]]
 
*[[ Z3_Editor | z^3 Editor and Keys ]]
 +
 +
==Editor and Short cut Keys==
 +
 +
In the code editor, generally, you can type the function name (case sensitive), and Shift+Enter will give you parameter expansion. Say CUBEROOT and Shift+Enter will give you CUBEROOT(Number)
 +
 +
or PMT Shift+Enter will give you PMT(Rate,NoPaymentPeriods,PresentValue,FutureValue,Type)
 +
 +
Generally z^3 Editor automatically shows a listbox with likely functions that you could use given a few letters.
 +
 +
Code expansion also works with things like for, ifelse, switch, zswitch, zif, etc.  Simply press Shift+Enter after you type the term.
 +
 +
Say, type FOR and then press Shift+Enter.
 +
 +
Errors are highlighted immediately to give you help with typing things in correctly.
 +
 +
Most functions are Combanatorial. That means you can run them as:
 +
PMT((12..20)%,12,1000) or SQRT(1..100) or COMBIN(10..100..10,2..3) etc.
 +
 +
 +
 
*[[ Z3Commands | z^3 Commands and Operators ]]
 
*[[ Z3Commands | z^3 Commands and Operators ]]
 +
 +
 
*[[ Z%5E3_Language_Documentation | z^3 Language Documentation ]]
 
*[[ Z%5E3_Language_Documentation | z^3 Language Documentation ]]
 +
 +
 
*[[ Z_API_Functions |z^3 API functions  ]]
 
*[[ Z_API_Functions |z^3 API functions  ]]
 
*[[ Array_Manipulation | z^3 Array Manipulation ]]
 
*[[ Array_Manipulation | z^3 Array Manipulation ]]

Revision as of 00:41, 20 January 2017

This page lists all pages regarding z^3.

Introduction

Why another programming language? Do we not have enough of them?

Well, let us try this real world experiment. Go to the best programmer you know. Pick the simplest formula you can think of: E=mc2. Ask how the Energy (E) can be calculated, for a mass (m) of 1kg, 2kg, 3kg,… 10kg and for a constant Speed of Light (3x10^8m/s). And let us just watch the programmer for what happens next. Yes, go ahead and start a stop watch!

Likely that the programmer would pull up a spreadsheet and type formulae notation such as shown below, to do this, within a minute or so.

C =3*10^8
M Energy
1 =D5*$E$3^2
=D5+1 =D6*$E$3^2
=D6+1 =D7*$E$3^2
=D7+1 =D8*$E$3^2
=D8+1 =D9*$E$3^2
=D9+1 =D10*$E$3^2
=D10+1 =D11*$E$3^2
=D11+1 =D12*$E$3^2
=D12+1 =D13*$E$3^2
=D13+1 =D14*$E$3^2

Or maybe, the programmer would make a program, in a computer language to do this, and will come back to you in about an hour!

Well, this shows the poor state of the current state of the art computer human interaction. Today, an ordinary computer can do billions of operations per second. And even with the best techniques, translating from our human language to computer language takes minutes or hours!


Now, what if, if we could just say:

Energy:=m*(3*10^8)^2

Energy@1..10

And the results come out:

m Energy
1 90000000000000000
2 180000000000000000
3 270000000000000000
4 360000000000000000
5 450000000000000000
6 540000000000000000
7 630000000000000000
8 720000000000000000
9 810000000000000000
10 900000000000000000


Or let us imagine you wanted to create an array of 9 rows and 9 columns and with 9 cells each in 3 dimensions, and z^3 would give this to you with the command:


|9x9x9|

0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0

What if you could fill it with random numbers and assign it to A using:

A=RANDOM(|9x9x9|)

0.3580037800129503,0.1676588780246675,0.10722010442987084,0.005490015260875225,-0.23294036276638508,0.22662439197301865,0.10870983102358878,0.2769974253606051,0.0029548886232078075 0.041699539637193084,0.3870012385305017,-0.20777509664185345,0.13767410209402442,0.22410893277265131,0.20608861511573195,-0.20018406677991152,0.22029893519356847,-0.45465979841537774 0.4591558708343655,0.1420595806557685,0.4083957162220031,-0.40819021547213197,-0.26061587990261614,-0.05257520033046603,0.059443910140544176,-0.28662235336378217,0.3105213795788586 0.09606859437189996,-0.07783477404154837,0.008421740494668484,0.48289549141190946,-0.0879819393157959,0.2104784024413675,-0.47389360843226314,0.2080693047028035,0.1310892179608345 -0.06626262329518795,-0.28481870889663696,-0.10210831137374043,0.014624838950112462,0.0968810252379626,-0.21916344249621034,-0.2487639863975346,0.0477446133736521,-0.1991952422540635 -0.11852870415896177,0.372537286253646,0.3528048819862306,0.48251894768327475,0.24654511455446482,0.17333862208761275,-0.03783989790827036,0.4090338933747262,-0.3751388774253428 0.09025530563667417,-0.12826937320642173,-0.22723823389969766,-0.15792581462301314,-0.14024262712337077,0.10564638371579349,-0.10213366360403597,-0.015929083339869976,0.42034117062576115 0.30916432943195105,-0.45239340234547853,-0.45923919253982604,-0.09670902695506811,-0.3303845610935241,-0.330097968922928,0.13559956988319755,0.1761150793172419,-0.41669209906831384 -0.3514315695501864,0.31582214520312846,-0.44893262651748955,0.11447890498675406,0.344642068259418,0.030723398318514228,-0.037676028441637754,0.20306929992511868,-0.20149929192848504
-0.2714427460450679,0.31895161350257695,0.4293144254479557,-0.2307776096276939,0.31045829388312995,0.15990927023813128,-0.2456150660291314,-0.13001376995816827,-0.4553075956646353 0.09325808985158801,-0.15261923428624868,-0.4383660058956593,-0.20949043333530426,-0.27518920321017504,0.14434566744603217,0.12108047492802143,0.03166386461816728,0.25677812518551946 0.1672076671384275,-0.3554374403320253,-0.2247075301129371,0.20294456463307142,0.027833324624225497,-0.2869234271347523,0.4464247007854283,0.022389909252524376,-0.48035070300102234 0.4222969077527523,-0.061152805807068944,-0.006758366711437702,-0.4830787698738277,-0.35590640688315034,-0.2586671579629183,-0.27879607351496816,-0.2991896641906351,0.4653761428780854 0.17883108858950436,0.33001443929970264,0.3536127165425569,-0.4030880795326084,0.29361891746520996,-0.08233213284984231,-0.3289891267195344,0.11654069204814732,-0.004821582464501262 0.04683848633430898,-0.2788646703120321,-0.18987996829673648,0.4305818499997258,0.04851638339459896,0.07080543600022793,-0.022597199073061347,0.4134190450422466,-0.1392951540183276 -0.0056205675937235355,-0.174815462436527,-0.22433109115809202,0.45713218371383846,-0.4349434240721166,0.2535889367572963,-0.003825810505077243,0.48737529991194606,0.02221194515004754 -0.023895996855571866,0.42097895801998675,-0.28536755847744644,-0.21307316632010043,0.17420100676827133,-0.3427750510163605,0.34044127771630883,-0.3550950021017343,-0.3211202311795205 -0.08638203842565417,-0.1795743100810796,-0.17019168171100318,-0.2074654884636402,-0.023001175839453936,-0.2621301217004657,0.38158907694742084,0.37647024914622307,0.14995221816934645
0.46759738423861563,-0.19682108704000711,0.2618119791150093,-0.1634466431569308,-0.007783036446198821,-0.19278315757401288,-0.26122383028268814,-0.07573197176679969,0.3864800836890936 -0.48730521951802075,-0.3866694807074964,-0.020236478419974446,-0.2873560572043061,-0.025508441030979156,-0.2206116479355842,-0.4682148122228682,0.32242694427259266,0.10982466768473387 -0.2724368288181722,-0.2753960059490055,-0.33441920671612024,0.4528969940729439,-0.2815959614235908,0.22295690118335187,-0.4043461757246405,-0.3275405855383724,0.23622155538760126 0.4625209274236113,0.32742811436764896,0.10237313061952591,-0.12796446564607322,-0.414141614921391,-0.1514669400639832,-0.01662084343843162,-0.14053669827990234,-0.36169270682148635 0.09291573776863515,0.3211210290901363,-0.15494070621207356,0.24393156985752285,0.24700396810658276,0.19266429170966148,-0.27997553977184,0.4966580558102578,-0.22691197553649545 0.3836678781080991,-0.13599187578074634,-0.1364638926461339,-0.43699702760204673,-0.27432505739852786,0.41619436745531857,-0.11503469524905086,-0.3961033462546766,-0.020432721357792616 -0.193523820489645,0.4910850692540407,-0.27648557908833027,-0.4998001556377858,-0.09176432015374303,0.34581296890974045,0.23351580812595785,0.08933460712432861,0.10291039547882974 0.3553353671450168,-0.16847370797768235,-0.20267798309214413,0.17961664823815227,0.47903859009966254,-0.23418981162831187,0.4254107824526727,0.09667833056300879,-0.3807956201490015 0.28068224200978875,-0.44903784338384867,0.2923245767597109,-0.07399112172424793,0.18727760040201247,-0.37603475409559906,-0.1889270255342126,0.4814679545816034,0.43839118839241564
-0.14589535049162805,-0.1717006757389754,-0.45313729462213814,-0.2100987967569381,0.07980192452669144,-0.44921216275542974,-0.17929161479696631,-0.04341954831033945,0.4006048652809113 -0.4965447639115155,-0.0014531267806887627,-0.29496189462952316,0.19512724899686873,-0.3313389546237886,0.3247809917666018,0.15656536747701466,0.11421202355995774,0.42492879019118845 0.2714288558345288,-0.1916312901303172,0.4496154594235122,0.04432122246362269,0.26015818142332137,0.23316897172480822,0.0009896783158183098,-0.3811049638316035,0.3290000348351896 -0.4836600609123707,0.02708054124377668,0.13805704074911773,0.1663553488906473,0.2761503455694765,0.03225992526859045,0.45297228381969035,0.354224517242983,-0.052333300933241844 -0.35349741601385176,-0.1541479758452624,-0.027075647143647075,-0.041777053847908974,0.11361095705069602,0.4713886242825538,0.08079340774565935,-0.48420853423886,-0.17356075230054557 0.2966376030817628,0.11905975500121713,-0.1032753880135715,0.006346250884234905,-0.37453129538334906,-0.21762368362396955,-0.28873807075433433,-0.3141079822089523,0.4940416933968663 0.3634993168525398,-0.3069120279978961,-0.23129675700329244,-0.44453911134041846,-0.015643975231796503,0.20427393168210983,0.4832139019854367,-0.4569323167670518,0.33622720348648727 0.07591067790053785,0.2544891396537423,0.2166022111196071,0.49970838613808155,0.46719133271835744,0.23308443976566195,-0.31126176728866994,-0.15072528878226876,0.3715090458281338 0.3837906343396753,0.05234387400560081,0.06665072636678815,0.27778878109529614,-0.3008185876533389,-0.07416667882353067,-0.4633671671617776,0.44746156595647335,0.2120667810086161
0.021643613232299685,0.16461328463628888,-0.169558210298419,0.45967748924158514,0.42275283206254244,-0.08581345505081117,0.4139947243966162,0.13542274618521333,0.10745443357154727 0.3182900445535779,-0.01208076043985784,0.03441581316292286,0.47767857532016933,0.14327594102360308,-0.3261140026152134,0.3892594608478248,0.18882739008404315,0.008150221779942513 -0.39185736724175513,-0.17013170733116567,0.4759645448066294,0.2762161267455667,-0.39349775156006217,0.488720026332885,-0.31670395913533866,-0.4801257657818496,0.022118705324828625 -0.4786602156236768,-0.3950942412484437,0.4440704449079931,0.19278773106634617,-0.2732785823754966,0.24886846030130982,-0.44708162639290094,0.04260175512172282,0.2242374278139323 -0.07777238683775067,0.1594398187007755,0.0025933473370969296,0.3868825265672058,0.1324954240117222,-0.4799224026501179,0.3994310963898897,-0.32090002088807523,0.40018269955180585 0.31606225948780775,0.3612197518814355,-0.41332347015850246,-0.09803329268470407,0.26120718428865075,0.19908832991495728,0.24824425159022212,0.25285301241092384,0.08196565718390048 0.36667368933558464,-0.1476106490008533,0.09209217294119298,0.39403858454898,0.20463417074643075,0.08012518216855824,-0.24505622033029795,0.3733477864880115,-0.18364503071643412 -0.3485803995281458,-0.40941790910437703,-0.335264086490497,0.2893678327091038,-0.06440259027294815,-0.3636002507992089,0.26113549899309874,0.38240541936829686,0.3697478473186493 0.1889077324885875,0.46651859022676945,-0.42481108638457954,0.32551679969765246,-0.13739954424090683,0.33494172082282603,-0.0926981430966407,-0.15092503116466105,-0.3316819288302213
0.02447533397935331,-0.2651454699225724,-0.021437262883409858,-0.2805345798842609,0.050755638629198074,0.37171570817008615,-0.2838680313434452,-0.13528743269853294,-0.008766843238845468 0.31885370309464633,-0.44920979463495314,0.30557901691645384,-0.1487529519945383,0.023842759896069765,-0.36713600158691406,-0.05285021453164518,0.10474242828786373,0.4716065563261509 -0.4605011229868978,0.018534131813794374,-0.41502027772367,0.43876418354921043,0.01712446310557425,-0.23436329350806773,0.09010369586758316,-0.18019501422531903,-0.13456890475936234 -0.38721402385272086,0.4587353782262653,-0.1340897441841662,-0.262563283322379,-0.38672840339131653,0.2997870775870979,-0.08442786359228194,-0.17756479722447693,0.14715173887088895 -0.40874803625047207,-0.30141648068092763,0.3723279442638159,0.11941762873902917,-0.3903866116888821,-0.37197298533283174,-0.11316883284598589,0.052140341605991125,-0.34808877296745777 -0.003107169410213828,0.42438106960617006,0.2708011020440608,-0.18121053860522807,-0.11390258534811437,-0.13878120412118733,-0.09087173128500581,0.036437788512557745,0.09692378016188741 0.18104326887987554,0.49322728044353426,-0.41553210001438856,-0.3512285833712667,0.010552727617323399,-0.2791384751908481,0.29324808646924794,-0.15779707580804825,0.02637790166772902 -0.015200009103864431,-0.160279945936054,0.07386823021806777,-0.31605133530683815,0.25422076252289116,0.018765513552352786,-0.38195579941384494,0.3471827667672187,0.3861504439264536 0.2632574737071991,-0.27939721965231,0.3904481919016689,0.22894899849779904,0.03638230450451374,-0.27773539861664176,0.44013639888726175,-0.15342016168870032,0.298915934516117
-0.2608063395600766,0.3107987651601434,-0.36583504383452237,-0.34252223931252956,0.16313816863112152,-0.386728432495147,-0.4420854849740863,-0.0289194923825562,0.4190911327023059 -0.41857722331769764,-0.3457936530467123,0.3407129691913724,0.17490631970576942,0.4740190056618303,0.33442569547332823,-0.4021838700864464,0.01767508266493678,0.19617761834524572 -0.005285372259095311,0.2860999288968742,0.2895744510460645,-0.42999060708098114,-0.2451291240286082,0.46434784517623484,-0.06909980205819011,0.016562352422624826,-0.41358066350221634 -0.143253271933645,-0.17276814603246748,-0.34271695581264794,0.42872798326425254,-0.3591233992483467,-0.3483293631579727,0.2119363124947995,-0.43084264802746475,0.4917781667318195 -0.4926239042542875,0.47259499062784016,0.2176911027636379,0.4266858506016433,-0.3561588164884597,-0.18736131326295435,0.34525797073729336,0.07538306643255055,0.4284512938465923 0.2962957404088229,-0.19573178025893867,0.0802487323526293,0.43155232118442655,-0.3102017848286778,-0.3444714401848614,0.25591936474666,0.37851681909523904,0.33791361656039953 -0.3690603149589151,-0.16680384473875165,0.12651539221405983,0.042686946922913194,0.4994191285222769,-0.04251782689243555,0.4586381970439106,-0.013901118887588382,-0.4791243502404541 -0.04867852199822664,0.2621756491716951,0.08170396974310279,-0.161636077798903,-0.15682890987955034,0.023121989564970136,0.17740983609110117,0.20641399989835918,0.43295700242742896 0.30700156721286476,0.09756432077847421,0.2700566719286144,0.2743928460404277,-0.07327439147047698,0.07790404907427728,-0.1943378746509552,-0.16528425505384803,0.49998670746572316
-0.2022708582226187,-0.47838392690755427,-0.0903228900860995,-0.29938447126187384,-0.38560304301790893,-0.007816316559910774,-0.32445228099823,0.15714373532682657,-0.4018373831640929 0.07826365740038455,0.1967176734469831,0.2824950881768018,0.47379933670163155,0.2517655179835856,0.0695308344438672,0.19463025103323162,0.42969443020410836,-0.3645740863867104 -0.027604628819972277,-0.022821340011432767,-0.3781412618700415,0.4142134212888777,0.12101718713529408,-0.008385246619582176,-0.3361411860678345,0.438513757660985,0.4385419557802379 -0.06667872029356658,0.06350918905809522,-0.1931271613575518,-0.3754569529555738,0.4396738887298852,0.3152043076697737,-0.10245247255079448,-0.23103816714137793,-0.22935058921575546 -0.24598459526896477,-0.20915936143137515,-0.226813254179433,0.41752541926689446,-0.4017587248235941,-0.45505133643746376,-0.1271870033815503,-0.41925627854652703,-0.4875814290717244 0.20632574148476124,0.20196053222753108,-0.34814507188275456,0.2960397240240127,-0.08257539756596088,-0.3015523599460721,0.37208341457881033,-0.1326182004995644,0.34098264505155385 0.04407765343785286,0.420143665978685,-0.08965241932310164,-0.4079979187808931,-0.3565519633702934,-0.018076440319418907,0.4534321865066886,-0.2951448289677501,-0.1633545272052288 -0.21133289858698845,-0.07556938286870718,0.1189079019241035,-0.1346991437021643,-0.370825408725068,-0.1300838114693761,-0.09347013221122324,-0.12794372951611876,0.36772827967070043 -0.03696576110087335,0.4258665544912219,-0.13509223307482898,-0.3952769173774868,-0.3180696666240692,0.24897645460441709,0.1436553478706628,0.13836245937272906,0.21769006550312042
0.23965330887585878,-0.3712375834584236,0.44605221855454147,0.3071361028123647,-0.15616067801602185,-0.414444058900699,-0.1781746146734804,0.3204122583847493,0.4556370184291154 -0.11982318083755672,-0.21459656162187457,0.05913971993140876,0.39466725406236947,-0.37277397280558944,-0.3931461414322257,-0.07019152771681547,-0.29783264151774347,-0.009687110083177686 0.33500119112432003,0.2673738191369921,0.1282032411545515,-0.30506192496977746,-0.11686063115485013,-0.33484474173747003,0.411201735958457,0.041212135925889015,-0.4215310923755169 0.29349666088819504,0.40313133667223155,-0.04813785175792873,0.47613331652246416,-0.38947859266772866,0.1780794879887253,0.4989867629483342,0.1881732391193509,0.46752460254356265 0.3259336925111711,0.2213933274615556,-0.3023625467903912,0.47005707561038435,0.05567215685732663,0.22283329139463603,0.1105746019165963,0.1529993456788361,0.2278926013968885 -0.43219304690137506,0.0294269397854805,0.46398221468552947,-0.3116440454032272,-0.47513903118669987,-0.07985166111029685,-0.443554509896785,0.15013995114713907,0.09688317100517452 0.16715386998839676,-0.4456294975243509,-0.07369275717064738,-0.3025795437861234,-0.027793404879048467,-0.0484570418484509,-0.22052075434476137,-0.4531863001175225,-0.12990865157917142 -0.21291427174583077,-0.20333527983166277,0.3869544540066272,0.2600411137100309,-0.4836206557229161,-0.15566928149200976,-0.08516661822795868,-0.38520910614170134,-0.0015736056957393885 0.08731097495183349,0.09316025790758431,-0.18632080289535224,-0.2906111949123442,-0.461293478962034,-0.18076600949279964,-0.023019180865958333,-0.4638032771181315,0.2364378476049751


Wow!

That is why we created a simple Language for you and the machine called: z^3.


Editor and Short cut Keys

In the code editor, generally, you can type the function name (case sensitive), and Shift+Enter will give you parameter expansion. Say CUBEROOT and Shift+Enter will give you CUBEROOT(Number)

or PMT Shift+Enter will give you PMT(Rate,NoPaymentPeriods,PresentValue,FutureValue,Type)

Generally z^3 Editor automatically shows a listbox with likely functions that you could use given a few letters.

Code expansion also works with things like for, ifelse, switch, zswitch, zif, etc. Simply press Shift+Enter after you type the term.

Say, type FOR and then press Shift+Enter.

Errors are highlighted immediately to give you help with typing things in correctly.

Most functions are Combanatorial. That means you can run them as: PMT((12..20)%,12,1000) or SQRT(1..100) or COMBIN(10..100..10,2..3) etc.