# Sequence builder for rgb targets. meighan.net/rgbsb

#### smeighan

##### Dedicated elf
I am new to all of this. I have only used the Mr Christmas 6 channel light controllers from Home Depot. Over the next year i plan on getting 6 Lynx express, some of the smart strings and build a mega tree.I decided to build a tool to create sequences on target RGB objects. The output of this tool will work for LOR/Vixen/LSP.Some info on the design of the sequencer.The entire tool is web based.Select math model on the left side of web page1) Cone2) Plane3) Fan For each model i have various mathematical algorithms to create images. For example code that produces a spiral line on the cone. The math model output (X,Y,Z) is written to a file.On the right side of the web page is the models to project on. I have finished the code for creating a megatree with any number of segments.1) Megatree. You define the number of segments (ie. 8, 16, 32 .et.c), the number of pixels per leg, the channel number, the starting and ending pixel number., the height of the megatree and the radius. With this i create the output model. X,Y,Z, channel, pixel. One datapoint for all. so if you had 16 channels and 60 pixels per leg there would be 960 data points written to a target model file. Web page builds the file X,Y,Z,Channel, Pixel#2) Flat plane of vertical LEDs. The matrix of LED's all located in x,y,z space. TBD3) A snowman, 10' tall. Three spheres. This is just to show that the target models can be any shape. TBDExample:I create a 10' high cone with 2.5' radius. I run the model for spirals across the cone.I move the 10' cone on top of the model for the megatree.I then map the model file of x,y,z data to the target model by finding the distance of each pixel from the target using
d = sqrt (( x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2))i have set parameters of how close a pixel has to be to be set on. I will then select the target pixels and mark them as ON with the RGB from the source model.I plan on allowing multiple math fomulas on the cone (spiral lines, stars) combined together. Here is the first pass of the tool: http://meighan.net/rgbsb
I next want to export the sequence as an xml file to import into lsp/vixen/lor. Since i don't own LOR, is there a document that describes the xml i would need to create?I plan on the web page allowing you to select which animation model you want ( radio buttons will allow selecting as many as i have in the gallery) and then projecting the animation onto the model of the target (megatree, flat panel, snowman,.etc.).
this post was just a fyi in case u might be interestedI started a thread on this software also herehttp://diylightanimation.com/index.php?topic=7657.0i will add a half mega-tree this week as a another target model.Thankssean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Welcome to the forum

Formatting seems to have gone a little haywire on the paste

I have followed this work across the forums but still haven't managed to have a play with the effects builder.
I go to the page but don;t see any links or things to actually do things, just the images.

Cheers
Phil

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

You cant do anythign because it is still pre-alpha. There are no radio buttons, sliders or all the other stuff planned. The big thing missing is the code to export these to a file (LSP/Vixen/LOR).

Since i only came up with the idea for this tool on jan 13th, it is not ready for release. I gave out the web page with the images so people could see the project the same as i do. I am also soliciting ideas for it.

I have a number of people with LSP and Vixen who want me to produce the output files, they want to try them. I am guessing it will take at least a couple of weeks to get a file.

I have never run lsp/vixen or lor. I build the tool before i have the software. It will take a little time to figure out what is expected in the xml file to be used for input.

Since teh targets can by anything, i want to next build a model for a fan (i am not sure what to call it). Say 8 strings attached in a flat plane. Maybe 10' tall, 1' wide at the top, 8' wide at the bottom. Kinda like rays of sunshine.

When i project the cone onto that flat plane , i think it is going to look good.

I will later get the math for doing fireworks, snowflakes, maybe avi files.

thanks
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Sean

Thanks for that, i get it now.

I have scripted in conjunction with some open source tools the processing of RGB data from image frames of video files into Vixen data that can be pasted into vixen.
It's easier to write the data out as time-sliced channel value data to a standard text file and paste into vixen manually than it is to write the xml, faster too.

one thing to consider for end user use is that not all pixel trees are mapped the same, for example each string for me runs up then back down, repeated around the tree, so my pixel map in terms of channel numbers is different from someone who runs each string from the bottom only.

I appreciate that this is all very very new and i'll follow along as you proceed,

For me i would like the output to be pure channel value data as a text file so that i could paste into sequence as required.... but this is just me

Cheers
Phil

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

New release meighan.net/seqbuilder/index.php

This version has some more documentation in the header of the webpage.

I added a new column with half of a mega-tree. I basically took a 16 segment tree and built only the front half.

Web page will load faster now.

I also checked the web page on my ipad safari browser, it works fine.

thanks
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Sequence builder for rgb targets. m Hi all;I have a new release of code that will build the target modelshttp://meighan.net/seqbuilder/main_login.phpPlease give any feedback on if this looks like it will cover your megatree.

you can use 'guest' password 'welcome1' to just play with the tool

seaneighan.net/seqbuilder/index.php

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

---------------
Code:
``Web page is down for maintenance I expect it to be back up on monday, feb 13th. Sean``

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Hi Phil;

I took the model generator offline while i rebuild the database stuff. I have a new URL, http://meighan.net/rgbsb
I created re-directs from the old pages .

I have some major releases today of rgbsb.

I have a new graphics generation process that is smaller and faster on the web page. I have created effects for spirals, barber pole, snowflakes, random dots. I have scrolling text almost ready to release.

Here are some of the new models.

The rgbsb tool is made up of 3 parts

1) Library of effects for RGB devices. You see this at http://meighan.net/rgbsb (NOTE! bookmark this new web link). I expect this library to get to be into the hundreds. One thing to note , each of my models (spirals, snowflakes, .etc.) have many variables that change the final output. When I finish the tool , there will be slider bars allowing you to make a near infinite combination of effects. All of the variables are there, they just are not exposed to the user yet.

2) A tool to allow you to model your megatree into rgbsb. I call this the target model generator. This tool has a mysql database so that peoples' models can be stored and retrieved. This tool is http://meighan.net/r.../main_login.php. I opened this tool up for a few days last week. I got feedback that helped me to go and address some issues. This tool is currently offline while i work on the database.
NOTE! Change in web page URL

3) The last thing the tool does is take your target model and the RGB effects you selected from the library, it then produces an xml file for LSP, Vixen or LOR.
Currently , I have LOR producing a LMS file and importing with no errors. I am in the midst of making an xml file for Vixen. I have not started on LSP.

So for step #1, you can continue to feed me more ideas for effects to go into the library.
Send me a link to a video and the time stamp of the effect you want me to add.
something like in this video http://....., please make rgbsb support
the effect banded vertical 1:47.3 to 1:53
the effect horizontal chase 1:11 to 1:22

Step #2 should come back by this weekend and then you can try creating your RGB megatree.
Step #3, i have asked for anyone who might have a Vixen 2.1 vix file and a video of their display. I can then continue to work on creating the xml output for Vixen. I dont expect to finish that for at least a few weeks.

Eventually i plan on supporting Vixen 2.1.1 and Vixen 3, LOR S2 and LOR S3 and LSP 2 (maybe LSP 1.8).

You can imagine the exponential increase in work for me to supply all of these xml forms. A possible side benefit later this summer is i am thinking i will be able to cross transform between any two sequencers.

we will see
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Impressive! I cant wait to give it a try, I might not have a a single light on the house, just a tree from yoru design! When or where am I missing to start giving it a try!

smeighan said:
Hi Phil;

I took the model generator offline while i rebuild the database stuff. I have a new URL, http://meighan.net/rgbsb
I created re-directs from the old pages .

I have some major releases today of rgbsb.

I have a new graphics generation process that is smaller and faster on the web page. I have created effects for spirals, barber pole, snowflakes, random dots. I have scrolling text almost ready to release.

Here are some of the new models.

The rgbsb tool is made up of 3 parts

1) Library of effects for RGB devices. You see this at http://meighan.net/rgbsb (NOTE! bookmark this new web link). I expect this library to get to be into the hundreds. One thing to note , each of my models (spirals, snowflakes, .etc.) have many variables that change the final output. When I finish the tool , there will be slider bars allowing you to make a near infinite combination of effects. All of the variables are there, they just are not exposed to the user yet.

2) A tool to allow you to model your megatree into rgbsb. I call this the target model generator. This tool has a mysql database so that peoples' models can be stored and retrieved. This tool is http://meighan.net/r.../main_login.php. I opened this tool up for a few days last week. I got feedback that helped me to go and address some issues. This tool is currently offline while i work on the database.
NOTE! Change in web page URL

3) The last thing the tool does is take your target model and the RGB effects you selected from the library, it then produces an xml file for LSP, Vixen or LOR.
Currently , I have LOR producing a LMS file and importing with no errors. I am in the midst of making an xml file for Vixen. I have not started on LSP.

So for step #1, you can continue to feed me more ideas for effects to go into the library.
Send me a link to a video and the time stamp of the effect you want me to add.
something like in this video http://....., please make rgbsb support
the effect banded vertical 1:47.3 to 1:53
the effect horizontal chase 1:11 to 1:22

Step #2 should come back by this weekend and then you can try creating your RGB megatree.
Step #3, i have asked for anyone who might have a Vixen 2.1 vix file and a video of their display. I can then continue to work on creating the xml output for Vixen. I dont expect to finish that for at least a few weeks.

Eventually i plan on supporting Vixen 2.1.1 and Vixen 3, LOR S2 and LOR S3 and LSP 2 (maybe LSP 1. 8) .

You can imagine the exponential increase in work for me to supply all of these xml forms. A possible side benefit later this summer is i am thinking i will be able to cross transform between any two sequencers.

we will see
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Two new models added to library

Vertical bars and falling stars

thanks
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Just Make It Live!

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

I have finished scrolling text. I have added it into the library

Now on to the xml work

thanks
sean

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

Sean

A suggestion for Vixen 2.1 and 2.5 support, (i guess more a request) a simple text file with the channel values over time makes it easy to copy and paste into a Vixen sequence, the user can then save as a routine.

This is how i save the output from my video processing scripts and just paste the data into the vixen sequence.

Cheers
Phil

Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

AussiePhil said:
Sean

A suggestion for Vixen 2.1 and 2.5 support, (i guess more a request) a simple text file with the channel values over time makes it easy to copy and paste into a Vixen sequence, the user can then save as a routine.

This is how i save the output from my video processing scripts and just paste the data into the vixen sequence.

Cheers
Phil

Hi Phil;

since i have not really ever run Vixen, it will all be a learning experience.

I have requested (and received no answers) for anyone to send me a sequence and preferable a video of that sequence. I need to understand the xml format.

I need to understand how the profile file works.

I want to get the target modeler back online before thsi weekend and then i will dive into vixen.

i dont suppose there is any documentation of all the parts of a vix file and a prof file? Or maybe what is the difference between 2.1, 2.5 and 3.0 Vixen xml files?

if wishes were fishes ...

thanks
sean

Sean

Happy to send you some 2.1 and 2.5 vix files along with the profile files, certainly in Vixen I suspect most will be combining your effects into a bigger show and would be looking to either use a saved routine (i can send one of those) or just paste in data stored in a text file.

Vixen just uses data values when pasting into a sequence like below. that's 2 channels by x time periods.

171,171,171,173,176,176,176,179,180,180,182,183,186,186,187,190,191,191,194,194,195,195,198,198,201,201,202,205,205,205,208,208,209,209,211,212,212,212,216,219,219,219,222,223,223,223,226,226,229,229,229,230,233,233,233,236,237,237,237,239,240,240,242,243,246,246,246,249,249,249,249,249,250,250,250,250,250,250,250,250,250,250,250,251,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,253,253,252,252,253,253,255,254,231,231,201,143,134,134,140,151,164,164,177,181,181,181,186,192,202,202,209,210,210,210,210,209,209,209,209,207,207,207,207,207,207,207,207,208,208,208,208,210,211,211,211,213,214,214,215,216,217,217,219,220,220,220,221,222,223,223,224,225,225,225,227,227,229,229,229,229,230,230,231,230,231,231,232,235,238,238,241,243,229,229,229,197,177,177,158,133,128,128,131,138,144,144,159,159,166,166,176,178,178,178,179,180,182,182,182,183,186,186,188,189,190,190,191,191,196,196,197,197,199,199,200,202,202,202,205,206,207,207,208,209,209,209,210,212,214,214,215,216,217,217,218,219,220,220,220,221,223,223,224,224,225,225,226,227,228,228,229,230,231,231,232,232,233,233,234,234,235,235,236,237,237,237,238,238,238,238,239,239,240,240,241,241,242,242,242,242,243,243,244,244,245,245,245,245,246,246,246,247,247,247,247,247,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,253,255,255,255,255,235,185,185,166,152,146,146,161,169,177,177,177,177,179,179,179,183,184,184,186,188,189,189,192,194,195,195,196,198,201,201,202,206,207,207,207,207,209,209,212,213,215,215,216,217,219,219,221,221,223,223,224,225,227,227,227,228,230,230,230,232,232,232,233,235,235,235,236,236,236,236,236,236,236,236,239,242,245,245,248,239,227,227,193,174,142,142,127,127,129,129,137,147,154,154,159,169,181,181,183,186,187,187,188,188,190,190,193,195,196,196,199,200,201,201,203,206,207,207,208,209,212,212,213,213,216,216,217,217,220,220,221,221,222,222,223,225,226,226,227,227,229,229,230,231,231,231,232,233,235,235,236,236,237,237,237,238,239,239,240,241,241,241,242,242,243,243,244,244,245,245,245,246,247,247,247,248,248,248,248,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,252,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,252,250,250,250,248,248,248,248,246,246,246,244,242,242,242,240,240,240,240,237,237,235,235,233,233,233,233,231,231,229,229,227,227,227,227,225,225,221,221,220,226,228,228,225,194,172,172,150,123,119,119,137,142,147,147,146,147,145,145,147,147,148,148,149,148,149,149,150,150,153,153,154,154,155,155,154,156,155,155,156,157,157,157,156,157,158,158,157,158,157,157,158,158,158,158,156,156,156,156,157,157,156,156,156,156,155,155,155,156,155,155,154,154,154,154,152,151,151,151,151,151,154,154,153,149,131,131,106,85,80,80,75,76,78,78,83,85,91,91,95,100,103,103,104,104,103,103,103,104,105,105,105,105,106,106,105,106,105,105,106,106,105,105,106,105,106,106,106,104,105,105,103,104,102,102,103,103,101,101,100,100,101,101,99,99,98,98,98,98,96,96,97,95,95,95,94,94,92,92,92,92,91,91,91,89,89,89,88,88,88,88,86,86,84,84,84,82,82,82,82,80,80,80,78,78,76,76,76,76,74,74,74,72,72,72,70,70,68,68,68,68,65,65,65,63,63,63,63,61,61,61,58,58,58,58,57,57,57,57,54,52,52,52,52,49,47,47,47,47,45,45,45,45,43,43,40,40,41,41,41,38,38,38,35,34,34,34,34,31,31,31,31,29,29,29,27,27,25,25,22,22,22,22,20,20,17,17,17,17,15,15,15,13,13,13,11,9,9,9,9,6,6,6,4,4,4,4,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,4,4,4,3,5,5,5,7,7,7,7,9,9,9,11,11,12,12,12,14,14,14,16,16,17,17,15,16,16,16,17,19,19,19,21,21,23,23,22,22,21,21,20,19,19,19,21,22,24,24,26,26,27,27,28,30,31,31,33,33,35,35,37,37,35,35,35,35,38,38,39,41,41,41,44,44,45,45,45,47,49,49,49,51,52,52,54,55,55,55,47,47,50,50,50,51,53,53,54,56,57,57,59,59,62,62,63,65,65,65,65,68,68,68,72,64,60,60,60,62,65,65,65,68,69,69,69,72,73,73,75,76,78,78,80,80,82,82,83,85,86,86,88,89,91,91,92,92,95,95,95,97,98,98,101,102,102,102,104,105,105,105,108,110,112,112,108,112,114,114,118,115,105,105,87,90,90,90,96,97,99,99,99,101,105,105,104,97,97,97,97,101,104,104,103,99,102,102,104,105,106,106,110,112,115,115,115,119,119,119,120,124,124,124,124,128,128,128,131,132,135,135,136,138,140,140,143,144,144,144,118,115,122,122,124,129,130,130,130,135,135,135,139,139,141,141,144,145,146,146,150,153,153,153,153,153,157,157,164,161,145,145,116,106,103,103,108,108,129,129,133,134,138,138,139,143,141,141,141,140,143,143,146,152,154,154,154,161,164,164,167,169,172,172,148,150,150,150,156,154,154,154,160,162,162,162,169,173,177,177,179,183,186,186,189,192,196,196,197,202,203,203,206,208,210,210,211,215,215,215,217,217,218,218,224,227,230,230,230,223,217,217,189,164,144,144,133,133,143,143,141,152,161,161,169,188,191,191,197,198,198,198,198,199,200,200,201,203,206,206,207,207,207,207,210,211,212,212,213,214,217,217,217,217,219,219,221,221,223,223,224,225,227,227,227,229,229,229,230,231,232,232,232,232,236,236,239,238,228,228,202,178,171,171,167,169,167,167,171,175,178,178,182,184,187,187,189,190,195,195,196,198,199,199,200,202,205,205,207,207,209,209,209,213,217,217,194,179,162,162,172,176,178,178,183,186,188,188,191,195,196,196,198,199,201,201,202,202,206,206,207,207,208,208,209,211,213,213,214,214,217,217,217,219,220,220,221,222,224,224,226,227,227,227,229,229,230,230,231,232,233,233,234,235,236,236,236,237,238,238,239,240,240,240,241,240,240,240,242,248,239,239,227,186,166,166,164,179,184,184,189,189,193,193,193,198,199,199,200,201,202,202,203,205,207,207,207,208,212,212,213,214,215,215,217,217,218,218,218,224,229,229,226,197,178,178,161,143,150,150,166,172,176,176,176,176,177,177,179,180,182,182,183,184,187,187,188,189,192,192,194,195,196,196,199,201,202,202,203,206,207,207,208,211,212,212,212,215,217,217,217,217,219,219,223,224,211,211,164,169,174,174,179,181,181,181,187,192,195,195,196,197,198,198,199,201,205,205,207,212,216,216,216,211,180,180,166,153,135,135,128,129,131,131,136,141,156,156,162,167,178,178,183,184,185,185,185,186,190,190,191,194,195,195,196,197,200,200,200,202,202,202,204,204,207,207,207,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,6,6,6,8,8,8,8,11,11,11,13,13,15,15,15,17,17,17,20,20,20,20,21,21,24,24,26,26,26,26,28,28,30,30,30,32,34,34,34,34,36,36,36,38,38,38,40,42,42,42,42,44,44,44,47,47,49,49,51,51,51,51,51,53,55,55,55,55,59,59,60,55,45,45,40,37,36,36,40,44,46,46,47,47,49,49,49,52,53,53,53,55,56,56,58,60,60,60,61,63,65,65,66,68,70,70,70,71,71,71,74,74,77,77,77,79,82,82,82,82,85,85,85,88,90,90,90,90,93,93,93,96,96,96,99,99,102,102,102,102,105,105,104,104,107,107,110,111,113,113,116,112,109,109,92,85,69,69,63,63,66,66,69,76,79,79,82,88,95,95,97,100,100,100,100,103,104,104,107,108,110,110,112,115,115,115,116,119,120,120,123,123,127,127,128,128,131,131,132,134,138,138,138,139,141,141,142,145,146,146,146,146,149,149,153,153,153,153,157,157,160,160,162,163,163,163,166,166,169,169,171,172,172,172,175,175,178,178,179,181,181,181,183,184,187,187,187,190,190,190,190,193,193,193,195,195,198,198,200,200,200,200,203,203,205,205,205,207,208,208,210,210,213,213,213,213,215,215,216,218,218,218,220,220,223,223,223,225,225,225,225,228,228,228,230,230,232,232,232,235,235,235,237,237,239,239,239,239,241,241,243,243,243,243,245,245,248,248,248,250,250,250,252,252,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,253,255,255,255,255,227,202,202,177,145,143,143,164,171,177,177,178,179,179,179,180,183,184,184,184,187,190,190,192,192,196,196,197,200,201,201,202,206,207,207,207,209,211,211,213,214,215,215,217,218,219,219,221,221,221,221,223,224,224,224,227,227,229,229,229,230,232,232,233,233,235,235,236,236,236,236,237,237,238,238,238,238,249,249,247,241,214,214,174,141,132,132,126,127,132,132,141,145,159,159,166,177,182,182,187,188,189,189,189,190,194,194,195,198,199,199,200,203,206,206,207,207,209,209,210,212,213,213,213,215,216,216,217,218,219,219,221,221,221,221,224,224,225,225,226,227,228,228,229,229,230,230,231,232,232,232,233,235,235,235,236,236,237,237,238,238,239,239,240,240,240,240,241,241,242,242,242,243,243,243,243,244,245,245,245,246,246,246,247,247,247,247,247,248,248,248,249,249,249,249,249,250,250,250,250,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,253,255,255,255,255,251,251,183,136,134,134,140,161,166,166,166,167,168,168,170,172,173,173,173,178,178,178,179,180,182,182,185,187,187,187,188,190,193,193,193,194,195,195,196,196,198,198,199,200,202,202,203,207,207,207,207,208,210,210,211,212,213,213,213,215,216,216,217,217,218,218,218,218,220,220,220,220,220,220,220,222,227,227,231,231,233,233,226,215,199,199,180,146,146,146,137,134,134,134,134,145,153,153,159,163,165,165,166,166,166,166,167,169,169,169,170,172,173,173,174,174,177,177,177,179,180,180,181,184,184,184,185,188,188,188,189,190,191,191,192,195,196,196,196,197,199,199,199,200,201,201,202,203,204,204,207,207,208,208,208,209,212,212,213,213,215,215,216,217,217,217,217,219,220,220,221,221,222,222,223,224,224,224,225,227,228,228,229,229,229,229,230,231,232,232,233,233,234,234,235,236,237,237,237,237,238,238,239,240,240,240,241,241,242,242,242,243,243,243,243,244,244,244,244,245,246,246,246,246,246,246,247,247,247,247,248,248,249,249,249,249,250,250,250,250,250,250,251,251,250,250,250,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,254,254,254,255,255,255,255,248,220,220,188,159,142,142,150,150,166,166,166,167,170,170,170,172,172,172,173,175,174,174,174,177,176,176,177,177,178,178,177,178,179,179,179,179,179,179,180,180,180,180,181,180,181,181,181,182,182,182,183,184,183,183,184,183,152,152,152,141,150,150,155,155,168,168,168,175,178,178,178,180,184,184,183,187,187,187,189,184,184,184,177,165,151,151,109,109,103,103,101,104,115,115,120,122,125,125,127,129,129,129,129,129,128,128,128,129,129,129,130,129,131,131,131,130,132,132,131,131,131,131,124,110,109,109,109,109,110,110,110,111,110,110,103,103,104,104,103,107,105,105,105,102,99,99,99,100,101,101,102,104,105,105,105,104,105,105,105,106,105,105,106,106,105,105,105,106,106,106,105,105,105,105,106,105,104,104,105,105,104,104,104,103,103,103,104,102,103,103,101,102,101,101,101,100,100,100,99,99,100,100,98,97,97,97,97,96,96,96,94,94,92,92,92,93,91,91,90,90,90,90,88,86,86,86,89,61,55,55,56,57,57,57,56,56,56,56,53,53,52,52,52,51,51,51,52,51,51,51,51,51,51,51,50,51,49,49,50,50,49,49,48,45,45,45,38,39,38,38,38,38,38,38,38,38,34,34,32,32,32,32,31,31,32,32,31,31,31,31,29,30,29,29,29,29,27,27,28,26,27,27,25,23,23,23,19,14,14,14,15,14,15,15,15,14,14,14,13,13,12,12,12,10,10,10,9,9,9,9,9,7,6,6,4,4,3,3,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,5,5,5,6,6,6,6,8,10,10,10,10,10,10,12,12,14,14,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Cheers
Phil