Initial commit.
authorBernie Innocenti <bernie@codewiz.org>
Sun, 19 Mar 2017 07:51:39 +0000 (03:51 -0400)
committerBernie Innocenti <bernie@codewiz.org>
Sun, 19 Mar 2017 07:54:51 +0000 (03:54 -0400)
Cargo.toml [new file with mode: 0644]
mandel.rs [new file with mode: 0644]
support/camera.rs [new file with mode: 0644]
support/mod.rs [new file with mode: 0644]
support/teapot.obj [new file with mode: 0644]

diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644 (file)
index 0000000..f5a8a15
--- /dev/null
@@ -0,0 +1,14 @@
+[package]
+name = "mandel"
+version = "0.1.0"
+authors = ["Bernie Innocenti <bernie@codewiz.org>"]
+
+[dependencies]
+glium = "*"
+glutin = "*"
+genmesh = "0.4"
+obj = { version = "0.5", features = ["usegenmesh"] }
+
+[[bin]]
+name = "mandel"
+path = "mandel.rs"
diff --git a/mandel.rs b/mandel.rs
new file mode 100644 (file)
index 0000000..faab612
--- /dev/null
+++ b/mandel.rs
@@ -0,0 +1,182 @@
+#[macro_use]
+
+extern crate glium;
+
+use glium::DisplayBuild;
+use glium::Surface;
+//use glium::index::PrimitiveType;
+
+mod support;
+
+#[derive(Copy, Clone)]
+struct Vertex {
+    position: [f32; 3],
+    color: [f32; 3],
+}
+implement_vertex!(Vertex, position, color);
+
+fn mand(cx: f32, cy: f32) -> [f32; 3] {
+    let mut maxiter = 64;
+    let mut iter = maxiter;
+    let mut zx = cx;
+    let mut zy = cy;
+    while iter > 0 {
+        let zx2 = zx * zx;
+        let zy2 = zy * zy;
+        if zx2 + zy2 > 4.0 {
+            return [iter as f32 / maxiter as f32, 1.0, 1.0];
+        }
+        zy = zx * zy * 2.0 + cy;
+        zx = zx2 - zy2 + cx;
+        iter -= 1;
+    }
+
+    [0.0, 0.0, 0.0]
+}
+
+fn mandel<U>(display: &glium::Display,
+          frame: &mut glium::Frame,
+          uniforms: &U,
+          t: f32) where U: glium::uniforms::Uniforms {
+    let program = program!(display,
+        140 => {
+            vertex: "
+                #version 140
+                uniform mat4 perspective;
+                uniform mat4 view;
+                uniform mat4 model;
+                in vec3 position;
+                in vec3 color;
+                out vec2 c;
+                void main() {
+                    mat4 modelview = view * model;
+                    gl_Position = perspective * modelview * vec4(position, 1.0);
+                    c = vec2(gl_Position.x, gl_Position.y);
+                }
+            ",
+
+            fragment: "
+                #version 140
+                precision mediump float;
+                in vec2 c;
+                out vec4 f_color;
+
+                void main() {
+                    float zx = c.x;
+                    float zy = c.y;
+                    int iter = 64;
+                    while (iter > 0) {
+                        float zx2 = zx * zx;
+                        float zy2 = zy * zy;
+                        if (zx2 * zy2 > 4.0) {
+                          f_color = vec4(0, 0, 0, 0);
+                          return;
+                        }
+                        zy = zx * zy * 2.0 + c.y;
+                        zx = zx2 - zy2 + c.x;
+                        iter -= 1;
+                    }
+                    f_color = vec4(1.0, 1.0, 1.0, 1.0);
+                    //f_color = vec4(vColor, 1.0);
+                }
+            "
+        }).unwrap();
+
+    let xmin = -1.3;
+    let xmax =  0.7;
+    let ymin = -1.0;
+    let ymax =  1.0;
+    let width = xmax - xmin;
+    let height = ymax - ymin;
+    let xres: usize = 100;
+    let yres: usize = 100;
+    let xstep = width / xres as f32;
+    let ystep = height / yres as f32;
+    let vb_size = (xres * 2 + 4) * yres;
+    let mut v : Vec<Vertex> = Vec::with_capacity(vb_size);
+    v.resize(vb_size, Vertex { position: [0.0, 0.0, 1.0], color: [0.0, 0.0, 0.0] });
+    let mut i: usize = 0;
+    let mut vy = ymin;
+    for _ in 0..yres {
+        let mut vx = xmin;
+        v[i] = Vertex { position: [vx, vy+ystep, 1.0], color: [0.0, 0.0, 0.0] }; i+=1;
+        v[i] = Vertex { position: [vx, vy, 1.0], color: [vx, vy, 0.0] }; i+=1;
+        for _ in 0..xres {
+            let c = mand(vx, vy);
+            v[i] = Vertex { position: [vx+xstep, vy+ystep, 1.0], color: c }; i += 1;
+            v[i] = Vertex { position: [vx+xstep, vy      , 1.0], color: c }; i += 1;
+            vx += xstep;
+        }
+        v[i] = Vertex { position: [vx+xstep, vy, 1.0], color: [0.0, 0.0, 0.0] }; i+=1;
+        v[i] = Vertex { position: [vx+xstep, vy, 1.0], color: [0.0, 0.0, 0.0] }; i+=1;
+        vy += ystep;
+    }
+    //let vb = glium::VertexBuffer::empty_persistent(display, width*height*3).unwrap();
+    let vb = glium::VertexBuffer::new(display, &v).unwrap();
+
+    //let indices = glium::index::NoIndices(glium::index::PrimitiveType::TriangleStrip);
+    let indices = glium::index::NoIndices(glium::index::PrimitiveType::LineStrip);
+    //let indices = glium::IndexBuffer::new(display, PrimitiveType::TrianglesList,
+    //                                      &[0u16, 1, 2]).unwrap();
+
+    let params = glium::DrawParameters {
+        depth: glium::Depth {
+            test: glium::draw_parameters::DepthTest::IfLess,
+            write: true,
+            .. Default::default()
+        },
+        .. Default::default()
+    };
+
+    //let mut s = display.draw();
+    frame.draw(&vb, &indices, &program, uniforms, &params).unwrap();
+}
+
+fn main() {
+
+    let display = glium::glutin::WindowBuilder::new()
+        .with_dimensions(1024, 768)
+        .with_depth_buffer(24)
+        .with_title(format!("Mandel"))
+        .build_glium()
+        .unwrap();
+
+    let mut camera = support::camera::CameraState::new();
+
+    //let mut t: f32 = -0.5;
+    let mut t: f32 = 0.0;
+    support::start_loop(|| {
+        camera.update();
+
+        //t += 0.002;
+        //println!("t={}", t);
+
+        let mut frame = display.draw();
+        frame.clear_color_and_depth((0.0, 0.0, 0.5, 1.0), 1.0);
+
+        let model = [
+            [ (t*5.0).cos(), (t*3.0).sin(), 0.0, 0.0],
+            [-t.sin(),       -t.cos(),      0.0, 0.0],
+            [     0.0,                      0.0, 1.0, 0.0],
+            [       t,                      0.0, 0.0, 1.0f32]
+        ];
+
+        let uniforms = uniform! {
+            model: model,
+            view:  camera.get_view(), // view_matrix(&[2.0, -1.0, 1.0], &[-2.0, 1.0, 1.0], &[0.0, 1.0, 0.0]),
+            perspective: camera.get_perspective(), // perspective,
+        };
+
+        mandel(&display, &mut frame, &uniforms, t);
+
+        for ev in display.poll_events() {
+            match ev {
+                glium::glutin::Event::Closed => return support::Action::Stop,
+                ev => camera.process_input(&ev),
+            }
+        }
+
+        frame.finish().unwrap();
+        support::Action::Continue
+    });
+}
diff --git a/support/camera.rs b/support/camera.rs
new file mode 100644 (file)
index 0000000..1b56d7d
--- /dev/null
@@ -0,0 +1,251 @@
+extern crate glutin;
+
+use std::f32;
+use std::ops::Add;
+use std::ops::AddAssign;
+use std::ops::Sub;
+use std::ops::Mul;
+
+//use glutin::Event;
+//use glutin::VirtualKeyCode;
+
+#[derive(Default, PartialEq, Debug, Clone, Copy)]
+pub struct Vec3 (f32, f32, f32);
+
+impl Add for Vec3 {
+    type Output = Vec3;
+    fn add(self, other: Vec3) -> Vec3 {
+        Vec3(self.0 + other.0, self.1 + other.1, self.2 + other.2)
+    }
+}
+
+impl AddAssign for Vec3 {
+    fn add_assign(&mut self, other: Vec3) {
+        *self = Vec3(self.0 + other.0, self.1 + other.1, self.2 + other.2)
+    }
+}
+
+impl Sub for Vec3 {
+    type Output = Vec3;
+    fn sub(self, other: Vec3) -> Vec3 {
+        Vec3(self.0 - other.0, self.1 - other.1, self.2 - other.2)
+    }
+}
+
+impl Mul<f32> for Vec3 {
+    type Output = Vec3;
+    fn mul(self, f: f32) -> Vec3 {
+        Vec3(self.0 * f, self.1 * f, self.2 * f)
+    }
+}
+
+#[derive(Default)]
+pub struct CameraState {
+    aspect_ratio: f32,
+    pos: Vec3,
+    dir: Vec3,
+
+    moving_up: bool,
+    moving_left: bool,
+    moving_down: bool,
+    moving_right: bool,
+    moving_forward: bool,
+    moving_backward: bool,
+    turning_up: bool,
+    turning_left: bool,
+    turning_down: bool,
+    turning_right: bool,
+}
+
+fn norm(v: &Vec3) -> Vec3 {
+    let len = (v.0 * v.0 + v.1 * v.1 + v.2 * v.2).sqrt();
+    Vec3(v.0 / len, v.1 / len, v.2 / len)
+}
+
+impl CameraState {
+    pub fn new() -> CameraState {
+        CameraState {
+            aspect_ratio: 1024.0 / 768.0,
+            pos: Vec3(0.0, 0.0, 0.0),
+            dir: Vec3(0.0, 0.0, 1.0),
+            .. Default::default()
+        }
+    }
+
+    pub fn set_pos(&mut self, pos: Vec3) {
+        self.pos = pos;
+    }
+
+    pub fn set_dir(&mut self, dir: Vec3) {
+        self.dir = dir;
+    }
+
+    pub fn get_perspective(&self) -> [[f32; 4]; 4] {
+        let fov: f32 = 3.141592 / 2.0;
+        let zfar = 1024.0;
+        let znear = 0.1;
+
+        let f = 1.0 / (fov / 2.0).tan();
+
+        // note: remember that this is column-major, so the lines of code are actually columns
+        [
+            [f / self.aspect_ratio,    0.0,              0.0              ,   0.0],
+            [         0.0         ,     f ,              0.0              ,   0.0],
+            [         0.0         ,    0.0,  (zfar+znear)/(zfar-znear)    ,   1.0],
+            [         0.0         ,    0.0, -(2.0*zfar*znear)/(zfar-znear),   0.0],
+        ]
+    }
+
+
+    pub fn get_view(&self) -> [[f32; 4]; 4] {
+        let f = norm(&self.dir);
+
+        let up = Vec3(0.0, 1.0, 0.0);
+
+        let s = Vec3(f.1 * up.2 - f.2 * up.1,
+                     f.2 * up.0 - f.0 * up.2,
+                     f.0 * up.1 - f.1 * up.0);
+        let sn = norm(&s);
+
+        let u = (sn.1 * f.2 - sn.2 * f.1,
+                 sn.2 * f.0 - sn.0 * f.2,
+                 sn.0 * f.1 - sn.1 * f.0);
+
+        let p = (-self.pos.0 * s.0 - self.pos.1 * s.1 - self.pos.2 * s.2,
+                 -self.pos.0 * u.0 - self.pos.1 * u.1 - self.pos.2 * u.2,
+                 -self.pos.0 * f.0 - self.pos.1 * f.1 - self.pos.2 * f.2);
+
+        // note: remember that this is column-major, so the lines of code are actually columns
+        [
+            [sn.0, u.0, f.0, 0.0],
+            [sn.1, u.1, f.1, 0.0],
+            [sn.2, u.2, f.2, 0.0],
+            [p.0,  p.1, p.2, 1.0],
+        ]
+    }
+
+    pub fn update(&mut self) {
+        let f = norm(&self.dir);
+
+        let up = Vec3(0.0, 1.0, 0.0);
+
+        let s = Vec3(f.1 * up.2 - f.2 * up.1,
+                     f.2 * up.0 - f.0 * up.2,
+                     f.0 * up.1 - f.1 * up.0);
+
+        let s = norm(&s);
+
+        let u = Vec3(s.1 * f.2 - s.2 * f.1,
+                     s.2 * f.0 - s.0 * f.2,
+                     s.0 * f.1 - s.1 * f.0);
+
+        if self.moving_up {
+            self.pos += u * 0.01;
+        }
+        if self.moving_left {
+            self.pos.0 -= s.0 * 0.01;
+            self.pos.1 -= s.1 * 0.01;
+            self.pos.2 -= s.2 * 0.01;
+        }
+        if self.moving_down {
+            self.pos.0 -= u.0 * 0.01;
+            self.pos.1 -= u.1 * 0.01;
+            self.pos.2 -= u.2 * 0.01;
+        }
+        if self.moving_right {
+            self.pos += s * 0.01;
+        }
+        if self.moving_forward {
+            self.pos += f * 0.01;
+        }
+        if self.moving_backward {
+            self.pos.0 -= f.0 * 0.01;
+            self.pos.1 -= f.1 * 0.01;
+            self.pos.2 -= f.2 * 0.01;
+        }
+        if self.turning_left {
+            let a: f32 = -0.05;
+            self.dir = Vec3(f.0 * a.cos() + f.2 * a.sin(), f.1, - f.0 * a.sin() + f.2 * a.cos());
+        }
+        if self.turning_right {
+            let a: f32 = 0.05;
+            self.dir = Vec3(f.0 * a.cos() + f.2 * a.sin(), f.1, - f.0 * a.sin() + f.2 * a.cos());
+        }
+        if self.turning_up {
+            let a: f32 = -0.05;
+            self.dir = Vec3(f.0, f.1 * a.cos() - f.2 * a.sin(), f.1 * a.sin() + f.2 * a.cos());
+        }
+        if self.turning_down {
+            let a: f32 = 0.05;
+            self.dir = Vec3(f.0, f.1 * a.cos() - f.2 * a.sin(), f.1 * a.sin() + f.2 * a.cos());
+        }
+        //println!("camera_pos = {:?}", self.pos);
+        //println!("camera_dir = {:?}", self.dir);
+    }
+
+    pub fn process_input(&mut self, event: &glutin::Event) {
+        match event {
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Up)) => {
+                self.moving_up = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Up)) => {
+                self.moving_up = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Down)) => {
+                self.moving_down = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Down)) => {
+                self.moving_down = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Left)) => {
+                self.moving_left = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Left)) => {
+                self.moving_left = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Right)) => {
+                self.moving_right = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Right)) => {
+                self.moving_right = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::A)) => {
+                self.turning_left = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::A)) => {
+                self.turning_left = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::D)) => {
+                self.turning_right = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::D)) => {
+                self.turning_right = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::W)) => {
+                self.moving_forward = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::W)) => {
+                self.moving_forward = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::S)) => {
+                self.moving_backward = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::S)) => {
+                self.moving_backward = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::R)) => {
+                self.turning_up = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::R)) => {
+                self.turning_up = false;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::F)) => {
+                self.turning_down = true;
+            },
+            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::F)) => {
+                self.turning_down = false;
+            },
+            _ => {}
+        }
+    }
+}
diff --git a/support/mod.rs b/support/mod.rs
new file mode 100644 (file)
index 0000000..068a524
--- /dev/null
@@ -0,0 +1,84 @@
+#![allow(dead_code)]
+
+extern crate genmesh;
+extern crate obj;
+
+use std::thread;
+use std::time::{Duration, Instant};
+use glium::{self, Display};
+use glium::vertex::VertexBufferAny;
+
+pub mod camera;
+
+pub enum Action {
+    Stop,
+    Continue,
+}
+
+pub fn start_loop<F>(mut callback: F) where F: FnMut() -> Action {
+    let mut accumulator = Duration::new(0, 0);
+    let mut previous_clock = Instant::now();
+
+    loop {
+        match callback() {
+            Action::Stop => break,
+            Action::Continue => ()
+        };
+
+        let now = Instant::now();
+        accumulator += now - previous_clock;
+        previous_clock = now;
+
+        let fixed_time_stamp = Duration::new(0, 16666667);
+        while accumulator >= fixed_time_stamp {
+            accumulator -= fixed_time_stamp;
+
+            // if you have a game, update the state here
+        }
+
+        thread::sleep(fixed_time_stamp - accumulator);
+    }
+}
+
+/// Returns a vertex buffer that should be rendered as `TrianglesList`.
+pub fn load_wavefront(display: &Display, data: &[u8]) -> VertexBufferAny {
+    #[derive(Copy, Clone)]
+    struct Vertex {
+        position: [f32; 3],
+        normal: [f32; 3],
+        texture: [f32; 2],
+    }
+
+    implement_vertex!(Vertex, position, normal, texture);
+
+    let mut data = ::std::io::BufReader::new(data);
+    let data = obj::Obj::load(&mut data);
+
+    let mut vertex_data = Vec::new();
+
+    for object in data.object_iter() {
+        for shape in object.group_iter().flat_map(|g| g.indices().iter()) {
+            match shape {
+                &genmesh::Polygon::PolyTri(genmesh::Triangle { x: v1, y: v2, z: v3 }) => {
+                    for v in [v1, v2, v3].iter() {
+                        let position = data.position()[v.0];
+                        let texture = v.1.map(|index| data.texture()[index]);
+                        let normal = v.2.map(|index| data.normal()[index]);
+
+                        let texture = texture.unwrap_or([0.0, 0.0]);
+                        let normal = normal.unwrap_or([0.0, 0.0, 0.0]);
+
+                        vertex_data.push(Vertex {
+                            position: position,
+                            normal: normal,
+                            texture: texture,
+                        })
+                    }
+                },
+                _ => unimplemented!()
+            }
+        }
+    }
+
+    glium::vertex::VertexBuffer::new(display, &vertex_data).unwrap().into_vertex_buffer_any()
+}
diff --git a/support/teapot.obj b/support/teapot.obj
new file mode 100644 (file)
index 0000000..da7ddc6
--- /dev/null
@@ -0,0 +1,2090 @@
+# OBJ file created by ply_to_obj.c
+#
+g Object001
+
+v  40.6266  28.3457  -1.10804
+v  40.0714  30.4443  -1.10804
+v  40.7155  31.1438  -1.10804
+v  42.0257  30.4443  -1.10804
+v  43.4692  28.3457  -1.10804
+v  37.5425  28.3457  14.5117
+v  37.0303  30.4443  14.2938
+v  37.6244  31.1438  14.5466
+v  38.8331  30.4443  15.0609
+v  40.1647  28.3457  15.6274
+v  29.0859  28.3457  27.1468
+v  28.6917  30.4443  26.7527
+v  29.149  31.1438  27.2099
+v  30.0792  30.4443  28.1402
+v  31.1041  28.3457  29.165
+v  16.4508  28.3457  35.6034
+v  16.2329  30.4443  35.0912
+v  16.4857  31.1438  35.6853
+v  16.9999  30.4443  36.894
+v  17.5665  28.3457  38.2256
+v  0.831025  28.3457  38.6876
+v  0.831025  30.4443  38.1324
+v  0.831025  31.1438  38.7764
+v  0.831025  30.4443  40.0866
+v  0.831025  28.3457  41.5301
+v  -15.868  28.3457  35.6034
+v  -15.0262  30.4443  35.0912
+v  -14.9585  31.1438  35.6853
+v  -15.3547  30.4443  36.894
+v  -15.9044  28.3457  38.2256
+v  -28.3832  28.3457  27.1468
+v  -27.4344  30.4443  26.7527
+v  -27.6068  31.1438  27.2099
+v  -28.4322  30.4443  28.1402
+v  -29.4421  28.3457  29.165
+v  -36.2402  28.3457  14.5117
+v  -35.52  30.4443  14.2938
+v  -36.0073  31.1438  14.5466
+v  -37.1767  30.4443  15.0609
+v  -38.5027  28.3457  15.6274
+v  -38.9646  28.3457  -1.10804
+v  -38.4094  30.4443  -1.10804
+v  -39.0534  31.1438  -1.10804
+v  -40.3636  30.4443  -1.10804
+v  -41.8071  28.3457  -1.10804
+v  -35.8804  28.3457  -16.7278
+v  -35.3683  30.4443  -16.5099
+v  -35.9624  31.1438  -16.7627
+v  -37.1711  30.4443  -17.2769
+v  -38.5027  28.3457  -17.8435
+v  -27.4238  28.3457  -29.3629
+v  -27.0297  30.4443  -28.9687
+v  -27.4869  31.1438  -29.426
+v  -28.4172  30.4443  -30.3562
+v  -29.4421  28.3457  -31.3811
+v  -14.7887  28.3457  -37.8195
+v  -14.5708  30.4443  -37.3073
+v  -14.8236  31.1438  -37.9014
+v  -15.3379  30.4443  -39.1101
+v  -15.9044  28.3457  -40.4417
+v  0.831025  28.3457  -40.9036
+v  0.831025  30.4443  -40.3484
+v  0.831025  31.1438  -40.9925
+v  0.831025  30.4443  -42.3027
+v  0.831025  28.3457  -43.7462
+v  16.4508  28.3457  -37.8195
+v  16.2329  30.4443  -37.3073
+v  16.4857  31.1438  -37.9014
+v  16.9999  30.4443  -39.1101
+v  17.5665  28.3457  -40.4417
+v  29.0859  28.3457  -29.3629
+v  28.6917  30.4443  -28.9687
+v  29.149  31.1438  -29.426
+v  30.0792  30.4443  -30.3562
+v  31.1041  28.3457  -31.3811
+v  37.5425  28.3457  -16.7278
+v  37.0303  30.4443  -16.5099
+v  37.6244  31.1438  -16.7627
+v  38.8331  30.4443  -17.2769
+v  40.1647  28.3457  -17.8435
+v  48.6879  17.1865  -1.10804
+v  53.2404  6.22714  -1.10804
+v  56.4605  -4.33246  -1.10804
+v  57.6819  -14.2925  -1.10804
+v  44.979  17.1865  17.6758
+v  49.1787  6.22714  19.4626
+v  52.1492  -4.33246  20.7265
+v  53.2759  -14.2925  21.2059
+v  34.8094  17.1865  32.8703
+v  38.0417  6.22714  36.1026
+v  40.3279  -4.33246  38.3889
+v  41.1951  -14.2925  39.2561
+v  19.6148  17.1865  43.0399
+v  21.4017  6.22714  47.2396
+v  22.6656  -4.33246  50.2101
+v  23.145  -14.2925  51.3369
+v  0.831025  17.1865  46.7488
+v  0.831025  6.22714  51.3013
+v  0.831025  -4.33246  54.5214
+v  0.831025  -14.2925  55.7428
+v  -17.9528  17.1865  43.0399
+v  -19.7397  6.22714  47.2396
+v  -21.0035  -4.33246  50.2101
+v  -21.4829  -14.2925  51.3369
+v  -33.1474  17.1865  32.8703
+v  -36.3796  6.22714  36.1026
+v  -38.6659  -4.33246  38.3889
+v  -39.5331  -14.2925  39.2561
+v  -43.3169  17.1865  17.6758
+v  -47.5166  6.22714  19.4626
+v  -50.4871  -4.33246  20.7265
+v  -51.6139  -14.2925  21.2059
+v  -47.0258  17.1865  -1.10804
+v  -51.5784  6.22714  -1.10804
+v  -54.7984  -4.33246  -1.10804
+v  -56.0198  -14.2925  -1.10804
+v  -43.3169  17.1865  -19.8919
+v  -47.5166  6.22714  -21.6787
+v  -50.4871  -4.33246  -22.9426
+v  -51.6139  -14.2925  -23.422
+v  -33.1474  17.1865  -35.0864
+v  -36.3796  6.22714  -38.3187
+v  -38.6659  -4.33246  -40.6049
+v  -39.5331  -14.2925  -41.4721
+v  -17.9528  17.1865  -45.256
+v  -19.7397  6.22714  -49.4557
+v  -21.0035  -4.33246  -52.4262
+v  -21.4829  -14.2925  -53.5529
+v  0.831025  17.1865  -48.9649
+v  0.831025  6.22714  -53.5174
+v  0.831025  -4.33246  -56.7375
+v  0.831025  -14.2925  -57.9589
+v  19.6148  17.1865  -45.256
+v  21.4017  6.22714  -49.4557
+v  22.6656  -4.33246  -52.4262
+v  23.145  -14.2925  -53.5529
+v  34.8094  17.1865  -35.0864
+v  38.0417  6.22714  -38.3187
+v  40.3279  -4.33246  -40.6049
+v  41.1951  -14.2925  -41.4721
+v  44.979  17.1865  -19.8919
+v  49.1787  6.22714  -21.6787
+v  52.1492  -4.33246  -22.9426
+v  53.2759  -14.2925  -23.422
+v  55.4611  -22.7202  -1.10804
+v  50.5755  -28.9493  -1.10804
+v  45.6899  -33.1798  -1.10804
+v  43.4692  -35.6115  -1.10804
+v  51.2273  -22.7202  20.3343
+v  46.7203  -28.9493  18.4167
+v  42.2133  -33.1798  16.4991
+v  40.1647  -35.6115  15.6274
+v  39.6184  -22.7202  37.6793
+v  36.1496  -28.9493  34.2106
+v  32.6808  -33.1798  30.7418
+v  31.1041  -35.6115  29.165
+v  22.2733  -22.7202  49.2882
+v  20.3557  -28.9493  44.7813
+v  18.4381  -33.1798  40.2743
+v  17.5665  -35.6115  38.2256
+v  0.831025  -22.7202  53.5221
+v  0.831025  -28.9493  48.6365
+v  0.831025  -33.1798  43.7508
+v  0.831025  -35.6115  41.5301
+v  -20.6113  -22.7202  49.2882
+v  -18.6937  -28.9493  44.7813
+v  -16.7761  -33.1798  40.2743
+v  -15.9044  -35.6115  38.2256
+v  -37.9564  -22.7202  37.6793
+v  -34.4876  -28.9493  34.2106
+v  -31.0188  -33.1798  30.7418
+v  -29.4421  -35.6115  29.165
+v  -49.5653  -22.7202  20.3343
+v  -45.0583  -28.9493  18.4167
+v  -40.5513  -33.1798  16.4991
+v  -38.5027  -35.6115  15.6274
+v  -53.7991  -22.7202  -1.10804
+v  -48.9135  -28.9493  -1.10804
+v  -44.0279  -33.1798  -1.10804
+v  -41.8071  -35.6115  -1.10804
+v  -49.5653  -22.7202  -22.5504
+v  -45.0583  -28.9493  -20.6327
+v  -40.5513  -33.1798  -18.7151
+v  -38.5027  -35.6115  -17.8435
+v  -37.9564  -22.7202  -39.8954
+v  -34.4876  -28.9493  -36.4266
+v  -31.0188  -33.1798  -32.9578
+v  -29.4421  -35.6115  -31.3811
+v  -20.6113  -22.7202  -51.5043
+v  -18.6937  -28.9493  -46.9973
+v  -16.7761  -33.1798  -42.4903
+v  -15.9044  -35.6115  -40.4417
+v  0.831025  -22.7202  -55.7382
+v  0.831025  -28.9493  -50.8525
+v  0.831025  -33.1798  -45.9669
+v  0.831025  -35.6115  -43.7462
+v  22.2733  -22.7202  -51.5043
+v  20.3557  -28.9493  -46.9973
+v  18.4381  -33.1798  -42.4903
+v  17.5665  -35.6115  -40.4417
+v  39.6184  -22.7202  -39.8954
+v  36.1496  -28.9493  -36.4266
+v  32.6808  -33.1798  -32.9578
+v  31.1041  -35.6115  -31.3811
+v  51.2273  -22.7202  -22.5504
+v  46.7203  -28.9493  -20.6327
+v  42.2133  -33.1798  -18.7151
+v  40.1647  -35.6115  -17.8435
+v  42.5031  -37.1772  -1.10804
+v  37.3399  -38.5429  -1.10804
+v  24.5818  -39.5089  -1.10804
+v  0.831025  -39.8754  -1.10804
+v  39.2736  -37.1772  15.2483
+v  34.5105  -38.5429  13.2217
+v  22.7411  -39.5089  8.21414
+v  30.4182  -37.1772  28.4792
+v  26.7523  -38.5429  24.8133
+v  17.6941  -39.5089  15.755
+v  17.1873  -37.1772  37.3345
+v  15.1608  -38.5429  32.5714
+v  10.1532  -39.5089  20.8021
+v  0.831025  -37.1772  40.5641
+v  0.831025  -38.5429  35.4009
+v  0.831025  -39.5089  22.6427
+v  -15.5253  -37.1772  37.3345
+v  -13.4987  -38.5429  32.5714
+v  -8.49115  -39.5089  20.8021
+v  -28.7562  -37.1772  28.4792
+v  -25.0903  -38.5429  24.8133
+v  -16.032  -39.5089  15.755
+v  -37.6115  -37.1772  15.2483
+v  -32.8484  -38.5429  13.2217
+v  -21.0791  -39.5089  8.21414
+v  -40.8411  -37.1772  -1.10804
+v  -35.6779  -38.5429  -1.10804
+v  -22.9198  -39.5089  -1.10804
+v  -37.6115  -37.1772  -17.4643
+v  -32.8484  -38.5429  -15.4378
+v  -21.0791  -39.5089  -10.4302
+v  -28.7562  -37.1772  -30.6952
+v  -25.0903  -38.5429  -27.0294
+v  -16.032  -39.5089  -17.9711
+v  -15.5253  -37.1772  -39.5506
+v  -13.4987  -38.5429  -34.7875
+v  -8.49115  -39.5089  -23.0181
+v  0.831025  -37.1772  -42.7802
+v  0.831025  -38.5429  -37.6169
+v  0.831025  -39.5089  -24.8588
+v  17.1873  -37.1772  -39.5506
+v  15.1608  -38.5429  -34.7875
+v  10.1532  -39.5089  -23.0181
+v  30.4182  -37.1772  -30.6952
+v  26.7523  -38.5429  -27.0294
+v  17.6941  -39.5089  -17.9711
+v  39.2736  -37.1772  -17.4643
+v  34.5105  -38.5429  -15.4378
+v  22.7411  -39.5089  -10.4302
+v  -44.6497  17.6861  -1.10804
+v  -57.9297  17.5862  -1.10804
+v  -67.7453  16.8867  -1.10804
+v  -73.8301  14.9879  -1.10804
+v  -75.9176  11.2904  -1.10804
+v  -44.2055  18.6855  3.68876
+v  -58.3252  18.5699  3.68876
+v  -68.6891  17.7611  3.68876
+v  -75.0724  15.5657  3.68876
+v  -77.2501  11.2904  3.68876
+v  -43.2284  20.884  5.28769
+v  -59.1955  20.7341  5.28769
+v  -70.7655  19.6848  5.28769
+v  -77.8053  16.8367  5.28769
+v  -80.1814  11.2904  5.28769
+v  -42.2513  23.0825  3.68876
+v  -60.0657  22.8983  3.68876
+v  -72.8419  21.6085  3.68876
+v  -80.5381  18.1077  3.68876
+v  -83.1128  11.2904  3.68876
+v  -41.8071  24.0819  -1.10804
+v  -60.4613  23.882  -1.10804
+v  -73.7857  22.4829  -1.10804
+v  -81.7804  18.6855  -1.10804
+v  -84.4453  11.2904  -1.10804
+v  -42.2513  23.0825  -5.90483
+v  -60.0657  22.8983  -5.90483
+v  -72.8419  21.6085  -5.90483
+v  -80.5381  18.1077  -5.90483
+v  -83.1128  11.2904  -5.90483
+v  -43.2284  20.884  -7.50376
+v  -59.1955  20.7341  -7.50376
+v  -70.7655  19.6848  -7.50376
+v  -77.8053  16.8367  -7.50376
+v  -80.1814  11.2904  -7.50376
+v  -44.2055  18.6855  -5.90483
+v  -58.3252  18.5699  -5.90483
+v  -68.6891  17.7611  -5.90483
+v  -75.0724  15.5657  -5.90483
+v  -77.2501  11.2904  -5.90483
+v  -74.8073  5.4943  -1.10804
+v  -71.2985  -1.50103  -1.10804
+v  -65.1248  -8.49634  -1.10804
+v  -56.0198  -14.2925  -1.10804
+v  -76.0183  4.93477  3.68876
+v  -72.159  -2.35462  3.68876
+v  -65.4267  -9.55033  3.68876
+v  -55.5757  -15.6249  3.68876
+v  -78.6824  3.70383  5.28769
+v  -74.0522  -4.23253  5.28769
+v  -66.0909  -11.8691  5.28769
+v  -54.5986  -18.5563  5.28769
+v  -81.3466  2.47288  3.68876
+v  -75.9454  -6.11044  3.68876
+v  -66.755  -14.1878  3.68876
+v  -53.6214  -21.4877  3.68876
+v  -82.5576  1.91336  -1.10804
+v  -76.8059  -6.96404  -1.10804
+v  -67.0569  -15.2418  -1.10804
+v  -53.1773  -22.8201  -1.10804
+v  -81.3466  2.47288  -5.90483
+v  -75.9454  -6.11044  -5.90483
+v  -66.755  -14.1878  -5.90483
+v  -53.6214  -21.4877  -5.90483
+v  -78.6824  3.70383  -7.50376
+v  -74.0522  -4.23253  -7.50376
+v  -66.0909  -11.8691  -7.50376
+v  -54.5986  -18.5563  -7.50376
+v  -76.0183  4.93477  -5.90483
+v  -72.159  -2.35462  -5.90483
+v  -65.4267  -9.55033  -5.90483
+v  -55.5757  -15.6249  -5.90483
+v  49.1543  0.630882  -1.10804
+v  62.7896  3.76212  -1.10804
+v  68.6967  11.2904  -1.10804
+v  71.939  20.4176  -1.10804
+v  77.5797  28.3457  -1.10804
+v  49.1543  -3.03333  9.4449
+v  63.8305  1.04519  8.42059
+v  70.0292  9.70814  6.1671
+v  73.5629  19.8451  3.91361
+v  80.2446  28.3457  2.88929
+v  49.1543  -11.0946  12.9626
+v  66.1207  -4.93206  11.5968
+v  72.9605  6.22714  8.59214
+v  77.1355  18.5855  5.58749
+v  86.1073  28.3457  4.22173
+v  49.1543  -19.1559  9.4449
+v  68.4108  -10.9093  8.42059
+v  75.8919  2.74614  6.1671
+v  80.7081  17.326  3.91361
+v  91.97  28.3457  2.88929
+v  49.1543  -22.8201  -1.10804
+v  69.4518  -13.6262  -1.10804
+v  77.2244  1.16386  -1.10804
+v  82.3321  16.7534  -1.10804
+v  94.6349  28.3457  -1.10804
+v  49.1543  -19.1559  -11.661
+v  68.4108  -10.9093  -10.6367
+v  75.8919  2.74614  -8.38317
+v  80.7081  17.326  -6.12968
+v  91.97  28.3457  -5.10536
+v  49.1543  -11.0946  -15.1786
+v  66.1207  -4.93206  -13.8129
+v  72.9605  6.22714  -10.8082
+v  77.1355  18.5855  -7.80356
+v  86.1073  28.3457  -6.4378
+v  49.1543  -3.03333  -11.661
+v  63.8305  1.04519  -10.6367
+v  70.0292  9.70814  -8.38317
+v  73.5629  19.8451  -6.12968
+v  80.2446  28.3457  -5.10536
+v  79.6227  29.5449  -1.10804
+v  81.1329  29.9446  -1.10804
+v  81.577  29.5449  -1.10804
+v  80.4222  28.3457  -1.10804
+v  82.4767  29.6034  2.63946
+v  83.8116  30.0383  2.08983
+v  83.8515  29.6268  1.54019
+v  82.1988  28.3457  1.29036
+v  88.7555  29.7322  3.88862
+v  89.7049  30.2444  3.15578
+v  88.8555  29.8072  2.42294
+v  86.1073  28.3457  2.08983
+v  95.0343  29.8611  2.63946
+v  95.5982  30.4505  2.08983
+v  93.8594  29.9875  1.54019
+v  90.0158  28.3457  1.29036
+v  97.8883  29.9196  -1.10804
+v  98.2769  30.5442  -1.10804
+v  96.1339  30.0695  -1.10804
+v  91.7924  28.3457  -1.10804
+v  95.0343  29.8611  -4.85553
+v  95.5982  30.4505  -4.3059
+v  93.8594  29.9875  -3.75626
+v  90.0158  28.3457  -3.50643
+v  88.7555  29.7322  -6.10469
+v  89.7049  30.2444  -5.37185
+v  88.8555  29.8072  -4.63901
+v  86.1073  28.3457  -4.3059
+v  82.4767  29.6034  -4.85553
+v  83.8116  30.0383  -4.3059
+v  83.8515  29.6268  -3.75626
+v  82.1988  28.3457  -3.50643
+v  0.831025  49.6647  -1.10804
+v  10.5134  48.2657  -1.10804
+v  10.0693  44.868  -1.10804
+v  6.42728  40.6708  -1.10804
+v  6.51611  36.8733  -1.10804
+v  9.76642  48.2657  2.70243
+v  9.35632  44.868  2.52698
+v  5.9947  40.6708  1.09187
+v  6.07552  36.8733  1.12336
+v  7.71453  48.2657  5.77547
+v  7.39819  44.868  5.45913
+v  4.80736  40.6708  2.8683
+v  4.86744  36.8733  2.92838
+v  4.64149  48.2657  7.82736
+v  4.46604  44.868  7.41726
+v  3.03093  40.6708  4.05564
+v  3.06242  36.8733  4.13646
+v  0.831025  48.2657  8.57438
+v  0.831025  44.868  8.13023
+v  0.831025  40.6708  4.48822
+v  0.831025  36.8733  4.57705
+v  -2.97944  48.2657  7.82736
+v  -2.80399  44.868  7.41726
+v  -1.36888  40.6708  4.05564
+v  -1.40037  36.8733  4.13646
+v  -6.05248  48.2657  5.77547
+v  -5.73614  44.868  5.45913
+v  -3.14531  40.6708  2.8683
+v  -3.20539  36.8733  2.92838
+v  -8.10437  48.2657  2.70243
+v  -7.69427  44.868  2.52698
+v  -4.33265  40.6708  1.09187
+v  -4.41347  36.8733  1.12336
+v  -8.85139  48.2657  -1.10804
+v  -8.40724  44.868  -1.10804
+v  -4.76523  40.6708  -1.10804
+v  -4.85406  36.8733  -1.10804
+v  -8.10437  48.2657  -4.9185
+v  -7.69427  44.868  -4.74305
+v  -4.33265  40.6708  -3.30794
+v  -4.41347  36.8733  -3.33943
+v  -6.05248  48.2657  -7.99154
+v  -5.73614  44.868  -7.6752
+v  -3.14531  40.6708  -5.08437
+v  -3.20539  36.8733  -5.14445
+v  -2.97944  48.2657  -10.0434
+v  -2.80399  44.868  -9.63333
+v  -1.36888  40.6708  -6.27171
+v  -1.40037  36.8733  -6.35253
+v  0.831025  48.2657  -10.7904
+v  0.831025  44.868  -10.3463
+v  0.831025  40.6708  -6.70429
+v  0.831025  36.8733  -6.79312
+v  4.64149  48.2657  -10.0434
+v  4.46604  44.868  -9.63333
+v  3.03093  40.6708  -6.27171
+v  3.06242  36.8733  -6.35253
+v  7.71453  48.2657  -7.99154
+v  7.39819  44.868  -7.6752
+v  4.80736  40.6708  -5.08437
+v  4.86744  36.8733  -5.14445
+v  9.76642  48.2657  -4.9185
+v  9.35632  44.868  -4.74305
+v  5.9947  40.6708  -3.30794
+v  6.07552  36.8733  -3.33943
+v  13.8001  34.3417  -1.10804
+v  24.282  32.6095  -1.10804
+v  33.6979  30.8773  -1.10804
+v  37.7841  28.3457  -1.10804
+v  12.795  34.3417  3.98234
+v  22.4646  32.6095  8.09647
+v  31.1507  30.8773  11.7922
+v  34.9202  28.3457  13.396
+v  10.0391  34.3417  8.10003
+v  17.4812  32.6095  15.5422
+v  24.1665  30.8773  22.2275
+v  27.0677  28.3457  25.1286
+v  5.9214  34.3417  10.856
+v  10.0355  32.6095  20.5255
+v  13.7313  30.8773  29.2117
+v  15.3351  28.3457  32.9812
+v  0.831025  34.3417  11.8611
+v  0.831025  32.6095  22.3429
+v  0.831025  30.8773  31.7589
+v  0.831025  28.3457  35.845
+v  -4.25935  34.3417  10.856
+v  -8.37348  32.6095  20.5255
+v  -12.0692  30.8773  29.2117
+v  -13.673  28.3457  32.9812
+v  -8.37704  34.3417  8.10003
+v  -15.8192  32.6095  15.5422
+v  -22.5045  30.8773  22.2275
+v  -25.4056  28.3457  25.1286
+v  -11.133  34.3417  3.98234
+v  -20.8025  32.6095  8.09647
+v  -29.4887  30.8773  11.7922
+v  -33.2582  28.3457  13.396
+v  -12.1381  34.3417  -1.10804
+v  -22.62  32.6095  -1.10804
+v  -32.0359  30.8773  -1.10804
+v  -36.122  28.3457  -1.10804
+v  -11.133  34.3417  -6.19841
+v  -20.8025  32.6095  -10.3125
+v  -29.4887  30.8773  -14.0083
+v  -33.2582  28.3457  -15.6121
+v  -8.37704  34.3417  -10.3161
+v  -15.8192  32.6095  -17.7582
+v  -22.5045  30.8773  -24.4435
+v  -25.4056  28.3457  -27.3447
+v  -4.25935  34.3417  -13.072
+v  -8.37348  32.6095  -22.7416
+v  -12.0692  30.8773  -31.4277
+v  -13.673  28.3457  -35.1972
+v  0.831025  34.3417  -14.0771
+v  0.831025  32.6095  -24.559
+v  0.831025  30.8773  -33.9749
+v  0.831025  28.3457  -38.0611
+v  5.9214  34.3417  -13.072
+v  10.0355  32.6095  -22.7416
+v  13.7313  30.8773  -31.4277
+v  15.3351  28.3457  -35.1972
+v  10.0391  34.3417  -10.3161
+v  17.4812  32.6095  -17.7582
+v  24.1665  30.8773  -24.4435
+v  27.0677  28.3457  -27.3447
+v  12.795  34.3417  -6.19841
+v  22.4646  32.6095  -10.3125
+v  31.1507  30.8773  -14.0083
+v  34.9202  28.3457  -15.6121
+
+vn  -0.966742  -0.255752  9.97231e-09
+vn  -0.966824  0.255443  3.11149e-08
+vn  -0.092052  0.995754  4.45989e-08
+vn  0.68205  0.731305  0
+vn  0.870301  0.492521  -4.87195e-09
+vn  -0.893014  -0.256345  -0.369882
+vn  -0.893437  0.255997  -0.369102
+vn  -0.0838771  0.995843  -0.0355068
+vn  0.629724  0.73186  0.260439
+vn  0.803725  0.49337  0.332584
+vn  -0.683407  -0.256729  -0.683407
+vn  -0.683531  0.256067  -0.683531
+vn  -0.0649249  0.995776  -0.0649248
+vn  0.481398  0.732469  0.481398
+vn  0.614804  0.493997  0.614804
+vn  -0.369882  -0.256345  -0.893014
+vn  -0.369102  0.255997  -0.893437
+vn  -0.0355067  0.995843  -0.0838772
+vn  0.260439  0.73186  0.629724
+vn  0.332584  0.49337  0.803725
+vn  -0.00284834  -0.257863  -0.966177
+vn  -0.00192311  0.254736  -0.967009
+vn  -0.000266114  0.995734  -0.0922702
+vn  2.39288e-05  0.731295  0.682061
+vn  2.43342e-09  0.492521  0.870301
+vn  0.379058  -0.3593  -0.852771
+vn  0.37711  0.149086  -0.914091
+vn  0.0275022  0.992081  -0.122551
+vn  -0.26101  0.726762  0.635367
+vn  -0.332485  0.492546  0.804271
+vn  0.663548  -0.410791  -0.625264
+vn  0.712664  0.0737216  -0.697621
+vn  0.0997268  0.987509  -0.121984
+vn  -0.48732  0.723754  0.488568
+vn  -0.615242  0.492602  0.615484
+vn  0.880028  -0.332908  -0.338709
+vn  0.917276  0.167113  -0.361493
+vn  0.113584  0.992365  -0.0480695
+vn  -0.63415  0.727508  0.261889
+vn  -0.804126  0.492634  0.332705
+vn  0.96669  -0.255738  0.0104537
+vn  0.967442  0.252962  0.00810329
+vn  0.0934365  0.995624  0.00128063
+vn  -0.682167  0.731196  -0.00034353
+vn  -0.870322  0.492483  -5.42436e-05
+vn  0.893014  -0.256345  0.369882
+vn  0.893437  0.255997  0.369102
+vn  0.0838768  0.995843  0.0355066
+vn  -0.629724  0.73186  -0.260439
+vn  -0.803725  0.49337  -0.332584
+vn  0.683407  -0.256729  0.683407
+vn  0.683531  0.256067  0.683531
+vn  0.0649249  0.995776  0.0649249
+vn  -0.481398  0.732469  -0.481398
+vn  -0.614804  0.493997  -0.614804
+vn  0.369882  -0.256345  0.893014
+vn  0.369102  0.255997  0.893437
+vn  0.0355067  0.995843  0.083877
+vn  -0.260439  0.73186  -0.629724
+vn  -0.332584  0.49337  -0.803725
+vn  3.83985e-09  -0.255752  0.966742
+vn  2.59359e-09  0.255443  0.966824
+vn  3.99081e-08  0.995754  0.092052
+vn  1.03862e-08  0.731305  -0.68205
+vn  -2.43342e-09  0.492521  -0.870301
+vn  -0.369882  -0.256345  0.893014
+vn  -0.369102  0.255996  0.893437
+vn  -0.0355068  0.995843  0.0838771
+vn  0.260439  0.73186  -0.629724
+vn  0.332584  0.49337  -0.803725
+vn  -0.683407  -0.256729  0.683407
+vn  -0.683531  0.256067  0.683531
+vn  -0.0649249  0.995776  0.064925
+vn  0.481398  0.732469  -0.481398
+vn  0.614804  0.493997  -0.614804
+vn  -0.893014  -0.256345  0.369882
+vn  -0.893437  0.255997  0.369102
+vn  -0.0838767  0.995843  0.0355066
+vn  0.629724  0.73186  -0.260439
+vn  0.803725  0.49337  -0.332584
+vn  0.915321  0.402725  4.83311e-09
+vn  0.941808  0.336151  -4.85769e-09
+vn  0.97869  0.205342  4.90003e-09
+vn  0.997804  -0.0662397  1.0073e-08
+vn  0.845438  0.403546  0.349835
+vn  0.869996  0.336859  0.360047
+vn  0.904193  0.205791  0.37428
+vn  0.921879  -0.0663697  0.381752
+vn  0.646802  0.404096  0.646802
+vn  0.665655  0.337351  0.665655
+vn  0.691923  0.20612  0.691923
+vn  0.705542  -0.0664796  0.705543
+vn  0.349835  0.403546  0.845438
+vn  0.360047  0.336859  0.869996
+vn  0.37428  0.205791  0.904193
+vn  0.381752  -0.0663697  0.921879
+vn  -1.31462e-09  0.402725  0.915321
+vn  9.76689e-10  0.336151  0.941808
+vn  -1.9304e-08  0.205342  0.97869
+vn  -2.15056e-08  -0.0662397  0.997804
+vn  -0.349835  0.403546  0.845438
+vn  -0.360047  0.336859  0.869996
+vn  -0.37428  0.205791  0.904193
+vn  -0.381752  -0.0663697  0.921879
+vn  -0.646802  0.404096  0.646802
+vn  -0.665655  0.337351  0.665655
+vn  -0.691923  0.20612  0.691923
+vn  -0.705543  -0.0664796  0.705543
+vn  -0.845438  0.403546  0.349835
+vn  -0.869996  0.336859  0.360047
+vn  -0.904193  0.205791  0.37428
+vn  -0.921879  -0.0663697  0.381752
+vn  -0.915321  0.402725  -2.41655e-09
+vn  -0.941808  0.336151  -1.21442e-08
+vn  -0.97869  0.205342  -3.18502e-08
+vn  -0.997804  -0.0662397  -2.26643e-08
+vn  -0.845438  0.403546  -0.349835
+vn  -0.869996  0.336859  -0.360047
+vn  -0.904193  0.205791  -0.37428
+vn  -0.921879  -0.0663697  -0.381752
+vn  -0.646802  0.404096  -0.646802
+vn  -0.665655  0.337351  -0.665655
+vn  -0.691923  0.20612  -0.691923
+vn  -0.705542  -0.0664796  -0.705543
+vn  -0.349835  0.403546  -0.845438
+vn  -0.360047  0.336859  -0.869996
+vn  -0.37428  0.205791  -0.904193
+vn  -0.381752  -0.0663697  -0.921879
+vn  1.31462e-09  0.402725  -0.915321
+vn  -9.76689e-10  0.336151  -0.941808
+vn  1.9304e-08  0.205342  -0.97869
+vn  2.15056e-08  -0.0662397  -0.997804
+vn  0.349835  0.403546  -0.845438
+vn  0.360047  0.336859  -0.869996
+vn  0.37428  0.205791  -0.904193
+vn  0.381752  -0.0663697  -0.921879
+vn  0.646802  0.404096  -0.646802
+vn  0.665655  0.337351  -0.665655
+vn  0.691923  0.20612  -0.691923
+vn  0.705543  -0.0664796  -0.705542
+vn  0.845438  0.403546  -0.349835
+vn  0.869996  0.336859  -0.360047
+vn  0.904193  0.205791  -0.37428
+vn  0.921879  -0.0663697  -0.381752
+vn  0.900182  -0.435513  -1.50883e-08
+vn  0.729611  -0.683863  -9.71212e-09
+vn  0.693951  -0.720022  -9.54282e-09
+vn  0.79395  -0.607984  2.6277e-08
+vn  0.831437  -0.43618  0.344179
+vn  0.673512  -0.684665  0.278594
+vn  0.640399  -0.720924  0.264874
+vn  0.732949  -0.608996  0.303166
+vn  0.636092  -0.436777  0.636092
+vn  0.514965  -0.685289  0.514965
+vn  0.489651  -0.721446  0.489651
+vn  0.560555  -0.609554  0.560555
+vn  0.344179  -0.43618  0.831437
+vn  0.278594  -0.684665  0.673512
+vn  0.264874  -0.720924  0.640399
+vn  0.303166  -0.608996  0.732949
+vn  1.18057e-08  -0.435513  0.900182
+vn  -4.75784e-09  -0.683863  0.729611
+vn  9.10217e-09  -0.720022  0.693951
+vn  -2.68996e-08  -0.607984  0.79395
+vn  -0.344179  -0.43618  0.831437
+vn  -0.278594  -0.684665  0.673512
+vn  -0.264874  -0.720924  0.640399
+vn  -0.303166  -0.608996  0.732949
+vn  -0.636092  -0.436777  0.636092
+vn  -0.514965  -0.685289  0.514965
+vn  -0.489651  -0.721446  0.489651
+vn  -0.560555  -0.609554  0.560555
+vn  -0.831437  -0.43618  0.344179
+vn  -0.673512  -0.684665  0.278595
+vn  -0.640399  -0.720924  0.264874
+vn  -0.732949  -0.608996  0.303166
+vn  -0.900182  -0.435513  -7.54414e-09
+vn  -0.729611  -0.683863  -7.28409e-09
+vn  -0.693951  -0.720022  4.77141e-09
+vn  -0.79395  -0.607983  -2.6277e-08
+vn  -0.831437  -0.43618  -0.344179
+vn  -0.673512  -0.684665  -0.278594
+vn  -0.640399  -0.720924  -0.264874
+vn  -0.732949  -0.608996  -0.303166
+vn  -0.636092  -0.436777  -0.636092
+vn  -0.514965  -0.685289  -0.514965
+vn  -0.489651  -0.721446  -0.489651
+vn  -0.560555  -0.609554  -0.560555
+vn  -0.344179  -0.43618  -0.831437
+vn  -0.278594  -0.684665  -0.673512
+vn  -0.264874  -0.720924  -0.640399
+vn  -0.303166  -0.608996  -0.732949
+vn  -1.18057e-08  -0.435513  -0.900182
+vn  4.75784e-09  -0.683863  -0.729611
+vn  -9.10217e-09  -0.720022  -0.693951
+vn  2.68996e-08  -0.607984  -0.79395
+vn  0.344179  -0.43618  -0.831437
+vn  0.278594  -0.684665  -0.673512
+vn  0.264874  -0.720924  -0.640399
+vn  0.303167  -0.608996  -0.732949
+vn  0.636092  -0.436777  -0.636092
+vn  0.514965  -0.685289  -0.514965
+vn  0.489651  -0.721446  -0.489651
+vn  0.560555  -0.609554  -0.560555
+vn  0.831437  -0.43618  -0.344179
+vn  0.673512  -0.684665  -0.278595
+vn  0.640399  -0.720924  -0.264874
+vn  0.732949  -0.608996  -0.303166
+vn  0.62386  -0.781536  3.04248e-08
+vn  0.177291  -0.984159  -3.28321e-09
+vn  0.0492072  -0.998789  1.48326e-09
+vn  1.94668e-11  -1  -7.78368e-10
+vn  0.576229  -0.781801  0.238217
+vn  0.163629  -0.984208  0.0675273
+vn  0.0454217  -0.998792  0.0187357
+vn  0.440416  -0.782348  0.440416
+vn  0.124903  -0.984276  0.124903
+vn  0.0346621  -0.998798  0.0346621
+vn  0.238217  -0.781801  0.576229
+vn  0.0675273  -0.984208  0.163629
+vn  0.0187357  -0.998792  0.0454217
+vn  -3.18434e-08  -0.781536  0.62386
+vn  3.33958e-09  -0.984159  0.177291
+vn  -1.80438e-09  -0.998789  0.0492072
+vn  -0.238216  -0.781801  0.576229
+vn  -0.0675273  -0.984208  0.163629
+vn  -0.0187357  -0.998792  0.0454217
+vn  -0.440416  -0.782348  0.440416
+vn  -0.124903  -0.984276  0.124903
+vn  -0.0346621  -0.998798  0.0346621
+vn  -0.576229  -0.781801  0.238217
+vn  -0.163629  -0.984208  0.0675273
+vn  -0.0454217  -0.998792  0.0187357
+vn  -0.62386  -0.781536  -3.17476e-08
+vn  -0.177291  -0.984159  3.13397e-09
+vn  -0.0492072  -0.998789  -1.33493e-09
+vn  -0.576229  -0.781801  -0.238217
+vn  -0.163629  -0.984208  -0.0675273
+vn  -0.0454217  -0.998792  -0.0187357
+vn  -0.440416  -0.782348  -0.440416
+vn  -0.124903  -0.984276  -0.124903
+vn  -0.0346621  -0.998798  -0.0346621
+vn  -0.238217  -0.781801  -0.576229
+vn  -0.0675273  -0.984208  -0.163629
+vn  -0.0187357  -0.998792  -0.0454217
+vn  3.18434e-08  -0.781536  -0.62386
+vn  -3.28168e-09  -0.984159  -0.177291
+vn  1.46144e-09  -0.998789  -0.0492072
+vn  0.238217  -0.781801  -0.576229
+vn  0.0675273  -0.984208  -0.163629
+vn  0.0187357  -0.998792  -0.0454217
+vn  0.440416  -0.782348  -0.440416
+vn  0.124903  -0.984276  -0.124903
+vn  0.0346621  -0.998798  -0.0346621
+vn  0.576229  -0.781801  -0.238217
+vn  0.163629  -0.984208  -0.0675273
+vn  0.0454217  -0.998792  -0.0187357
+vn  0.00778619  -0.99997  -0.000215809
+vn  0.0391385  -0.999233  -0.000988567
+vn  0.179511  -0.983746  -0.00436856
+vn  0.6123  -0.790556  -0.0104598
+vn  0.986152  -0.165707  -0.00666949
+vn  0.00703893  -0.812495  0.582926
+vn  0.0361273  -0.837257  0.545614
+vn  0.161845  -0.810421  0.563048
+vn  0.482365  -0.595148  0.642746
+vn  0.73872  -0.114593  0.664199
+vn  -0.00190867  0.162121  0.986769
+vn  0.0027616  0.0171073  0.99985
+vn  0.0105326  0.0733989  0.997247
+vn  -0.0660406  0.130069  0.989303
+vn  -0.0944272  0.0165946  0.995393
+vn  -0.009203  0.871509  0.490293
+vn  -0.0486064  0.840609  0.539457
+vn  -0.223298  0.802881  0.552739
+vn  -0.596365  0.559971  0.575135
+vn  -0.803337  0.0682361  0.591602
+vn  -0.0105609  0.999944  0.000103364
+vn  -0.0587986  0.99827  0.000709759
+vn  -0.28071  0.959787  0.00326876
+vn  -0.749723  0.661738  0.0042684
+vn  -0.997351  0.0727144  0.00205923
+vn  -0.00879197  0.871493  -0.49033
+vn  -0.0464937  0.841178  -0.538756
+vn  -0.217909  0.806807  -0.549161
+vn  -0.597291  0.560026  -0.574121
+vn  -0.804  0.0629127  -0.591291
+vn  -0.00180555  0.161691  -0.98684
+vn  0.00203087  0.014555  -0.999892
+vn  0.00921499  0.0600698  -0.998152
+vn  -0.0593333  0.113865  -0.991723
+vn  -0.0868992  0.0122903  -0.996141
+vn  0.00641779  -0.812379  -0.583094
+vn  0.0337833  -0.837512  -0.545373
+vn  0.157112  -0.811947  -0.56219
+vn  0.484407  -0.589365  -0.646528
+vn  0.73887  -0.10132  -0.666187
+vn  0.946512  0.32265  -0.0033571
+vn  0.82583  0.56387  -0.00745213
+vn  0.650011  0.759893  -0.00693681
+vn  0.532429  0.846458  -0.00524544
+vn  0.725608  0.259351  0.637362
+vn  0.645945  0.461988  0.607719
+vn  0.531614  0.63666  0.558615
+vn  0.424964  0.681717  0.59554
+vn  -0.0495616  -0.019755  0.998576
+vn  -0.0378162  -0.0356243  0.99865
+vn  -0.0379139  -0.0365122  0.998614
+vn  -0.168854  -0.297946  0.93953
+vn  -0.742342  -0.299166  0.599523
+vn  -0.619602  -0.529406  0.579503
+vn  -0.483708  -0.685761  0.543837
+vn  -0.445293  -0.794355  0.413176
+vn  -0.926513  -0.376257  0.00199587
+vn  -0.75392  -0.656952  0.00431723
+vn  -0.566224  -0.824244  0.00346105
+vn  -0.481804  -0.876277  0.00185047
+vn  -0.744675  -0.294424  -0.598977
+vn  -0.621949  -0.528114  -0.578165
+vn  -0.481171  -0.68834  -0.542828
+vn  -0.438055  -0.797035  -0.415744
+vn  -0.0443368  -0.0170558  -0.998871
+vn  -0.0261761  -0.0281665  -0.99926
+vn  -0.0252939  -0.0283323  -0.999278
+vn  -0.157482  -0.289392  -0.944167
+vn  0.728244  0.25241  -0.637142
+vn  0.647055  0.459725  -0.608254
+vn  0.522994  0.640657  -0.562171
+vn  0.409978  0.682857  -0.604669
+vn  -0.230787  0.972982  -0.00652338
+vn  -0.548936  0.835863  -0.00151111
+vn  -0.875671  0.482807  0.00989278
+vn  -0.877554  0.479097  0.0190923
+vn  -0.69619  0.717439  0.024497
+vn  -0.152878  0.687211  0.71019
+vn  -0.316721  0.63775  0.702113
+vn  -0.601067  0.471452  0.64533
+vn  -0.635889  0.44609  0.6298
+vn  -0.435746  0.601008  0.670011
+vn  0.111112  -0.0850694  0.99016
+vn  0.22331  0.00654036  0.974726
+vn  0.190097  0.154964  0.969458
+vn  0.00527077  0.189482  0.98187
+vn  -0.0117518  0.246688  0.969024
+vn  0.343906  -0.722796  0.599412
+vn  0.572489  -0.567656  0.591627
+vn  0.787436  -0.256459  0.560512
+vn  0.647097  -0.306374  0.698141
+vn  0.427528  -0.499343  0.753576
+vn  0.410926  -0.911668  0.00128446
+vn  0.67152  -0.740986  -0.000899122
+vn  0.922026  -0.38706  -0.00725269
+vn  0.84691  -0.531556  -0.0138542
+vn  0.535925  -0.8442  -0.0105045
+vn  0.341188  -0.722822  -0.600931
+vn  0.578664  -0.561139  -0.591838
+vn  0.784869  -0.25102  -0.566542
+vn  0.642681  -0.302257  -0.70399
+vn  0.418589  -0.500042  -0.758117
+vn  0.115806  -0.0791394  -0.990114
+vn  0.232811  0.0125652  -0.972441
+vn  0.206662  0.153601  -0.96628
+vn  0.0244996  0.161443  -0.986578
+vn  0.00338193  0.211115  -0.977455
+vn  -0.134912  0.687491  -0.713551
+vn  -0.31954  0.633073  -0.705062
+vn  -0.603902  0.461442  -0.649903
+vn  -0.631816  0.437169  -0.640072
+vn  -0.424306  0.612706  -0.66675
+vn  -0.4258  0.904753  0.0108049
+vn  0.0220472  0.999756  0.00162273
+vn  0.999599  0.0258705  0.0115556
+vn  0.709585  -0.704553  0.00967183
+vn  -0.259858  0.791936  0.552549
+vn  0.00953916  0.99972  -0.0216718
+vn  0.410156  0.332912  -0.849083
+vn  0.541523  -0.54862  -0.637
+vn  0.0463104  0.455224  0.889172
+vn  -0.0106883  0.988794  0.148901
+vn  -0.0443756  0.682947  -0.729118
+vn  0.122825  0.00923214  -0.992385
+vn  0.481839  -0.180439  0.85748
+vn  0.455272  0.736752  0.499925
+vn  -0.220542  0.907193  -0.358276
+vn  -0.23592  0.657249  -0.715797
+vn  0.728092  -0.685302  -0.0155853
+vn  0.888739  0.45811  -0.0166791
+vn  -0.260097  0.965582  0.000800195
+vn  -0.371612  0.928378  -0.00441745
+vn  0.480166  -0.17836  -0.858853
+vn  0.488103  0.716801  -0.497947
+vn  -0.222004  0.905399  0.361893
+vn  -0.235405  0.66318  0.710477
+vn  0.0587203  0.437704  -0.8972
+vn  0.00132612  0.986459  -0.164003
+vn  -0.0441901  0.681677  0.730317
+vn  0.138801  -0.0341896  0.98973
+vn  -0.25889  0.797206  -0.54538
+vn  0.0122703  0.999739  0.0192865
+vn  0.39863  0.35489  0.845663
+vn  0.537564  -0.5814  0.610737
+vn  -7.79193e-10  1  6.50944e-09
+vn  0.82454  0.565804  1.72913e-05
+vn  0.917701  -0.397272  3.35502e-05
+vn  0.935269  -0.353939  0.000112842
+vn  0.780712  0.624891  7.51916e-05
+vn  0.762641  0.565035  0.314825
+vn  0.847982  -0.397998  0.350034
+vn  0.864141  -0.355261  0.356441
+vn  0.720991  0.625625  0.297933
+vn  0.583357  0.565165  0.583338
+vn  0.648485  -0.398726  0.648448
+vn  0.660872  -0.355894  0.660748
+vn  0.551862  0.62529  0.55178
+vn  0.314824  0.565051  0.762629
+vn  0.350045  -0.397976  0.847988
+vn  0.356474  -0.3552  0.864153
+vn  0.297983  0.625515  0.721067
+vn  -1.7299e-05  0.565804  0.82454
+vn  -3.35448e-05  -0.397272  0.917701
+vn  -0.000112839  -0.353939  0.935269
+vn  -7.51869e-05  0.624891  0.780712
+vn  -0.314825  0.565035  0.762641
+vn  -0.350034  -0.397998  0.847982
+vn  -0.356441  -0.355261  0.864141
+vn  -0.297933  0.625625  0.720991
+vn  -0.583338  0.565165  0.583357
+vn  -0.648448  -0.398726  0.648485
+vn  -0.660748  -0.355894  0.660872
+vn  -0.55178  0.62529  0.551862
+vn  -0.762629  0.565051  0.314824
+vn  -0.847988  -0.397976  0.350045
+vn  -0.864153  -0.3552  0.356474
+vn  -0.721067  0.625515  0.297983
+vn  -0.82454  0.565804  -1.72877e-05
+vn  -0.917701  -0.397272  -3.35262e-05
+vn  -0.935269  -0.353939  -0.000112839
+vn  -0.780712  0.624891  -7.51882e-05
+vn  -0.76264  0.565035  -0.314825
+vn  -0.847982  -0.397998  -0.350034
+vn  -0.864141  -0.355261  -0.356441
+vn  -0.720991  0.625625  -0.297933
+vn  -0.583357  0.565165  -0.583338
+vn  -0.648485  -0.398726  -0.648448
+vn  -0.660872  -0.355894  -0.660748
+vn  -0.551862  0.62529  -0.55178
+vn  -0.314824  0.565051  -0.762629
+vn  -0.350045  -0.397976  -0.847988
+vn  -0.356474  -0.3552  -0.864153
+vn  -0.297983  0.625515  -0.721067
+vn  1.72918e-05  0.565804  -0.82454
+vn  3.35344e-05  -0.397272  -0.917701
+vn  0.000112839  -0.353939  -0.935269
+vn  7.51869e-05  0.624891  -0.780712
+vn  0.314825  0.565035  -0.762641
+vn  0.350034  -0.397998  -0.847982
+vn  0.356441  -0.355261  -0.864141
+vn  0.297933  0.625625  -0.720991
+vn  0.583338  0.565165  -0.583357
+vn  0.648448  -0.398726  -0.648485
+vn  0.660748  -0.355894  -0.660872
+vn  0.55178  0.62529  -0.551862
+vn  0.762629  0.565051  -0.314824
+vn  0.847988  -0.397976  -0.350045
+vn  0.864153  -0.3552  -0.356474
+vn  0.721067  0.625515  -0.297983
+vn  0.236584  0.971611  8.31862e-09
+vn  0.173084  0.984907  -1.18677e-09
+vn  0.379703  0.925108  2.44118e-09
+vn  0.526673  0.850068  2.66504e-09
+vn  0.217978  0.971775  0.0902162
+vn  0.15959  0.984977  0.0659615
+vn  0.350498  0.925312  0.14474
+vn  0.48559  0.850653  0.201474
+vn  0.166631  0.971838  0.166631
+vn  0.121908  0.985026  0.121908
+vn  0.267668  0.925585  0.267668
+vn  0.371315  0.851029  0.371315
+vn  0.0902162  0.971775  0.217978
+vn  0.0659615  0.984977  0.15959
+vn  0.14474  0.925312  0.350498
+vn  0.201474  0.850653  0.48559
+vn  -8.2649e-09  0.971611  0.236584
+vn  1.37744e-09  0.984907  0.173084
+vn  2.79781e-10  0.925108  0.379703
+vn  2.55497e-09  0.850068  0.526673
+vn  -0.0902162  0.971775  0.217978
+vn  -0.0659615  0.984977  0.15959
+vn  -0.14474  0.925312  0.350498
+vn  -0.201474  0.850653  0.48559
+vn  -0.166631  0.971838  0.166631
+vn  -0.121908  0.985026  0.121908
+vn  -0.267668  0.925585  0.267668
+vn  -0.371315  0.851029  0.371315
+vn  -0.217978  0.971775  0.0902162
+vn  -0.15959  0.984977  0.0659615
+vn  -0.350498  0.925312  0.14474
+vn  -0.48559  0.850653  0.201474
+vn  -0.236583  0.971611  -6.23897e-09
+vn  -0.173084  0.984907  2.37354e-09
+vn  -0.379703  0.925108  -2.44118e-09
+vn  -0.526673  0.850068  0
+vn  -0.217978  0.971775  -0.0902162
+vn  -0.15959  0.984977  -0.0659615
+vn  -0.350498  0.925312  -0.14474
+vn  -0.48559  0.850653  -0.201474
+vn  -0.166631  0.971838  -0.166631
+vn  -0.121908  0.985026  -0.121908
+vn  -0.267668  0.925585  -0.267668
+vn  -0.371315  0.851029  -0.371315
+vn  -0.0902162  0.971775  -0.217978
+vn  -0.0659615  0.984977  -0.15959
+vn  -0.14474  0.925312  -0.350498
+vn  -0.201474  0.850653  -0.485589
+vn  6.16189e-09  0.971611  -0.236584
+vn  -1.37744e-09  0.984907  -0.173084
+vn  -2.79781e-10  0.925108  -0.379703
+vn  -2.55497e-09  0.850068  -0.526673
+vn  0.0902162  0.971775  -0.217978
+vn  0.0659615  0.984977  -0.15959
+vn  0.14474  0.925312  -0.350498
+vn  0.201474  0.850653  -0.48559
+vn  0.166631  0.971838  -0.166631
+vn  0.121908  0.985026  -0.121908
+vn  0.267668  0.925585  -0.267668
+vn  0.371315  0.851029  -0.371315
+vn  0.217978  0.971775  -0.0902162
+vn  0.15959  0.984977  -0.0659615
+vn  0.350498  0.925312  -0.14474
+vn  0.48559  0.850653  -0.201474
+
+f  7//7  6//6  1//1
+f  1//1  2//2  7//7
+f  8//8  7//7  2//2
+f  2//2  3//3  8//8
+f  9//9  8//8  3//3
+f  3//3  4//4  9//9
+f  10//10  9//9  4//4
+f  4//4  5//5  10//10
+f  12//12  11//11  6//6
+f  6//6  7//7  12//12
+f  13//13  12//12  7//7
+f  7//7  8//8  13//13
+f  14//14  13//13  8//8
+f  8//8  9//9  14//14
+f  15//15  14//14  9//9
+f  9//9  10//10  15//15
+f  17//17  16//16  11//11
+f  11//11  12//12  17//17
+f  18//18  17//17  12//12
+f  12//12  13//13  18//18
+f  19//19  18//18  13//13
+f  13//13  14//14  19//19
+f  20//20  19//19  14//14
+f  14//14  15//15  20//20
+f  22//22  21//21  16//16
+f  16//16  17//17  22//22
+f  23//23  22//22  17//17
+f  17//17  18//18  23//23
+f  24//24  23//23  18//18
+f  18//18  19//19  24//24
+f  25//25  24//24  19//19
+f  19//19  20//20  25//25
+f  27//27  26//26  21//21
+f  21//21  22//22  27//27
+f  28//28  27//27  22//22
+f  22//22  23//23  28//28
+f  29//29  28//28  23//23
+f  23//23  24//24  29//29
+f  30//30  29//29  24//24
+f  24//24  25//25  30//30
+f  32//32  31//31  26//26
+f  26//26  27//27  32//32
+f  33//33  32//32  27//27
+f  27//27  28//28  33//33
+f  34//34  33//33  28//28
+f  28//28  29//29  34//34
+f  35//35  34//34  29//29
+f  29//29  30//30  35//35
+f  37//37  36//36  31//31
+f  31//31  32//32  37//37
+f  38//38  37//37  32//32
+f  32//32  33//33  38//38
+f  39//39  38//38  33//33
+f  33//33  34//34  39//39
+f  40//40  39//39  34//34
+f  34//34  35//35  40//40
+f  42//42  41//41  36//36
+f  36//36  37//37  42//42
+f  43//43  42//42  37//37
+f  37//37  38//38  43//43
+f  44//44  43//43  38//38
+f  38//38  39//39  44//44
+f  45//45  44//44  39//39
+f  39//39  40//40  45//45
+f  47//47  46//46  41//41
+f  41//41  42//42  47//47
+f  48//48  47//47  42//42
+f  42//42  43//43  48//48
+f  49//49  48//48  43//43
+f  43//43  44//44  49//49
+f  50//50  49//49  44//44
+f  44//44  45//45  50//50
+f  52//52  51//51  46//46
+f  46//46  47//47  52//52
+f  53//53  52//52  47//47
+f  47//47  48//48  53//53
+f  54//54  53//53  48//48
+f  48//48  49//49  54//54
+f  55//55  54//54  49//49
+f  49//49  50//50  55//55
+f  57//57  56//56  51//51
+f  51//51  52//52  57//57
+f  58//58  57//57  52//52
+f  52//52  53//53  58//58
+f  59//59  58//58  53//53
+f  53//53  54//54  59//59
+f  60//60  59//59  54//54
+f  54//54  55//55  60//60
+f  62//62  61//61  56//56
+f  56//56  57//57  62//62
+f  63//63  62//62  57//57
+f  57//57  58//58  63//63
+f  64//64  63//63  58//58
+f  58//58  59//59  64//64
+f  65//65  64//64  59//59
+f  59//59  60//60  65//65
+f  67//67  66//66  61//61
+f  61//61  62//62  67//67
+f  68//68  67//67  62//62
+f  62//62  63//63  68//68
+f  69//69  68//68  63//63
+f  63//63  64//64  69//69
+f  70//70  69//69  64//64
+f  64//64  65//65  70//70
+f  72//72  71//71  66//66
+f  66//66  67//67  72//72
+f  73//73  72//72  67//67
+f  67//67  68//68  73//73
+f  74//74  73//73  68//68
+f  68//68  69//69  74//74
+f  75//75  74//74  69//69
+f  69//69  70//70  75//75
+f  77//77  76//76  71//71
+f  71//71  72//72  77//77
+f  78//78  77//77  72//72
+f  72//72  73//73  78//78
+f  79//79  78//78  73//73
+f  73//73  74//74  79//79
+f  80//80  79//79  74//74
+f  74//74  75//75  80//80
+f  2//2  1//1  76//76
+f  76//76  77//77  2//2
+f  3//3  2//2  77//77
+f  77//77  78//78  3//3
+f  4//4  3//3  78//78
+f  78//78  79//79  4//4
+f  5//5  4//4  79//79
+f  79//79  80//80  5//5
+f  85//85  10//10  5//5
+f  5//5  81//81  85//85
+f  86//86  85//85  81//81
+f  81//81  82//82  86//86
+f  87//87  86//86  82//82
+f  82//82  83//83  87//87
+f  88//88  87//87  83//83
+f  83//83  84//84  88//88
+f  89//89  15//15  10//10
+f  10//10  85//85  89//89
+f  90//90  89//89  85//85
+f  85//85  86//86  90//90
+f  91//91  90//90  86//86
+f  86//86  87//87  91//91
+f  92//92  91//91  87//87
+f  87//87  88//88  92//92
+f  93//93  20//20  15//15
+f  15//15  89//89  93//93
+f  94//94  93//93  89//89
+f  89//89  90//90  94//94
+f  95//95  94//94  90//90
+f  90//90  91//91  95//95
+f  96//96  95//95  91//91
+f  91//91  92//92  96//96
+f  97//97  25//25  20//20
+f  20//20  93//93  97//97
+f  98//98  97//97  93//93
+f  93//93  94//94  98//98
+f  99//99  98//98  94//94
+f  94//94  95//95  99//99
+f  100//100  99//99  95//95
+f  95//95  96//96  100//100
+f  101//101  30//30  25//25
+f  25//25  97//97  101//101
+f  102//102  101//101  97//97
+f  97//97  98//98  102//102
+f  103//103  102//102  98//98
+f  98//98  99//99  103//103
+f  104//104  103//103  99//99
+f  99//99  100//100  104//104
+f  105//105  35//35  30//30
+f  30//30  101//101  105//105
+f  106//106  105//105  101//101
+f  101//101  102//102  106//106
+f  107//107  106//106  102//102
+f  102//102  103//103  107//107
+f  108//108  107//107  103//103
+f  103//103  104//104  108//108
+f  109//109  40//40  35//35
+f  35//35  105//105  109//109
+f  110//110  109//109  105//105
+f  105//105  106//106  110//110
+f  111//111  110//110  106//106
+f  106//106  107//107  111//111
+f  112//112  111//111  107//107
+f  107//107  108//108  112//112
+f  113//113  45//45  40//40
+f  40//40  109//109  113//113
+f  114//114  113//113  109//109
+f  109//109  110//110  114//114
+f  115//115  114//114  110//110
+f  110//110  111//111  115//115
+f  116//116  115//115  111//111
+f  111//111  112//112  116//116
+f  117//117  50//50  45//45
+f  45//45  113//113  117//117
+f  118//118  117//117  113//113
+f  113//113  114//114  118//118
+f  119//119  118//118  114//114
+f  114//114  115//115  119//119
+f  120//120  119//119  115//115
+f  115//115  116//116  120//120
+f  121//121  55//55  50//50
+f  50//50  117//117  121//121
+f  122//122  121//121  117//117
+f  117//117  118//118  122//122
+f  123//123  122//122  118//118
+f  118//118  119//119  123//123
+f  124//124  123//123  119//119
+f  119//119  120//120  124//124
+f  125//125  60//60  55//55
+f  55//55  121//121  125//125
+f  126//126  125//125  121//121
+f  121//121  122//122  126//126
+f  127//127  126//126  122//122
+f  122//122  123//123  127//127
+f  128//128  127//127  123//123
+f  123//123  124//124  128//128
+f  129//129  65//65  60//60
+f  60//60  125//125  129//129
+f  130//130  129//129  125//125
+f  125//125  126//126  130//130
+f  131//131  130//130  126//126
+f  126//126  127//127  131//131
+f  132//132  131//131  127//127
+f  127//127  128//128  132//132
+f  133//133  70//70  65//65
+f  65//65  129//129  133//133
+f  134//134  133//133  129//129
+f  129//129  130//130  134//134
+f  135//135  134//134  130//130
+f  130//130  131//131  135//135
+f  136//136  135//135  131//131
+f  131//131  132//132  136//136
+f  137//137  75//75  70//70
+f  70//70  133//133  137//137
+f  138//138  137//137  133//133
+f  133//133  134//134  138//138
+f  139//139  138//138  134//134
+f  134//134  135//135  139//139
+f  140//140  139//139  135//135
+f  135//135  136//136  140//140
+f  141//141  80//80  75//75
+f  75//75  137//137  141//141
+f  142//142  141//141  137//137
+f  137//137  138//138  142//142
+f  143//143  142//142  138//138
+f  138//138  139//139  143//143
+f  144//144  143//143  139//139
+f  139//139  140//140  144//144
+f  81//81  5//5  80//80
+f  80//80  141//141  81//81
+f  82//82  81//81  141//141
+f  141//141  142//142  82//82
+f  83//83  82//82  142//142
+f  142//142  143//143  83//83
+f  84//84  83//83  143//143
+f  143//143  144//144  84//84
+f  149//149  88//88  84//84
+f  84//84  145//145  149//149
+f  150//150  149//149  145//145
+f  145//145  146//146  150//150
+f  151//151  150//150  146//146
+f  146//146  147//147  151//151
+f  152//152  151//151  147//147
+f  147//147  148//148  152//152
+f  153//153  92//92  88//88
+f  88//88  149//149  153//153
+f  154//154  153//153  149//149
+f  149//149  150//150  154//154
+f  155//155  154//154  150//150
+f  150//150  151//151  155//155
+f  156//156  155//155  151//151
+f  151//151  152//152  156//156
+f  157//157  96//96  92//92
+f  92//92  153//153  157//157
+f  158//158  157//157  153//153
+f  153//153  154//154  158//158
+f  159//159  158//158  154//154
+f  154//154  155//155  159//159
+f  160//160  159//159  155//155
+f  155//155  156//156  160//160
+f  161//161  100//100  96//96
+f  96//96  157//157  161//161
+f  162//162  161//161  157//157
+f  157//157  158//158  162//162
+f  163//163  162//162  158//158
+f  158//158  159//159  163//163
+f  164//164  163//163  159//159
+f  159//159  160//160  164//164
+f  165//165  104//104  100//100
+f  100//100  161//161  165//165
+f  166//166  165//165  161//161
+f  161//161  162//162  166//166
+f  167//167  166//166  162//162
+f  162//162  163//163  167//167
+f  168//168  167//167  163//163
+f  163//163  164//164  168//168
+f  169//169  108//108  104//104
+f  104//104  165//165  169//169
+f  170//170  169//169  165//165
+f  165//165  166//166  170//170
+f  171//171  170//170  166//166
+f  166//166  167//167  171//171
+f  172//172  171//171  167//167
+f  167//167  168//168  172//172
+f  173//173  112//112  108//108
+f  108//108  169//169  173//173
+f  174//174  173//173  169//169
+f  169//169  170//170  174//174
+f  175//175  174//174  170//170
+f  170//170  171//171  175//175
+f  176//176  175//175  171//171
+f  171//171  172//172  176//176
+f  177//177  116//116  112//112
+f  112//112  173//173  177//177
+f  178//178  177//177  173//173
+f  173//173  174//174  178//178
+f  179//179  178//178  174//174
+f  174//174  175//175  179//179
+f  180//180  179//179  175//175
+f  175//175  176//176  180//180
+f  181//181  120//120  116//116
+f  116//116  177//177  181//181
+f  182//182  181//181  177//177
+f  177//177  178//178  182//182
+f  183//183  182//182  178//178
+f  178//178  179//179  183//183
+f  184//184  183//183  179//179
+f  179//179  180//180  184//184
+f  185//185  124//124  120//120
+f  120//120  181//181  185//185
+f  186//186  185//185  181//181
+f  181//181  182//182  186//186
+f  187//187  186//186  182//182
+f  182//182  183//183  187//187
+f  188//188  187//187  183//183
+f  183//183  184//184  188//188
+f  189//189  128//128  124//124
+f  124//124  185//185  189//189
+f  190//190  189//189  185//185
+f  185//185  186//186  190//190
+f  191//191  190//190  186//186
+f  186//186  187//187  191//191
+f  192//192  191//191  187//187
+f  187//187  188//188  192//192
+f  193//193  132//132  128//128
+f  128//128  189//189  193//193
+f  194//194  193//193  189//189
+f  189//189  190//190  194//194
+f  195//195  194//194  190//190
+f  190//190  191//191  195//195
+f  196//196  195//195  191//191
+f  191//191  192//192  196//196
+f  197//197  136//136  132//132
+f  132//132  193//193  197//197
+f  198//198  197//197  193//193
+f  193//193  194//194  198//198
+f  199//199  198//198  194//194
+f  194//194  195//195  199//199
+f  200//200  199//199  195//195
+f  195//195  196//196  200//200
+f  201//201  140//140  136//136
+f  136//136  197//197  201//201
+f  202//202  201//201  197//197
+f  197//197  198//198  202//202
+f  203//203  202//202  198//198
+f  198//198  199//199  203//203
+f  204//204  203//203  199//199
+f  199//199  200//200  204//204
+f  205//205  144//144  140//140
+f  140//140  201//201  205//205
+f  206//206  205//205  201//201
+f  201//201  202//202  206//206
+f  207//207  206//206  202//202
+f  202//202  203//203  207//207
+f  208//208  207//207  203//203
+f  203//203  204//204  208//208
+f  145//145  84//84  144//144
+f  144//144  205//205  145//145
+f  146//146  145//145  205//205
+f  205//205  206//206  146//146
+f  147//147  146//146  206//206
+f  206//206  207//207  147//147
+f  148//148  147//147  207//207
+f  207//207  208//208  148//148
+f  213//213  152//152  148//148
+f  148//148  209//209  213//213
+f  214//214  213//213  209//209
+f  209//209  210//210  214//214
+f  215//215  214//214  210//210
+f  210//210  211//211  215//215
+f  212//212  215//215  211//211
+f  211//211  212//212  212//212
+f  216//216  156//156  152//152
+f  152//152  213//213  216//216
+f  217//217  216//216  213//213
+f  213//213  214//214  217//217
+f  218//218  217//217  214//214
+f  214//214  215//215  218//218
+f  212//212  218//218  215//215
+f  215//215  212//212  212//212
+f  219//219  160//160  156//156
+f  156//156  216//216  219//219
+f  220//220  219//219  216//216
+f  216//216  217//217  220//220
+f  221//221  220//220  217//217
+f  217//217  218//218  221//221
+f  212//212  221//221  218//218
+f  218//218  212//212  212//212
+f  222//222  164//164  160//160
+f  160//160  219//219  222//222
+f  223//223  222//222  219//219
+f  219//219  220//220  223//223
+f  224//224  223//223  220//220
+f  220//220  221//221  224//224
+f  212//212  224//224  221//221
+f  221//221  212//212  212//212
+f  225//225  168//168  164//164
+f  164//164  222//222  225//225
+f  226//226  225//225  222//222
+f  222//222  223//223  226//226
+f  227//227  226//226  223//223
+f  223//223  224//224  227//227
+f  212//212  227//227  224//224
+f  224//224  212//212  212//212
+f  228//228  172//172  168//168
+f  168//168  225//225  228//228
+f  229//229  228//228  225//225
+f  225//225  226//226  229//229
+f  230//230  229//229  226//226
+f  226//226  227//227  230//230
+f  212//212  230//230  227//227
+f  227//227  212//212  212//212
+f  231//231  176//176  172//172
+f  172//172  228//228  231//231
+f  232//232  231//231  228//228
+f  228//228  229//229  232//232
+f  233//233  232//232  229//229
+f  229//229  230//230  233//233
+f  212//212  233//233  230//230
+f  230//230  212//212  212//212
+f  234//234  180//180  176//176
+f  176//176  231//231  234//234
+f  235//235  234//234  231//231
+f  231//231  232//232  235//235
+f  236//236  235//235  232//232
+f  232//232  233//233  236//236
+f  212//212  236//236  233//233
+f  233//233  212//212  212//212
+f  237//237  184//184  180//180
+f  180//180  234//234  237//237
+f  238//238  237//237  234//234
+f  234//234  235//235  238//238
+f  239//239  238//238  235//235
+f  235//235  236//236  239//239
+f  212//212  239//239  236//236
+f  236//236  212//212  212//212
+f  240//240  188//188  184//184
+f  184//184  237//237  240//240
+f  241//241  240//240  237//237
+f  237//237  238//238  241//241
+f  242//242  241//241  238//238
+f  238//238  239//239  242//242
+f  212//212  242//242  239//239
+f  239//239  212//212  212//212
+f  243//243  192//192  188//188
+f  188//188  240//240  243//243
+f  244//244  243//243  240//240
+f  240//240  241//241  244//244
+f  245//245  244//244  241//241
+f  241//241  242//242  245//245
+f  212//212  245//245  242//242
+f  242//242  212//212  212//212
+f  246//246  196//196  192//192
+f  192//192  243//243  246//246
+f  247//247  246//246  243//243
+f  243//243  244//244  247//247
+f  248//248  247//247  244//244
+f  244//244  245//245  248//248
+f  212//212  248//248  245//245
+f  245//245  212//212  212//212
+f  249//249  200//200  196//196
+f  196//196  246//246  249//249
+f  250//250  249//249  246//246
+f  246//246  247//247  250//250
+f  251//251  250//250  247//247
+f  247//247  248//248  251//251
+f  212//212  251//251  248//248
+f  248//248  212//212  212//212
+f  252//252  204//204  200//200
+f  200//200  249//249  252//252
+f  253//253  252//252  249//249
+f  249//249  250//250  253//253
+f  254//254  253//253  250//250
+f  250//250  251//251  254//254
+f  212//212  254//254  251//251
+f  251//251  212//212  212//212
+f  255//255  208//208  204//204
+f  204//204  252//252  255//255
+f  256//256  255//255  252//252
+f  252//252  253//253  256//256
+f  257//257  256//256  253//253
+f  253//253  254//254  257//257
+f  212//212  257//257  254//254
+f  254//254  212//212  212//212
+f  209//209  148//148  208//208
+f  208//208  255//255  209//209
+f  210//210  209//209  255//255
+f  255//255  256//256  210//210
+f  211//211  210//210  256//256
+f  256//256  257//257  211//211
+f  212//212  211//211  257//257
+f  257//257  212//212  212//212
+f  264//264  263//263  258//258
+f  258//258  259//259  264//264
+f  265//265  264//264  259//259
+f  259//259  260//260  265//265
+f  266//266  265//265  260//260
+f  260//260  261//261  266//266
+f  267//267  266//266  261//261
+f  261//261  262//262  267//267
+f  269//269  268//268  263//263
+f  263//263  264//264  269//269
+f  270//270  269//269  264//264
+f  264//264  265//265  270//270
+f  271//271  270//270  265//265
+f  265//265  266//266  271//271
+f  272//272  271//271  266//266
+f  266//266  267//267  272//272
+f  274//274  273//273  268//268
+f  268//268  269//269  274//274
+f  275//275  274//274  269//269
+f  269//269  270//270  275//275
+f  276//276  275//275  270//270
+f  270//270  271//271  276//276
+f  277//277  276//276  271//271
+f  271//271  272//272  277//277
+f  279//279  278//278  273//273
+f  273//273  274//274  279//279
+f  280//280  279//279  274//274
+f  274//274  275//275  280//280
+f  281//281  280//280  275//275
+f  275//275  276//276  281//281
+f  282//282  281//281  276//276
+f  276//276  277//277  282//282
+f  284//284  283//283  278//278
+f  278//278  279//279  284//284
+f  285//285  284//284  279//279
+f  279//279  280//280  285//285
+f  286//286  285//285  280//280
+f  280//280  281//281  286//286
+f  287//287  286//286  281//281
+f  281//281  282//282  287//287
+f  289//289  288//288  283//283
+f  283//283  284//284  289//289
+f  290//290  289//289  284//284
+f  284//284  285//285  290//290
+f  291//291  290//290  285//285
+f  285//285  286//286  291//291
+f  292//292  291//291  286//286
+f  286//286  287//287  292//292
+f  294//294  293//293  288//288
+f  288//288  289//289  294//294
+f  295//295  294//294  289//289
+f  289//289  290//290  295//295
+f  296//296  295//295  290//290
+f  290//290  291//291  296//296
+f  297//297  296//296  291//291
+f  291//291  292//292  297//297
+f  259//259  258//258  293//293
+f  293//293  294//294  259//259
+f  260//260  259//259  294//294
+f  294//294  295//295  260//260
+f  261//261  260//260  295//295
+f  295//295  296//296  261//261
+f  262//262  261//261  296//296
+f  296//296  297//297  262//262
+f  302//302  267//267  262//262
+f  262//262  298//298  302//302
+f  303//303  302//302  298//298
+f  298//298  299//299  303//303
+f  304//304  303//303  299//299
+f  299//299  300//300  304//304
+f  305//305  304//304  300//300
+f  300//300  301//301  305//305
+f  306//306  272//272  267//267
+f  267//267  302//302  306//306
+f  307//307  306//306  302//302
+f  302//302  303//303  307//307
+f  308//308  307//307  303//303
+f  303//303  304//304  308//308
+f  309//309  308//308  304//304
+f  304//304  305//305  309//309
+f  310//310  277//277  272//272
+f  272//272  306//306  310//310
+f  311//311  310//310  306//306
+f  306//306  307//307  311//311
+f  312//312  311//311  307//307
+f  307//307  308//308  312//312
+f  313//313  312//312  308//308
+f  308//308  309//309  313//313
+f  314//314  282//282  277//277
+f  277//277  310//310  314//314
+f  315//315  314//314  310//310
+f  310//310  311//311  315//315
+f  316//316  315//315  311//311
+f  311//311  312//312  316//316
+f  317//317  316//316  312//312
+f  312//312  313//313  317//317
+f  318//318  287//287  282//282
+f  282//282  314//314  318//318
+f  319//319  318//318  314//314
+f  314//314  315//315  319//319
+f  320//320  319//319  315//315
+f  315//315  316//316  320//320
+f  321//321  320//320  316//316
+f  316//316  317//317  321//321
+f  322//322  292//292  287//287
+f  287//287  318//318  322//322
+f  323//323  322//322  318//318
+f  318//318  319//319  323//323
+f  324//324  323//323  319//319
+f  319//319  320//320  324//324
+f  325//325  324//324  320//320
+f  320//320  321//321  325//325
+f  326//326  297//297  292//292
+f  292//292  322//322  326//326
+f  327//327  326//326  322//322
+f  322//322  323//323  327//327
+f  328//328  327//327  323//323
+f  323//323  324//324  328//328
+f  329//329  328//328  324//324
+f  324//324  325//325  329//329
+f  298//298  262//262  297//297
+f  297//297  326//326  298//298
+f  299//299  298//298  326//326
+f  326//326  327//327  299//299
+f  300//300  299//299  327//327
+f  327//327  328//328  300//300
+f  301//301  300//300  328//328
+f  328//328  329//329  301//301
+f  336//336  335//335  330//330
+f  330//330  331//331  336//336
+f  337//337  336//336  331//331
+f  331//331  332//332  337//337
+f  338//338  337//337  332//332
+f  332//332  333//333  338//338
+f  339//339  338//338  333//333
+f  333//333  334//334  339//339
+f  341//341  340//340  335//335
+f  335//335  336//336  341//341
+f  342//342  341//341  336//336
+f  336//336  337//337  342//342
+f  343//343  342//342  337//337
+f  337//337  338//338  343//343
+f  344//344  343//343  338//338
+f  338//338  339//339  344//344
+f  346//346  345//345  340//340
+f  340//340  341//341  346//346
+f  347//347  346//346  341//341
+f  341//341  342//342  347//347
+f  348//348  347//347  342//342
+f  342//342  343//343  348//348
+f  349//349  348//348  343//343
+f  343//343  344//344  349//349
+f  351//351  350//350  345//345
+f  345//345  346//346  351//351
+f  352//352  351//351  346//346
+f  346//346  347//347  352//352
+f  353//353  352//352  347//347
+f  347//347  348//348  353//353
+f  354//354  353//353  348//348
+f  348//348  349//349  354//354
+f  356//356  355//355  350//350
+f  350//350  351//351  356//356
+f  357//357  356//356  351//351
+f  351//351  352//352  357//357
+f  358//358  357//357  352//352
+f  352//352  353//353  358//358
+f  359//359  358//358  353//353
+f  353//353  354//354  359//359
+f  361//361  360//360  355//355
+f  355//355  356//356  361//361
+f  362//362  361//361  356//356
+f  356//356  357//357  362//362
+f  363//363  362//362  357//357
+f  357//357  358//358  363//363
+f  364//364  363//363  358//358
+f  358//358  359//359  364//364
+f  366//366  365//365  360//360
+f  360//360  361//361  366//366
+f  367//367  366//366  361//361
+f  361//361  362//362  367//367
+f  368//368  367//367  362//362
+f  362//362  363//363  368//368
+f  369//369  368//368  363//363
+f  363//363  364//364  369//369
+f  331//331  330//330  365//365
+f  365//365  366//366  331//331
+f  332//332  331//331  366//366
+f  366//366  367//367  332//332
+f  333//333  332//332  367//367
+f  367//367  368//368  333//333
+f  334//334  333//333  368//368
+f  368//368  369//369  334//334
+f  374//374  339//339  334//334
+f  334//334  370//370  374//374
+f  375//375  374//374  370//370
+f  370//370  371//371  375//375
+f  376//376  375//375  371//371
+f  371//371  372//372  376//376
+f  377//377  376//376  372//372
+f  372//372  373//373  377//377
+f  378//378  344//344  339//339
+f  339//339  374//374  378//378
+f  379//379  378//378  374//374
+f  374//374  375//375  379//379
+f  380//380  379//379  375//375
+f  375//375  376//376  380//380
+f  381//381  380//380  376//376
+f  376//376  377//377  381//381
+f  382//382  349//349  344//344
+f  344//344  378//378  382//382
+f  383//383  382//382  378//378
+f  378//378  379//379  383//383
+f  384//384  383//383  379//379
+f  379//379  380//380  384//384
+f  385//385  384//384  380//380
+f  380//380  381//381  385//385
+f  386//386  354//354  349//349
+f  349//349  382//382  386//386
+f  387//387  386//386  382//382
+f  382//382  383//383  387//387
+f  388//388  387//387  383//383
+f  383//383  384//384  388//388
+f  389//389  388//388  384//384
+f  384//384  385//385  389//389
+f  390//390  359//359  354//354
+f  354//354  386//386  390//390
+f  391//391  390//390  386//386
+f  386//386  387//387  391//391
+f  392//392  391//391  387//387
+f  387//387  388//388  392//392
+f  393//393  392//392  388//388
+f  388//388  389//389  393//393
+f  394//394  364//364  359//359
+f  359//359  390//390  394//394
+f  395//395  394//394  390//390
+f  390//390  391//391  395//395
+f  396//396  395//395  391//391
+f  391//391  392//392  396//396
+f  397//397  396//396  392//392
+f  392//392  393//393  397//397
+f  398//398  369//369  364//364
+f  364//364  394//394  398//398
+f  399//399  398//398  394//394
+f  394//394  395//395  399//399
+f  400//400  399//399  395//395
+f  395//395  396//396  400//400
+f  401//401  400//400  396//396
+f  396//396  397//397  401//401
+f  370//370  334//334  369//369
+f  369//369  398//398  370//370
+f  371//371  370//370  398//398
+f  398//398  399//399  371//371
+f  372//372  371//371  399//399
+f  399//399  400//400  372//372
+f  373//373  372//372  400//400
+f  400//400  401//401  373//373
+f  407//407  402//402  402//402
+f  402//402  403//403  407//407
+f  408//408  407//407  403//403
+f  403//403  404//404  408//408
+f  409//409  408//408  404//404
+f  404//404  405//405  409//409
+f  410//410  409//409  405//405
+f  405//405  406//406  410//410
+f  411//411  402//402  402//402
+f  402//402  407//407  411//411
+f  412//412  411//411  407//407
+f  407//407  408//408  412//412
+f  413//413  412//412  408//408
+f  408//408  409//409  413//413
+f  414//414  413//413  409//409
+f  409//409  410//410  414//414
+f  415//415  402//402  402//402
+f  402//402  411//411  415//415
+f  416//416  415//415  411//411
+f  411//411  412//412  416//416
+f  417//417  416//416  412//412
+f  412//412  413//413  417//417
+f  418//418  417//417  413//413
+f  413//413  414//414  418//418
+f  419//419  402//402  402//402
+f  402//402  415//415  419//419
+f  420//420  419//419  415//415
+f  415//415  416//416  420//420
+f  421//421  420//420  416//416
+f  416//416  417//417  421//421
+f  422//422  421//421  417//417
+f  417//417  418//418  422//422
+f  423//423  402//402  402//402
+f  402//402  419//419  423//423
+f  424//424  423//423  419//419
+f  419//419  420//420  424//424
+f  425//425  424//424  420//420
+f  420//420  421//421  425//425
+f  426//426  425//425  421//421
+f  421//421  422//422  426//426
+f  427//427  402//402  402//402
+f  402//402  423//423  427//427
+f  428//428  427//427  423//423
+f  423//423  424//424  428//428
+f  429//429  428//428  424//424
+f  424//424  425//425  429//429
+f  430//430  429//429  425//425
+f  425//425  426//426  430//430
+f  431//431  402//402  402//402
+f  402//402  427//427  431//431
+f  432//432  431//431  427//427
+f  427//427  428//428  432//432
+f  433//433  432//432  428//428
+f  428//428  429//429  433//433
+f  434//434  433//433  429//429
+f  429//429  430//430  434//434
+f  435//435  402//402  402//402
+f  402//402  431//431  435//435
+f  436//436  435//435  431//431
+f  431//431  432//432  436//436
+f  437//437  436//436  432//432
+f  432//432  433//433  437//437
+f  438//438  437//437  433//433
+f  433//433  434//434  438//438
+f  439//439  402//402  402//402
+f  402//402  435//435  439//439
+f  440//440  439//439  435//435
+f  435//435  436//436  440//440
+f  441//441  440//440  436//436
+f  436//436  437//437  441//441
+f  442//442  441//441  437//437
+f  437//437  438//438  442//442
+f  443//443  402//402  402//402
+f  402//402  439//439  443//443
+f  444//444  443//443  439//439
+f  439//439  440//440  444//444
+f  445//445  444//444  440//440
+f  440//440  441//441  445//445
+f  446//446  445//445  441//441
+f  441//441  442//442  446//446
+f  447//447  402//402  402//402
+f  402//402  443//443  447//447
+f  448//448  447//447  443//443
+f  443//443  444//444  448//448
+f  449//449  448//448  444//444
+f  444//444  445//445  449//449
+f  450//450  449//449  445//445
+f  445//445  446//446  450//450
+f  451//451  402//402  402//402
+f  402//402  447//447  451//451
+f  452//452  451//451  447//447
+f  447//447  448//448  452//452
+f  453//453  452//452  448//448
+f  448//448  449//449  453//453
+f  454//454  453//453  449//449
+f  449//449  450//450  454//454
+f  455//455  402//402  402//402
+f  402//402  451//451  455//455
+f  456//456  455//455  451//451
+f  451//451  452//452  456//456
+f  457//457  456//456  452//452
+f  452//452  453//453  457//457
+f  458//458  457//457  453//453
+f  453//453  454//454  458//458
+f  459//459  402//402  402//402
+f  402//402  455//455  459//459
+f  460//460  459//459  455//455
+f  455//455  456//456  460//460
+f  461//461  460//460  456//456
+f  456//456  457//457  461//461
+f  462//462  461//461  457//457
+f  457//457  458//458  462//462
+f  463//463  402//402  402//402
+f  402//402  459//459  463//463
+f  464//464  463//463  459//459
+f  459//459  460//460  464//464
+f  465//465  464//464  460//460
+f  460//460  461//461  465//465
+f  466//466  465//465  461//461
+f  461//461  462//462  466//466
+f  403//403  402//402  402//402
+f  402//402  463//463  403//403
+f  404//404  403//403  463//463
+f  463//463  464//464  404//404
+f  405//405  404//404  464//464
+f  464//464  465//465  405//405
+f  406//406  405//405  465//465
+f  465//465  466//466  406//406
+f  471//471  410//410  406//406
+f  406//406  467//467  471//471
+f  472//472  471//471  467//467
+f  467//467  468//468  472//472
+f  473//473  472//472  468//468
+f  468//468  469//469  473//473
+f  474//474  473//473  469//469
+f  469//469  470//470  474//474
+f  475//475  414//414  410//410
+f  410//410  471//471  475//475
+f  476//476  475//475  471//471
+f  471//471  472//472  476//476
+f  477//477  476//476  472//472
+f  472//472  473//473  477//477
+f  478//478  477//477  473//473
+f  473//473  474//474  478//478
+f  479//479  418//418  414//414
+f  414//414  475//475  479//479
+f  480//480  479//479  475//475
+f  475//475  476//476  480//480
+f  481//481  480//480  476//476
+f  476//476  477//477  481//481
+f  482//482  481//481  477//477
+f  477//477  478//478  482//482
+f  483//483  422//422  418//418
+f  418//418  479//479  483//483
+f  484//484  483//483  479//479
+f  479//479  480//480  484//484
+f  485//485  484//484  480//480
+f  480//480  481//481  485//485
+f  486//486  485//485  481//481
+f  481//481  482//482  486//486
+f  487//487  426//426  422//422
+f  422//422  483//483  487//487
+f  488//488  487//487  483//483
+f  483//483  484//484  488//488
+f  489//489  488//488  484//484
+f  484//484  485//485  489//489
+f  490//490  489//489  485//485
+f  485//485  486//486  490//490
+f  491//491  430//430  426//426
+f  426//426  487//487  491//491
+f  492//492  491//491  487//487
+f  487//487  488//488  492//492
+f  493//493  492//492  488//488
+f  488//488  489//489  493//493
+f  494//494  493//493  489//489
+f  489//489  490//490  494//494
+f  495//495  434//434  430//430
+f  430//430  491//491  495//495
+f  496//496  495//495  491//491
+f  491//491  492//492  496//496
+f  497//497  496//496  492//492
+f  492//492  493//493  497//497
+f  498//498  497//497  493//493
+f  493//493  494//494  498//498
+f  499//499  438//438  434//434
+f  434//434  495//495  499//499
+f  500//500  499//499  495//495
+f  495//495  496//496  500//500
+f  501//501  500//500  496//496
+f  496//496  497//497  501//501
+f  502//502  501//501  497//497
+f  497//497  498//498  502//502
+f  503//503  442//442  438//438
+f  438//438  499//499  503//503
+f  504//504  503//503  499//499
+f  499//499  500//500  504//504
+f  505//505  504//504  500//500
+f  500//500  501//501  505//505
+f  506//506  505//505  501//501
+f  501//501  502//502  506//506
+f  507//507  446//446  442//442
+f  442//442  503//503  507//507
+f  508//508  507//507  503//503
+f  503//503  504//504  508//508
+f  509//509  508//508  504//504
+f  504//504  505//505  509//509
+f  510//510  509//509  505//505
+f  505//505  506//506  510//510
+f  511//511  450//450  446//446
+f  446//446  507//507  511//511
+f  512//512  511//511  507//507
+f  507//507  508//508  512//512
+f  513//513  512//512  508//508
+f  508//508  509//509  513//513
+f  514//514  513//513  509//509
+f  509//509  510//510  514//514
+f  515//515  454//454  450//450
+f  450//450  511//511  515//515
+f  516//516  515//515  511//511
+f  511//511  512//512  516//516
+f  517//517  516//516  512//512
+f  512//512  513//513  517//517
+f  518//518  517//517  513//513
+f  513//513  514//514  518//518
+f  519//519  458//458  454//454
+f  454//454  515//515  519//519
+f  520//520  519//519  515//515
+f  515//515  516//516  520//520
+f  521//521  520//520  516//516
+f  516//516  517//517  521//521
+f  522//522  521//521  517//517
+f  517//517  518//518  522//522
+f  523//523  462//462  458//458
+f  458//458  519//519  523//523
+f  524//524  523//523  519//519
+f  519//519  520//520  524//524
+f  525//525  524//524  520//520
+f  520//520  521//521  525//525
+f  526//526  525//525  521//521
+f  521//521  522//522  526//526
+f  527//527  466//466  462//462
+f  462//462  523//523  527//527
+f  528//528  527//527  523//523
+f  523//523  524//524  528//528
+f  529//529  528//528  524//524
+f  524//524  525//525  529//529
+f  530//530  529//529  525//525
+f  525//525  526//526  530//530
+f  467//467  406//406  466//466
+f  466//466  527//527  467//467
+f  468//468  467//467  527//527
+f  527//527  528//528  468//468
+f  469//469  468//468  528//528
+f  528//528  529//529  469//469
+f  470//470  469//469  529//529
+f  529//529  530//530  470//470