Test for frog ?
//////////////////////////////////////////////////////////////////////////////
Test for frog
かえる君のためのテスト
サウンドがあまり奇麗に出なくてごめんなさい。
//////////////////////////////////////////////////////////////////////////////
/**
* Copyright bkzen ( http://wonderfl.net/user/bkzen )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ndN3
*/
// forked from Test for frog
////////////////////////////////////////////////////////////////////////////////
// Test for frog
// かえる君のためのテスト
//
// サウンドがあまり奇麗に出なくてごめんなさい。
////////////////////////////////////////////////////////////////////////////////
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.SampleDataEvent;
import flash.media.Sound;
import flash.media.SoundTransform;
import flash.system.Security;
import flash.utils.ByteArray;
import flash.utils.describeType;
[SWF(backgroundColor="#FFFFFF", width="465", height="465", frameRate="30")]
public class Main extends Sprite {
private var loader:FrogLoader;
private static var frogPath:String = "http://www.project-nya.jp/images/flash/frogA.swf";
private var frog:MovieClip;
private var sound: Sound;
private var bytes: Vector.<ByteArray>;
private const volume: Number = 0.1;
private var index: int;
public function Main() {
Wonderfl.capture_delay(1);
init();
}
private function init():void {
sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, onSoundData);
bytes = new Vector.<ByteArray>();
var n: int = data1.length, buffer: ByteArray, bufferLen: uint = 65536 >> 2;
for (var i:int = 0; i < n; i++)
{
var val: Number = data1[i] * volume;
var len: uint = data2[i];
for (var j:int = 0; j < len; j++)
{
buffer ||= new ByteArray();
buffer.writeFloat(val);
if (buffer.length >> 2 == bufferLen)
{
bytes.push(buffer);
buffer = null;
}
}
}
bytes.fixed = true;
loader = new FrogLoader();
loader.addEventListener(FrogLoader.COMPLETE, complete, false, 0, true);
loader.load(frogPath);
}
private function complete(evt:Event):void {
loader.removeEventListener(FrogLoader.COMPLETE, complete);
frog = loader.content;
addChild(frog);
frog.x = 232;
frog.y = 350;
frog.buttonMode = true;
frog.addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
frog.addEventListener(MouseEvent.CLICK, click, false, 0, true);
}
private function over(evt:MouseEvent):void {
frog.swingHead();
}
private function click(evt:MouseEvent):void {
index = 0;
sound.play();
}
private function onSoundData(e:SampleDataEvent):void
{
if (index == bytes.length - 1)
{
sound.removeEventListener(SampleDataEvent.SAMPLE_DATA, onSoundData);
return;
}
e.data.writeBytes(bytes[index]);
index++;
}
}
}
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.HTTPStatusEvent;
import flash.events.SecurityErrorEvent;
import flash.system.Security;
class FrogLoader extends Sprite {
private var loader:Loader;
private var info:LoaderInfo;
public var content:MovieClip;
public static const IO_ERROR:String = IOErrorEvent.IO_ERROR;
public static const HTTP_STATUS:String = HTTPStatusEvent.HTTP_STATUS;
public static const SECURITY_ERROR:String = SecurityErrorEvent.SECURITY_ERROR;
public static const INIT:String = Event.INIT;
public static const COMPLETE:String = Event.COMPLETE;
public function FrogLoader() {
Security.allowDomain("www.project-nya.jp");
loader = new Loader();
info = loader.contentLoaderInfo;
}
public function load(file:String):void {
info.addEventListener(IOErrorEvent.IO_ERROR, ioerror, false, 0, true);
info.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpstatus, false, 0, true);
info.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityerror, false, 0, true);
info.addEventListener(Event.INIT, initialize, false, 0, true);
info.addEventListener(Event.COMPLETE, complete, false, 0, true);
try {
loader.load(new URLRequest(file));
} catch (err:Error) {
trace(err.message);
}
}
public function unload():void {
loader.unload();
}
private function ioerror(evt:IOErrorEvent):void {
loader.unload();
dispatchEvent(new Event(FrogLoader.IO_ERROR));
}
private function httpstatus(evt:HTTPStatusEvent):void {
dispatchEvent(new Event(FrogLoader.HTTP_STATUS));
}
private function securityerror(evt:SecurityErrorEvent):void {
dispatchEvent(new Event(FrogLoader.SECURITY_ERROR));
}
private function initialize(evt:Event):void {
content = MovieClip(info.content);
dispatchEvent(new Event(FrogLoader.INIT));
}
private function complete(evt:Event):void {
info.removeEventListener(IOErrorEvent.IO_ERROR, ioerror);
info.removeEventListener(HTTPStatusEvent.HTTP_STATUS, httpstatus);
info.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityerror);
info.removeEventListener(Event.INIT, initialize);
info.removeEventListener(Event.COMPLETE, complete);
//addChild(loader);
dispatchEvent(new Event(FrogLoader.COMPLETE));
}
}
const data1: Vector.<Number> = Vector.<Number>([0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0, 0.5, 0, -0.5, 0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, -0.437007874015748, 0, 0.437007874015748, 0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, -0.3425196850393701, 0, 0.3425196850393701, 0, -0.3425196850393701, 0, 0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, -0.21653543307086617, 0, 0.21653543307086617, 0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0, -0.0905511811023622, 0, 0.0905511811023622, 0.09029041012730551, 0.09002963915224882, 0.08976886817719212, 0.08950809720213544, 0.08924732622707875, 0.08898655525202205, 0.08872578427696536, 0.08846501330190866, 0.08820424232685196, 0.08794347135179527, 0.08768270037673859, 0.08742192940168189, 0.0871611584266252, 0.0869003874515685, 0.0866396164765118, 0, -0.07542646454907398, -0.07516569357401728, -0.07490492259896059, -0.0746441516239039, -0.07438338064884721, -0.07412260967379052, -0.07386183869873382, -0.07360106772367712, -0.07334029674862043, -0.07307952577356373, -0.07281875479850705, -0.07255798382345036, -0.07229721284839366, -0.07203644187333696, -0.07177567089828027, -0.07151489992322357, -0.07125412894816688, -0.0709933579731102, -0.0707325869980535, -0.0704718160229968, -0.07021104504794011, -0.06995027407288341, -0.06968950309782672, -0.06942873212277002, -0.06916796114771334, -0.06890719017265665, -0.06864641919759995, -0.06838564822254325, -0.06812487724748656, -0.06786410627242986, -0.06760333529737317, -0.06734256432231649, -0.06708179334725979, -0.0668210223722031, -0.0665602513971464, -0.0662994804220897, -0.06603870944703301, -0.06577793847197631, -0.06551716749691962, -0.06525639652186294, -0.06499562554680624, -0.06473485457174954, -0.06447408359669285, -0.06421331262163615, -0.06395254164657946, -0.06369177067152276, -0.06343099969646608, -0.06317022872140939, -0.06290945774635269, -0.062648686771296, -0.0623879157962393, -0.06212714482118261, -0.061866373846125915, -0.06160560287106922, -0.06134483189601253, -0.061084060920955835, -0.06082328994589914, -0.06056251897084245, -0.060301747995785755, -0.06004097702072906, -0.05978020604567237, -0.05951943507061567, -0.05925866409555898, -0.05899789312050229, -0.05873712214544559, -0.0584763511703889, -0.058215580195332205, -0.05795480922027551, -0.057694038245218814, -0.057433267270162125, -0.05717249629510543, -0.056911725320048734, -0.056650954344992045, -0.05639018336993535, -0.056129412394878654, -0.05586864141982196, 0, -0.05143553484385817, -0.05117476386880147, -0.050913992893744785, 0, -0.026140750263359262, -0.025879979288302577, -0.025619208313245885, -0.025358437338189196, -0.025097666363132508, -0.02483689538807582, -0.02457612441301913, -0.02431535343796244, -0.024054582462905753, -0.023793811487849065, -0.023533040512792376, -0.023272269537735688, -0.023011498562679, -0.02275072758762231, -0.02248995661256562, -0.022229185637508933, -0.021968414662452244, -0.021707643687395556, -0.021446872712338867, -0.02118610173728218, 0, -0.016752995161318472, -0.016492224186261784, -0.016231453211205095, -0.01597068223614841, -0.01570991126109172, -0.01544914028603503, -0.015188369310978342, -0.014927598335921654, -0.014666827360864963, -0.014406056385808276, -0.014145285410751588, -0.0138845144356949, -0.01362374346063821, -0.013362972485581522, -0.013102201510524832, -0.012841430535468145, -0.012580659560411456, -0.012319888585354767, -0.01205911761029808, -0.01179834663524139, -0.011537575660184702, -0.011276804685128011, -0.011016033710071324, -0.010755262735014632, -0.010494491759957944, -0.010233720784901252, -0.009972949809844565, -0.009712178834787873, -0.009451407859731184, -0.009190636884674494, -0.008929865909617803, -0.008669094934561115, -0.008408323959504424, -0.008147552984447734, -0.007886782009391045, -0.007626011034334355, -0.007365240059277665, -0.007104469084220975, -0.006843698109164286, -0.006582927134107595, -0.006322156159050906, -0.006061385183994216, -0.005800614208937526, -0.005539843233880837, -0.005279072258824148, -0.0050183012837674585, -0.004757530308710769, -0.0044967593336540795, -0.004235988358597391, -0.0039752173835407014, -0.003714446408484013, -0.0034536754334273233, -0.003192904458370634, -0.002932133483313945, -0.0026713625082572553, -0.0024105915332005663, -0.0021498205581438772, -0.001889049583087188, -0.0016282786080304987, 0]);
const data2: Vector.<uint> = Vector.<uint>([44, 26, 100, 42, 64, 62, 8, 34, 126, 42, 4, 68, 56, 42, 110, 16, 42, 10, 116, 42, 48, 70, 8, 44, 126, 28, 14, 54, 72, 42, 94, 32, 36, 6, 128, 42, 30, 70, 26, 42, 126, 12, 30, 40, 86, 44, 76, 50, 18, 24, 126, 42, 16, 68, 42, 42, 122, 6, 42, 22, 104, 42, 60, 66, 2, 40, 68, 22, 116, 32, 20, 86, 62, 20, 56, 92, 20, 26, 124, 14, 6, 132, 16, 20, 100, 48, 20, 70, 78, 22, 38, 110, 20, 8, 138, 2, 20, 116, 32, 20, 86, 64, 20, 52, 96, 20, 22, 126, 12, 8, 130, 18, 22, 98, 50, 20, 68, 80, 20, 38, 110, 20, 6, 138, 6, 20, 112, 36, 20, 82, 66, 20, 52, 38, 44, 26, 100, 42, 64, 62, 8, 34, 126, 42, 4, 68, 56, 42, 110, 16, 42, 10, 116, 42, 48, 70, 8, 44, 126, 28, 14, 54, 72, 42, 94, 32, 36, 6, 128, 42, 30, 70, 26, 42, 126, 12, 30, 40, 86, 44, 76, 50, 18, 24, 126, 42, 16, 68, 42, 42, 122, 6, 42, 22, 104, 42, 60, 66, 2, 40, 126, 110, 60, 42, 104, 22, 42, 6, 120, 42, 44, 70, 14, 42, 126, 24, 18, 50, 76, 42, 90, 36, 32, 10, 128, 42, 26, 70, 30, 42, 126, 8, 34, 34, 92, 44, 72, 2, 22, 116, 32, 20, 86, 62, 20, 56, 92, 20, 26, 124, 14, 6, 132, 16, 20, 100, 48, 20, 70, 78, 22, 38, 110, 20, 8, 138, 2, 20, 116, 32, 20, 86, 64, 20, 52, 96, 20, 22, 126, 12, 8, 130, 18, 22, 98, 50, 20, 68, 80, 20, 38, 110, 20, 6, 138, 6, 20, 112, 36, 20, 82, 66, 20, 52, 96, 22, 20, 128, 10, 10, 126, 22, 20, 20, 44, 26, 100, 42, 64, 62, 8, 34, 126, 42, 4, 68, 56, 42, 110, 16, 42, 10, 116, 42, 48, 70, 8, 44, 126, 28, 14, 54, 72, 42, 94, 32, 36, 6, 128, 42, 30, 70, 26, 42, 126, 12, 30, 40, 86, 44, 76, 50, 18, 24, 126, 42, 16, 68, 42, 42, 122, 6, 42, 22, 104, 42, 60, 66, 2, 40, 68, 22, 116, 32, 20, 86, 62, 20, 56, 92, 20, 26, 124, 14, 6, 132, 16, 20, 100, 48, 20, 70, 78, 22, 38, 110, 20, 8, 138, 2, 20, 116, 32, 20, 86, 64, 20, 52, 96, 20, 22, 126, 12, 8, 130, 18, 22, 98, 50, 20, 68, 80, 20, 38, 110, 20, 6, 138, 6, 20, 112, 36, 20, 82, 66, 20, 52, 36, 64, 26, 164, 62, 42, 90, 58, 64, 146, 42, 46, 18, 190, 60, 2, 88, 102, 62, 104, 86, 2, 62, 188, 18, 46, 44, 146, 62, 60, 90, 40, 64, 164, 24, 64, 190, 62, 16, 90, 84, 62, 122, 68, 20, 44, 134, 32, 148, 74, 30, 74, 148, 30, 180, 42, 30, 106, 118, 30, 30, 180, 12, 30, 136, 86, 30, 62, 160, 18, 14, 166, 56, 30, 92, 130, 30, 18, 180, 24, 30, 124, 100, 30, 48, 174, 4, 26, 154, 68, 30, 80, 142, 32, 4, 180, 38, 30, 110, 112, 30, 36, 180, 6, 30, 142, 82, 30, 64, 64, 26, 164, 62, 42, 90, 58, 64, 146, 42, 46, 18, 190, 60, 2, 88, 102, 62, 104, 86, 2, 62, 188, 18, 46, 44, 146, 62, 60, 90, 40, 64, 164, 24, 64, 190, 62, 16, 90, 84, 62, 122, 68, 20, 44, 188, 36, 28, 62, 128, 62, 66, 32, 148, 74, 30, 74, 148, 30, 180, 42, 30, 106, 118, 30, 30, 180, 12, 30, 136, 86, 30, 62, 160, 18, 14, 166, 56, 30, 92, 130, 30, 18, 180, 24, 30, 124, 100, 30, 48, 174, 4, 26, 154, 68, 30, 80, 142, 32, 4, 180, 38, 30, 110, 112, 30, 36, 98, 64, 26, 164, 62, 42, 90, 58, 64, 146, 42, 46, 18, 190, 60, 2, 88, 102, 62, 104, 86, 2, 62, 188, 18, 46, 44, 146, 62, 60, 90, 40, 64, 164, 24, 64, 190, 62, 16, 90, 84, 62, 122, 68, 20, 44, 134, 32, 148, 74, 30, 74, 148, 30, 180, 42, 30, 106, 118, 30, 30, 180, 12, 30, 136, 86, 30, 62, 132, 64, 26, 164, 62, 42, 90, 58, 64, 146, 42, 46, 18, 190, 60, 2, 88, 102, 62, 104, 86, 2, 62, 188, 18, 46, 44, 146, 62, 60, 90, 40, 64, 164, 24, 64, 190, 62, 16, 90, 84, 62, 122, 68, 20, 44, 134, 32, 148, 74, 30, 74, 148, 30, 180, 42, 30, 106, 118, 30, 30, 180, 12, 30, 136, 86, 30, 62, 160, 18, 14, 166, 56, 30, 92, 130, 30, 18, 180, 24, 30, 124, 100, 30, 48, 174, 4, 26, 154, 68, 30, 80, 88, 68, 28, 172, 68, 44, 94, 62, 68, 154, 46, 48, 18, 202, 64, 2, 92, 108, 68, 108, 92, 4, 64, 200, 20, 46, 48, 154, 66, 64, 94, 44, 66, 174, 26, 68, 200, 68, 16, 94, 90, 66, 128, 74, 2, 34, 156, 78, 32, 80, 156, 32, 190, 46, 32, 112, 124, 32, 32, 190, 12, 32, 144, 92, 32, 66, 170, 20, 12, 176, 60, 32, 98, 138, 32, 18, 190, 26, 32, 132, 104, 32, 52, 184, 6, 26, 162, 74, 68, 28, 172, 68, 44, 94, 62, 68, 154, 46, 48, 18, 202, 64, 2, 92, 108, 68, 108, 92, 4, 64, 200, 20, 46, 48, 154, 66, 64, 94, 44, 66, 174, 26, 68, 200, 68, 16, 94, 90, 66, 128, 74, 2, 34, 156, 78, 32, 80, 156, 32, 190, 46, 32, 112, 124, 32, 32, 190, 12, 32, 144, 92, 32, 66, 170, 20, 12, 176, 60, 32, 98, 138, 32, 18, 190, 26, 32, 132, 104, 32, 52, 184, 6, 26, 162, 74, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 84, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 32, 2, 2, 2, 188, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 457890]);