Extract arrays according the number of consecutive values

Hello I would need some help on one problem to search the
number of consecutive values in an array. I am using Labview 8.1
First I have a 2D array with 3 columns: Col (A)  Col (B) 
Col (C). I would like to plot points from Col( B)=f(ColC) at Constant
value in Column A. The problem is that in Column A the values changes. My
problem is to extract arrays when the values in column A are the same and when
the number of values is higher than a number that I can choose. In my case I
chosse this number by the threshold function on the peak detector.
Let ‘s take an exemple:
Col (A)            Col(B)              Col(
C)
12                    343                  45
654                  65                    33                               
121                  65                    65                   
18                    31                    45                   
12                    456                  98       
787                  361                  787
121                  156                  123     
12                    32                    545
Let ‘s say I want to plot Col(B)=f( Col(C)) at constant value in
Column A when I have more than 2 constant values in Column A
The aim would be to have different arrays to plot 2
different graphs for different constant value in Col( A).
Col (A)            Col
(B) Col( C)                        Col (A)            Col(B)              Col(C)
12                    343                  45                       121                  65                    65       
12                    456                  98           &          121                  156                  123
12                    32                    545
 What I do with the VI is:
1)      sort
 the 2D arrays accordind the values in
the Col (A) and extract Col(A)
2)      Search
the index of elements in Column A when they I do not have consecutive values
3)      Subtract
each new indexes indexes 2 by 2: this gives me the number of consecutive values
in a new array.
4)      Detect
the indexes of the peak (number of consecutive values) that I want (in the
exemple= 2)
My problem is now to come back in
the initial array and extract the arrays that has more than n  consecutive values
(n=2 in the exemple) according to the index found by the peak values.
 I am sure that there is a simpler
and better way to do this (maybe by a for loop or by using an histogram);
Thank in advance for the help
Olivier
Attachments:
extract values.vi ‏33 KB

First, I wanted to thank you, Kumar for the quick answer: 5
stars for the answer, this is exactly what I was looking for. I would not have
found it by myself.
I have an other problem to plot now Col( B)=f (Col( C))
What I would like to do is plot Col (B)=Col (C) with
different plots (colour) on a same graph when the value in column A changes.
I managed to have 2 arrays (thanks to the forum with some
modifications):
-One to tell me each first indexes when the value changes
-One to tell me each last indexes when the values changes
My idea would be to use theses indexes to split the initial
array by  a loop when the value in Column
A changes and then in an other loop  (or
in the same) connect the XY graph to the build arrays.
The only problem is that before running Labview I do not
know how many different values in column A I have so I do not know how many
arrays will be created when I will try to split the initial array.
Is someone know if this solution is possible?
Thank you in advance for the help.
Olivier

Similar Messages

  • How do you count the number of unique values?

    I wanted to know how to create a function that will tell me how many unique values are in a list of values.
    For example if I had this list:
    15
    15
    12
    12
    12
    2
    1
    I would get a result of 4. Because there are only 4 unique values 15, 12, 2, and 1.
    I'm trying to create a spreadsheet that modeled the Sainte-Laguë method of voting; in case you're wondering. I'm using Numbers '09 if it matters.
    Thanks

    Thanks for the responses. That was fast.
    I was hoping to fit it all in one cell, but I guess I could hide the columns used for calculation. I tried Badunit's Function and it works. However I found that if I have a column of all the same number it will return 0, when in fact it should return 1. Like if I had a column of 14s I should get one, because the number of different values that appears is 1. Also a minor note is that COUNTIF(B$2:B2,B2) should be COUNTIF(B2:B$2,B2), that makes sure that if you have anything below it doesn't interfere. At least that's what made it work for me.
    Well I looked at the way you did your chart, Badunit, and it makes more sense than the way I was doing it. I was having to manually enter the number of seats every new row. I think it would have been easier to write a java program.
    Anyways you guys have been helpful. Thanks again.

  • Find the number of consecutive numeric digits in string

    I am trying to see if a string has say 9 consecutive numeric digits in it but it will only work if the long string of numbers is the first string of numbers.
    e.g.
    This would recongnise the following string (if p_len = 9)
    Tel number 20 20 30 369 for 2nd meeting
         but would not recongnise the following
    For 2nd meeting tel 20 20 30 369
    Could anyone give guidance on how to proceed / a better way of find consecutive numbers in a string?
    Thanks
    Simon
    Code sample -
        LOOP AT TLINETAB.
    Remove blank spaces
          CONDENSE TLINETAB-TDLINE NO-GAPS.
    Find first number and its position *
          IF TLINETAB-TDLINE CA '0123456789'.
            pos = sy-fdpos.
    Does the next x characters contain only numbers?
            IF TLINETAB-TDLINE+pos(p_len) CO '0123456789'.
              append i_report.
            endif.
          ENDIF.
        ENDLOOP.

    Dear Simon,
    you want to check for consecutive numbers in a string. Then you may do the following -
    1. Get all the numbers in the given string into a table in a sequencial order, that is the order in which they appear in the string
    2. Once you have all the numbers you may find out if the numbers are consecutive or not. The following is the code which is not tested
    lv_len = 1.
    lv_pos = 1.
    lv_strlen = strlen ( lv_str ).
    do lv_strlen times.
      lv_alpha = lv_str+lv_pos(lv_len).
      if lv_alpha co '0123456789'.
       append lv_alpha to lt_number.
      endif.
      lv_pos = lv_pos + 1.
    enddo.
    loop at lt_number into ls_number.
      if lv_no is initial.
       lv_no = ls_number.
       lv_no = lv_no + 1.
      else.
       if ls_number eq lv_no and
          lv_consec is initial.
        lv_consec = c_x.
       else.
        clear lv_consec.
       endif.
      endif.
    endloop.
    if lv_consec eq c_x.
    *  !!! string has consecutive numbers
    endif.
    Hope it helps. Thank you.
    Regards,
    kartik

  • How can i save the output array of the invoke node "commands values" into a specific file

    I must save the setup of vi commands'. I use an invoke node called "command value" wich give me an array with the name of the specific command and his value. How can i save this array into a specific file to load it later if o need. Must i change the array format?
    Thank you

    Hi,
    I have attached two VIs.
    The first one "Ecriture fichier tableau" (writer) permits to collect all control's values in an array (dbl) and to save it as .bin file. You had to convert variant type into dbl type. (You can do the same with string type if you wish. You will save datas as .txt file for example)
    The second VI "Lecture tableau fichier" (reader) permits to retrieve all the datas you saved in the file.
    I think this responds to your question.
    Regards,
    Attachments:
    Control values.zip ‏26 KB

  • Count the number of unique values in column

    Hi
    I have a large numbers file (thousands of rows) with data for different dates. I need to calculate the number of unique (distinct) dates are in the spreadsheet.
    Does anyone know how to do this?
    Thanks,
    Bruce

    bpj,
    Let's say your date is in column B for this example and your first data row is Row 2. In another column you can enter into row 2: =IF(COUNTIF($B$2:B2, B)=1, 1, "") Summing the new column content will yield the number if unique dates.
    As badunit observes, this will result in sluggish document. If the number of possible dates is small compared to the number of rows of data, it would be better to make a table of possible dates and count the number of occurrences of each of those dates in the data, a COUNTIF function on the frequency data for the date range will give you the number of unique dates, possible much more efficiently.
    Jerry

  • Restrict the number of visible values in drop down by key?

    Hello,
    Is it possible to restrict the max. number of entries displayed in a drop down by key element? By default i get 10 entries which i would like to limit to 5. Thanks.
    Regards,
    Vasu

    Hi,
    If you have a set of default values (which come from the domain), you can restrict them to the specific values which you need to display. In the INIT method of the view in which this UI element is present, you will have to write code to delete the entries which you do not wish to show in the drop down by key element.
    Have a look at this code snippet:
      data:     node_info type ref to if_wd_context_node_info,
                elem_attr type wdr_context_attribute_info.
      node_info = wd_context->get_node_info( ).
      node_info = node_info->get_child_node( 'CHILD_NODE' ).
      data:    lt_valueset type wdr_context_attr_value_list,
            l_value type wdr_context_attr_value.
      call method node_info->get_attribute
        exporting
          name           = 'ATTR1'
        receiving
          attribute_info = elem_attr.
      lt_valueset = elem_attr-value_set.
      delete lt_valueset where value = 'VALUE1'.
      node_info->set_attribute_value_set(
                name = 'ATTR1'
                value_set = lt_valueset ).
    Hope this helps.
    Regards,
    Wenonah

  • Can I replace several elements of an array within one time? The number of elements are not fixed

    Hi all,
    I want to replace some elements of a 2D array, but the number of elements are not known beforehand. I dont want to do it with a loop, which may slow down the speed, and the update of elements will not happen simultaneously.  The indexes of elements to be updated are not continuous. I wonder if there is a way to do that efficiently? Do I have to programme it in LabWindows/CVI? Thank you.
    Best wishes,
    Bo
    My blog Let's LabVIEW.

    Use the replace elements function. For non-continuous replacements  of of multiple elements you would nee to iterate at least the number of continous pieces.
    For example:
    1,2,3,4,5,6,7,8,9
    Replace elements 1,2,5,6,8
    You would need 3 iterations in which you can replace (1,2), (5,6) and (8).
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)

  • Sort algorithm: how can I sort two arrays according to one

    I have two parallel arrays, similar to this:
    var array1 = [4, 3, 1, 5, 2];
    var array2 = ["four", "three", "one", "five", "two"];
    I want to sort the first array, and have the second array follow the same sort as the first. Any advice for a good algorithm would be appreciated.
    Rick Quatro

    Hi Rick,
    frameexpert wrote:
    Technically, there was no correct answer because the problem could be solved in multiple ways,
    I don't think you're right about not marking the question as correct just because there are multiple ways of solving it.
    People search the forums for solutions and threads that are not marked as correct are somewhat relegated.
    It wouldn't hurt to make bduffy232's day or even mark your own solution as correct which is more the less the same as the one on the link from KuddRoww and more the less the way I would have done it but see the difference in the results in the table at the bottom of this post.
    I actually think that technically there can be multiple correct answers even though you can only  one can be marked.
    One other small point if you use the advance editor on the forum you can have you code formatted makes it much easier to read.
    Anyway here's my half pence worth on the scripting front.
    Your question was how to sort one array according to another, which I understand to mean that you want the originals arrays reordered
    Yours and bduffy232's scripts do that properly the others don't. Jongware's first script is easy to fix up this problem by adding to the end of his script.
    for (i = 0; i<Math.min(array1.length, array2.length); i++)
    array1[i] = array3[i][0];
    array2[i] = array3[i][1];
    alert(array1+"\r"+array2)
    Now in order of appearance
    Jongware said:
    .. I wonder why this does not work .. Perhaps my logic is flawed?
    Hi Jongware
    I tried your  (2nd) script twice and on both occurrences it crashed my ESTK
    From what I  understand (not said with much confidence) the flaw in your logic is you are passing your arrays values to be sorted array1[?] and array2[?+1] to the sort function as 'a' and 'b' but and then refer to the array array1[a].
    So let's examine a bit of the code
    var array1 = [4, 3, 1, 5, 2];
    array3.sort (function(a,b) {
    var swap, diff = array1[a] - array1[b];
    When run this is the equivalent of saying (for the first run of the sort loop)
    diff = array1[4] - array1[3]
    i.e.     diff = 2 - 5
    i.e.     diff = -3
    What you wanted to do was
    diff = a - b
            = 4 -3
    That's the way I see it.
    Hi Marc
    Change the first two lines of your first script to:
    var array1 = [40, 7, 1, 5, 2];
    var array2 = ["forty", "seven", "one", "five", "two"];
    Then run the script
    Now for my offering.
    The fancy script
    This script is not limited to a specific number of arrays.
    after creating the arrays one creates an array of the arrays, specifies the number of the array that one wants to sort by and calls the function.
    like this:
    sortArraysInSync([a1,a2,a3,a4,a5], 1);
    The arrays a1, a2, a3, ..... will get sorted according to the numeric or alphabetical order of the array specified in the 2nd parameter.
    One could easily (I think) change the sort function to first sort by array x and then by array y etc.
    // Advanced Sort Variable Numbers of  Arrays in Sync Script by Trevor
    // http://forums.adobe.com/thread/1062126?tstart=0
    var   a1 = [2, 5, 10, 7, 100, 5, .5, 0]
            a2 = ['two', 'five', 'ten', 'seven', 'one hundred', 'five', 'one half', 'zero'],
            a3 = [ 'deux', 'cinq', 'dix', 'sept', 'cent', 'cinq', 'un demi', 'zéro' ],
            a4 = [ 'twee', 'vijf', 'tien', 'zeven', 'honderd', 'vijf', 'helft', 'nul' ],
            a5 = [ 'tsvey ', 'finef', 'tzien', 'zibn', 'eyn honderd', 'finef', 'eyn halb', 'nul' ];
    alert("\tIndividual Arrays Before Sort\r"+a1+"\r"+a2+"\r"+a3+"\r"+a4+"\r"+a5);
    sortArraysInSync([a1,a2,a3,a4,a5], 1);
    alert("\tIndividual Arrays After Sort\r"+a1+"\r"+a2+"\r"+a3+"\r"+a4+"\r"+a5);
    function sortArraysInSync (myArrays, s /* number or the array to sort by (starting from 1) */)
        arr = []; var l1 = ll1 = myArrays[0].length, i = ll2 = myArrays.length;
        s--;
        while(l1--)
                arr[l1]={}           
                i = myArrays.length;
                while(i--) eval("arr["+l1+"].key"+i+" = myArrays[i][l1]");
        arr.sort(mySort);
        while (ll1--) for (i=0; i<myArrays.length;i++) eval ("myArrays[i][ll1] = arr[ll1].key"+i);
        alert("\tFunction Array After Sort\r"+myArrays.join("\r"))
    function mySort(a, b)
            if (eval("isNumber(a.key"+s+") || isNumber(b.key"+s+")")) return eval("a.key"+s+"- b.key"+s+"");
            else if (eval("a.key"+s+".toLowerCase() > b.key"+s+".toLowerCase()")) return 1 else return -1;
    function isNumber(n) {return !isNaN(parseFloat(n)) && isFinite(n)}; // isNumber function from http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric/1830844#1830844
    For the simple 2 array sort I would have done as I said much the same as your one:
    // Simple Sort Arrays in Sync Script by Trevor
    // http://forums.adobe.com/thread/1062126?tstart=0
    var   a1 = ['two', 'five', 'ten', 'seven', 'one hundred', 'five', 'one half', 'zero'],
            a2 = [2, 5, 10, 7, 100, 5, .5, 0]
    alert("Individual Arrays Before Sort\r"+a1+"\r"+a2);
    sortArraysInSync(a1,a2);
    alert("Individual Arrays After Sort\r"+a1+"\r"+a2);
    function sortArraysInSync (x, y)
        var arr = [], l1 = l2 = Math.min(y.length, x.length);
        while (l1--) arr.push({name: x[l1], number: y[l1]});
        arr.sort(function(a, b) { return a.number - b.number; });
        while (l2--)
            x[l2] = arr[l2].name;
            y[l2] = arr[l2].number;
    I did a speed test by putting 2 3000 item arrays into my, your dbuffies and Jongware script and timing them.
    These were the results.
    Test done with alerts removed with program set to real time priority and alerts removed.
    These were the arrays and timing method
    var   a1 = ['zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two'],
            a2 = [, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2];
    sdate = new Date();
    startTime = sdate.getTime();
    sortArraysInSync([a1,a2],2); // each scipt to its own.
    edate = new Date();
    endTime = edate.getTime();
    totalTime = (endTime-startTime)/1000;
    alert("Individual Arrays After Sort\r"+totalTime+"\r"+a1+"\r"+a2);
    Script
    Seconds taken to sort 2 Arrays 3000 items each
    Comments
    Trevor's Simple Script
    1.3
    Rick's (Frameexpert) Script
    12.3
    Trevor's Fancy Script
    33
    Bduffy's Script
    68
    Jongware's Script
    Crashed, don't know why?
    Don't forget to pick the correct answer.
    My 'fancy' script is slowed down considerably because of thoses evil  evals. Does anyone have a solution for this?
    Regards
    Trevor

  • Is the number of histogram pixels the same for each channel within each layer?

    Dear Photoshop Scripting Forum:
    I have written a script to isolate the number histogram pixels for each channel within each layer of a file.
    However, I have found some unexpected results: That, the number of pixels is the same for each channel within each layer.
    For example,
      Layer 1 has 18,979 pixels by itself, and so does each channel within it (Red, Green, and Blue)
      Layer 1, Channel Red, has 18,979 pixels
      Layer 1, Channel Green, has 18,979 pixels
      Layer 1, Channel Blue, has 18,979 pixels.
    This does not seem right to me.
    Does someone else have the same experience, or knowledge of something else?
    I am wondering if there is a bug in my script.
    If need be, I will post the script, but it's kind of long for a forum.
    Thank you.

    The following is for RGB 8bit images.
    The red historgram is an array of red values of the pixels that range from 0 to 255. Each element in the array has the number of pixels that have that red value. So for example if you had a layer that is pure red 255,0,0 all the pixels would be in the 255 element and there would be no pixels in the other elements. The red historgam still has the same number of pixels as the layer. They are just all in one histogram element( they all have the same value ).
    But even if you know that all the pixels in a layer are all in the last element(255) of the red histogram you still don't know the color of the pixels. A white pixel has a red value of 255. So does a yellow, magenta, etc pixel. If you only know the red value of a pixel the pixel could be one of over 65000 colors. Most of which would not be considerd 'red'
    It is the three channels together that detemine a pixel's color. Unless the layer is one color you can not tell the color of the pixels from looking at the histogram.
    Unless you use the color range selection then get the histogram of the selection. Even then you need to decide what color value make up 'red'

  • Maximum number of filter values in BEx web

    Hi
    Is it possible to change the maximum number of filter values displayed when running a query?
    Example: When the user runs a query and has to put in a material number, he pushes the button which shows him the possible values for input. The number of values displayed per page is 14 and the maximum number of pages is 72. The maximum number of values is 1000. If the user tries to search, he only searches amongst the 1000 possible values. Is it possible to change the number of possible values shown to unlimited?
    We use NW04s BI SP09.
    Kind regards
    Erik

    Hi Experts
    I have the same problem , the maximum number of hits si set to 200 , ant the variable contains over 300 values , it is a variable based on  a time charactersitic , and the values appear in ascending order , i mean the first 01.1900 , and the last value 03.2012 . i wonder if there is a way to change the order of sort  to descending order . I mean the  first value 03.2012 and the last one 01.1900 . I attach the image .
    Thanks for your help.

  • The number of POV to be set exceeds grid POV

    Hi All,
    In smart view i am getting the below error.
    The number of POV to be set exceeds grid POV.
    Can you please let me know where i have change the number of POV value?
    Thanks,
    Prathap

    Hi Prathap,
    Are you using 11.1.2.1 Smart View? If yes, are you getting this issue while refreshing ??
    If that is the case then go with 11.1.2.1.102.
    http://john-goodwin.blogspot.com/2011/09/get-up-and-running-with-smartview.html
    Cheers.!!!

  • Increase the number of rows in MDXTEST

    Dear colleagues,
    I use the SAP transaction MDXTEST to test MDX queries generated by WebI reports. The expected result set is significantly larger then 500 rows which causes the following error in MDXTEST:
    "There are more than 500 possible inputs
    Message no. DH803"
    The help message also says:
    "With the function 'Restrict values' you can define selection conditions that reduce the number of valid values.
    Use the same function to change the maximum number of rows to be displayed."
    Can you explain what that means - how can I increase the number of rows retrieved?
    Do I have to modify the MDX statement and if so, how?
    Is there a menu option or customizing setting for this purpose?
    Any help is appreciated.
    Regards
    Johannes

    Official reply from SAP Support: Please be aware that MDXTEST is only a test transaction. Therefore, the display of data has been restricted and you cannot change this.

  • Maximum number of key/value pairs in btree or hash database

    It's not clear to me from the documentation what the limit is on the number of key/value pairs in a Btree or hash database. The documentation on logical record numbers says that the db_recno_t type is a 32-bit unsigned type, "which limits the number of logical records in a Queue or Recno database, and the maximum logical record which may be directly retrieved from a Btree database, to 4,294,967,295". What does "directly retrieved" mean in this sentence? Does this mean that Btree is limited to 4,294,967,295 key/vaue pairs? If so, is this also the limit for a hash database?

    Hi mcgarvek,
    In case of Queue, Recno and Btree configured for logical record numbers - you can do that by setting DB_RECNUM flag: http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/db_set_flags.html#DB_RECNUM , the maximum number of records is 4,294,967,295 and after that limit, the next record will be inserted as record number 1.
    In case of Hash and Btree, the maximum database size depends on the page size selected by the application. Berkeley DB stores database file page numbers as unsigned 32-bit numbers and database file page sizes as unsigned 16-bit numbers. Using the maximum database page size of 65536, this results in a maximum database file size of 248 (256 terabytes).
    Database limits: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/am_misc/dbsizes.html
    Logical record numbers: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/am_conf/logrec.html
    Regards,
    Bogdan Coman

  • Is there a class to return the r, g, b value of pixels in a picture

    Hi, there
    Is there a class to return an array of the R, G & B value of the pixels in a specified picture respectively. This picture is loaded from a file in jpg or gif format.
    Thanks in advance.

    xpost: see http://forum.java.sun.com/thread.jsp?forum=31&thread=204730

  • How to Search and Array for multiple occurrences of a value

    Hi,
    I am trying to search an array of doubles for a number and report the index location(s) of a number. I.e. -allow for repetition. Search and report all index[i] where the number is contained in the array. For example I have
    double[] myInputArray = new double[5];
    double[] myInputArray = { 1, 2, 3, 3, 5 }I know how to search through the array ONCE and return the first occurrence of a number:
    public double GetIndexOf(double Number) {
        for (int i=0; i<myInputArray.length; i++) {
             if (myInputArray[i] == Number){
                  return(i);
        return(-1);
      }How do I expand this code to report multiple index[i] locations if the number reoccurs in the array like the number 3 does in my example array above?

    The way the Java libraries do this type of operation (String.indexOf(), etc) is to specify the starting index along with what you want to find.
    Changing your example slightly (notice how I fixed your naming and more importantly, your return type):
    public int indexOf(double num) {
       return indexOf(num, 0);
    public int indexOf(double num, int fromIndex) {
        for (int i=fromIndex; i<myInputArray.length; i++) {
             if (myInputArray[i] == num){
                  return(i);
        return(-1);
    //usage to get all indices:
    for ( int index = -1; (index = indexOf(num, index+1)) != -1; ) {
       System.out.println(index);
    }Note that due to how floating point numbers work, you may find doing this on doubles (or any other operation that uses == with double arguments) to give you unexpected results.

Maybe you are looking for