A URL to Crash IE6

I haven’t tested it myself, but an “etc” posting on Ars Technica says:

Want to get someone off IE6? Put these 11 characters into the address bar and hit enter: ms-its:%F0:. The browser will instantly crash. Better yet, set it as their homepage.

Apple Magic Mouse: First Hour Review

On the first day the Magic Mouse was available—well, not so much available as it was shipping with new iMacs, so available to play with in the Apple Store—I went to try it out.  While I didn’t think it was the best thing since sliced bread (or any other such amazing invention), I did think it was solid enough to be worth buying, especially since I’ve been having to unstick the scrollball on my bluetooth Mighty Mouse just about weekly of late.  On about half a dozen occasions since then, I’ve been close enough to an Apple Store to wander in and see if they had any Magic Mice for sale, but had no luck until tonight.

The packaging is simple and elegant, a clear plastic shell, though it would have been more elegant without the huge white label added by the Apple Store along one long side, which covered the seam in the box and made it much harder to open than intended and left all sorts of sticky gunk behind.  Batteries are included and pre-installed.  Swapping it in for my bluetooth Mighty Mouse was as simple as turning it on, asking my Mac to set up a bluetooth device, clicking a few times, and turning off the old mouse.  The Magic Mouse is lighter and flatter than the Mighty Mouse (though heavier than the USB version).

Left and right clicking (once enabled) work just like on the Mighty Mouse.  Scrolling is nice and the momentum is a nice add-on.  Forward/backward swipes for navigation work, though I find the gestures a bit awkward (I played with these in the store when I first laid hand on the mouse).  I’d long ago disabled the side buttons on my Mighty Mouse, so I don’t miss those one bit.  As for middle-clicking (clicking on top of the scrollball), had the Magic Mouse hit about 3 months earlier, I wouldn’t have cared at all, but somewhere in the past few months I’ve gotten in the habit of using the middle click to open links in new tabs and close tabs, both in Firefox and in Chrome, so I wasn’t looking forward to losing it.  A quick search led me to this program (actually, this version, as the other one doesn’t seem to work as consistently) which works like a charm—once set up, physically click with 3 fingers on the surface to middle-click (the program defaults to a 3-finger tap, rather than physical click, and is supposed to work on multitouch trackpads as well).

So, my first-hour opinion: worth it to me, may or may not be worth it to you.

Unsticking the Mighty Mouse Scrollball

This information is provided as-is, with no warranty, etc., which is to say if you use this information at all, you do so at your own risk.

I’ve been using an Apple Mighty Mouse (bluetooth) for years now, so for years I’ve been dealing with a scrollball that occasionally gets stuck.  As someone who used to use mice that relied on a physical ball for tracking, this is nothing new.  The only real difference is that we can’t remove the scrollball to directly ungunk the mechanics.  My personal preferred way to ungunk/unstick/clean the scrollball (and mind you, for all I know, this might destroy your mouse) is to turn the mouse off, take a q-tip, soak up some denatured ethyl alcohol, and rub it around the scrollball, rolling the ball in every possible direction to try to get as much of the alcohol down and around the ball as possible, hoping to loosen up any gunk in the works there and bring it up top where it can be wiped away.  Typically, this unsticks the ball and brings some visible gunk and stuff to the topside.  It also helps to press down on the ball while rolling it around to ensure that it is moving the mechanical bits with which it has contact.  Let the mouse fully dry before turning it back on.

Apache’s MultiViews Option

… or “how to serve different image types at one URL.”

… or “why I let myself get carried away reading from one blog post to another.”

After discovering free and cheap SSL certificates, I was playing with some sites over HTTPS to see what different browsers would show for the security.  Very quickly, I noticed that having any elements on the page that aren’t loaded over HTTPS causes the whole page to be marked as not secured.  One element in particular on one page was this “valid” icon from w3.org.  Note that the URL, http://www.w3.org/Icons/valid-xhtml10-blue,  doesn’t have any file-type extension on it.  Since w3.org doesn’t provide the icon over HTTPS (though they are fine with hotlinking the HTTP version), I needed to move it to my own server.  I went to look for the image file and didn’t find a “valid-xhtml10-blue” file with no extension.  What I found were several files with that base name and different extensions.  I couldn’t find any information in the w3.org docs or in the source for the validator, which includes all the validation icons, as to how this was achieved.  I googled to no avail.

Not long after that, I noticed an update for Bad Behavior was available and went to read the release notes.  After reading the release notes, a post about the future major version of Bad Behavior caught my eye.  In that post–no, actually in the comments on that post–there was a mention of getting rid of Apache for performance reasons.  In reading that post, in the discussions of the pros and cons of nginx versus Apache, “content negotiation” was described, and suddenly I understood how to serve the multiple image file types at one type-extension-less URL, like w3.org did.  A quick googling led me to MultiViews.

One line in an .htaccess file and it’s done:
Options +MultiViews

StartSSL: Free/Cheap SSL Certificates

StartCom is the certificate authority providing StartSSL certificates: unlimited 1-year domain-validated single-site SSL certificates for free (“Class 1″); unlimited 2-year domain-validated single-site, UCC, or wildcard certificates after paying $39.90 to further validate your account (“Class 2,” which necessitated photo IDs and a phone call, and is good for 1 year); 2-year EV certificates for $149.90 (I have no idea if this is a good price or not, as I have no use for an EV certificate right now).  The “Class 1″ and “Class 2″ SSL certificates, both 1- and 2-year, both single-site and wildcard are chained certificates, requiring an intermediate certificate, but the underlying root certificate was included in FF3.5, Chrome, Safari4, and IE6 (these are the browsers to which I have easy access for testing).  I wasn’t able to find a proper comprehensive list of who’s root certificates are included in which versions of what browsers (if anyone can point me to such a list, I’d be grateful).

$39.90 for unlimited 2-year wildcard certs is a whole heck of a lot cheaper than anything else I’ve seen.  In fact, that’s not much off of what I’d been paying for 2 years of a single-site certificate, having done a lot of comparison-shopping.  And it’s really hard to beat free for single-site certificates.  It’s an easy replacement for self-signed certificates at the same price.

Best Drive Failure Ever

I suppose it’s a bit misleading to call the least bad something the “best.”  This past weekend, I experience a harddrive failure–a 2-year-old WD RE2 0.5TB drive failed before its 5-year warranty was up and well before its MTBF (1.2 million hours = 136.895463 years).  It’s been a while since I had a drive fail on me (excepting the hanging behavior of the 1.5TB Seagate drives, which isn’t really failure), but I’ve had plenty of drives fail over the course of 25 years of computing.  With the luckier failures, I didn’t lose anything important.

What’s noteworthy about this failure, though, is that it’s the first time I’ve had a drive fail and lost absolutely nothing.  The drive was half of a software RAID1 setup.  OS X’s Disk Utility showed the drive with SMART status “failing” and showed the RAID as “degraded” but was still able to make a complete copy of the RAID to another drive.  Even supposing the RAID hadn’t survived, all of my data except possibly the most recent hour is backed up to yet another drive via Time Machine.

I’m not going to claim the system is bulletproof (I’m sure it isn’t), but it is nice to see a redundancy/backup plan actually work when tested by the real world.  I’m just waiting on a cross-shipped replacement from WD to rebuild the RAID.

Remember: it’s not if your harddrive fails, it’s when your harddrive fails.  Drive failure is inevitable.

Edit: The replacement from WD was shipped next-day air, so I’ll have the new drive tomorrow.  First business day to process the RMA, second business day to ship the replacement, and the replacement arrives on the third business day.  Pretty fast.

Mac Pro (2007) Bluetooth

I’ve had my Mac Pro for over 2 years now and for much of that time I’ve been resigned to the idea that my Apple Wireless Keyboard and Mighty Mouse were just not going to work well more than 6 inches from the front-lower-right corner of the Mac Pro case.  Early on, after I’d had the machine a month or two, I mentioned it to my brother-in-law, who told me that he’d seen some talk online about bluetooth range issues, but that he was fairly certain it was all resolved before my machine was manufactured.  In fact, that’s what most of the bits I could find seemed to indicate–the incidence of Mac Pros with bad bluetooth range dropped dramatically in early 2007.

Dropped dramatically, but not entirely.  The underlying issue seems to be mislabeled antenna wires.  I’d made an earlier pass at trying this fix, but failed because I couldn’t find any of the other wires I was supposed to use in place of the one labeled “BT” that was attached to my bluetooth module.  Just now, however, with some more disassembly, I was able to find the other wires, swap the “BT” wire for the only other wire long enough to reach, and now my keyboard and mouse work from across the room.

Details:  Read this and this.  Open the case, remove all four SATA brackets/drives.  If you can see all four antenna wires, great, go for it!  (That is, swap the “BT” wire for the only other wire long enough to reach.  If you’ve got the Airport module, see those two links to figure out how to deal with those wires.)  If not, as it was for me, remove the heatsink cover (bottom-middle of case) and the front fan assembly (bottom-front of case), then poke around in the bundles of wire behind SATA bay 1, top of the motherboard/logic board, toward the front of the case.  That’s where I found the wires I needed.

To remove the heatsink cover, grip it at the edge closest to the motherboard and lift and pull toward you–it’s held in place by a few magnets, no latches or anything.

To remove the front fan assembly, unscrew the screw that goes through the motherboard at the top-right of the fan assembly and possibly look for a screw at the bottom-right of the assembly, just under where the heatsink cover was.  Once those two screws are removed, pull the assembly straight out of the case (perpendicular to the motherboard)–it slides in a track along the bottom of the case and pulls away from a plug on the motherboard (no cables to worry about).

OpenID Works!

Several weeks ago, I attempted to enable OpenID logins on this blog.  It didn’t work well.  It didn’t work at all.  Bad Behavior, which I consider absolutely critical in cutting down the impact of spambots, also broke the chain of redirects/reposts that enable OpenID logins.  Now, however, with Bad Behavior 2.0.30 (and 2.0.31), the RPX plugin from JanRain works!

It is now possible to log in with OpenID, automatically creating an account, and to associate an existing account with an OpenID for future logins.

Personally, I suggest MyOpenID (from JanRain) because it gives the option of using PhoneFactor’s phone-call-based 2-factor authentication.

Converting from Maildir to mbox Files

A slight misconfiguration had SpamAssassin dropping spam into ~/Maildir/.spam/ while Dovecot was looking for mbox files in ~/mail/.  From my initial bit of Googling, I was expecting to have to download some program to do the heavy lifting.  Luckily, I came across a very simple blog post with a very simple answer that worked like a charm.

Need to generate an mbox out of a Maildir mailbox? Formail helps:

cd $MAILDIR/cur
for i in * ; do cat $i | formail -c >> $MBOXFILE ; done

IMAP, Hosted Email, imapfilter

Of all the various services that I use/host online, I consider email to be, by far, the most critical.  It’s been over 11 years since I registered my first domain name so as to have a permanent email address regardless of changes in educational institution or employer.  I’ve gone through a variety of email setups in that time.  I started with email included in a broader (web) hosting package, using POP (as I did throughout my time in school).  Later, I tried hosting my own mail server at home, paying for a backup/relay server since my connection was unreliable.

At some point, I came to my senses and moved to IMAP, simultaneously moving back to hosted email (because, really, hosting an email server on a home machine is a mess), but with a provider that only hosted email.  IMAP was, at that moment, the ultimate solution to my issues of email being out of sync between multiple computers.  On the other hand, with IMAP, all of my email lived on the hosting company’s servers, so having an email hosting company that knew what they were doing was important.

The other major issue in the move to IMAP was filtering.  I had well over 100 filter rules in Eudora when I stopped using POP.  With IMAP, I no longer had to have filtering rules on every instance of my mail client, but I had to set up the filter rules in the framework allowed by my email host.  (One provider had a Bayesian filter system that could be set to learn from every message move made via IMAP, which was cool, but slow to learn and not accurate enough.)  As time went on, and through changing email hosting providers, this became very cumbersome (especially compared to using procmail on a receiving account, which is how I selectively filter the email that goes to my Blackberry).

When I finally gave up on the hosting company’s email filters, I had nearly 150 filters and there were dozens more I wanted, but just couldn’t be bothered to set up.  With 150 filters and no simple way to group and arrange them, managing the filters was impossible.  If I wanted to rename a mailbox that was the destination for a filter, I had to hunt down the filter and change it, which meant digging through a massive webpage listing of 150 filters.  But using an email hosting provider was non-negotiable for me.

After much searching for ways to run procmail on a remote IMAP account and finding nothing, I finally settled on trying imapfilter.  At first, dealing with the Lua scripting language used to configure it was tedious, but it was easy to learn and thus wasn’t a problem for long.  Now, a week into using imapfilter, my config.lua file is 372 lines long–it’s doing all the filtering I’d been doing through the email hosting company interface, all the filtering I wanted to do, grabbing some spam that persistently evaded the spam filter system, and automatically taking messages that I put in my Junk folder and sending them back to the spam filter system’s reporting address.  I have imapfilter running on a VPS (which I use for a variety of utility things) via cron job every few minutes.  When I want to add a new filter or change the behavior of an existing filter, I can just fire up (Mac)Vim, open the remote file, and apply the power of Vim for quick and easy editing.

It’s the biggest difference in my email use since the move to IMAP.  If you’re using IMAP and you want more powerful/flexible filtering, you should definitely look into imapfilter.

2 . 7 1 8 2 8 1 8 2 8 4 5 9 0 4 5 2 3 5 3 6 0 2 8 7 4 7 1 3 5 2 6 6 2 4 9 7 7 5 7 2 4 7 0 9 3 6 9 9 9 5 9 5 7 4 9 6 6 9 6 7 6 2 7 7 2 4 0 7 6 6 3 0 3 5 3 5 4 7 5 9 4 5 7 1 3 8 2 1 7 8 5 2 5 1 6 6 4 2 7 4 2 7 4 6 6 3 9 1 9 3 2 0 0 3 0 5 9 9 2 1 8 1 7 4 1 3 5 9 6 6 2 9 0 4 3 5 7 2 9 0 0 3 3 4 2 9 5 2 6 0 5 9 5 6 3 0 7 3 8 1 3 2 3 2 8 6 2 7 9 4 3 4 9 0 7 6 3 2 3 3 8 2 9 8 8 0 7 5 3 1 9 5 2 5 1 0 1 9 0 1 1 5 7 3 8 3 4 1 8 7 9 3 0 7 0 2 1 5 4 0 8 9 1 4 9 9 3 4 8 8 4 1 6 7 5 0 9 2 4 4 7 6 1 4 6 0 6 6 8 0 8 2 2 6 4 8 0 0 1 6 8 4 7 7 4 1 1 8 5 3 7 4 2 3 4 5 4 4 2 4 3 7 1 0 7 5 3 9 0 7 7 7 4 4 9 9 2 0 6 9 5 5 1 7 0 2 7 6 1 8 3 8 6 0 6 2 6 1 3 3 1 3 8 4 5 8 3 0 0 0 7 5 2 0 4 4 9 3 3 8 2 6 5 6 0 2 9 7 6 0 6 7 3 7 1 1 3 2 0 0 7 0 9 3 2 8 7 0 9 1 2 7 4 4 3 7 4 7 0 4 7 2 3 0 6 9 6 9 7 7 2 0 9 3 1 0 1 4 1 6 9 2 8 3 6 8 1 9 0 2 5 5 1 5 1 0 8 6 5 7 4 6 3 7 7 2 1 1 1 2 5 2 3 8 9 7 8 4 4 2 5 0 5 6 9 5 3 6 9 6 7 7 0 7 8 5 4 4 9 9 6 9 9 6 7 9 4 6 8 6 4 4 5 4 9 0 5 9 8 7 9 3 1 6 3 6 8 8 9 2 3 0 0 9 8 7 9 3 1 2 7 7 3 6 1 7 8 2 1 5 4 2 4 9 9 9 2 2 9 5 7 6 3 5 1 4 8 2 2 0 8 2 6 9 8 9 5 1 9 3 6 6 8 0 3 3 1 8 2 5 2 8 8 6 9 3 9 8 4 9 6 4 6 5 1 0 5 8 2 0 9 3 9 2 3 9 8 2 9 4 8 8 7 9 3 3 2 0 3 6 2 5 0 9 4 4 3 1 1 7 3 0 1 2 3 8 1 9 7 0 6 8 4 1 6 1 4 0 3 9 7 0 1 9 8 3 7 6 7 9 3 2 0 6 8 3 2 8 2 3 7 6 4 6 4 8 0 4 2 9 5 3 1 1 8 0 2 3 2 8 7 8 2 5 0 9 8 1 9 4 5 5 8 1 5 3 0 1 7 5 6 7 1 7 3 6 1 3 3 2 0 6 9 8 1 1 2 5 0 9 9 6 1 8 1 8 8 1 5 9 3 0 4 1 6 9 0 3 5 1 5 9 8 8 8 8 5 1 9 3 4 5 8 0 7 2 7 3 8 6 6 7 3 8 5 8 9 4 2 2 8 7 9 2 2 8 4 9 9 8 9 2 0 8 6 8 0 5 8 2 5 7 4 9 2 7 9 6 1 0 4 8 4 1 9 8 4 4 4 3 6 3 4 6 3 2 4 4 9 6 8 4 8 7 5 6 0 2 3 3 6 2 4 8 2 7 0 4 1 9 7 8 6 2 3 2 0 9 0 0 2 1 6 0 9 9 0 2 3 5 3 0 4 3 6 9 9 4 1 8 4 9 1 4 6 3 1 4 0 9 3 4 3 1 7 3 8 1 4 3 6 4 0 5 4 6 2 5 3 1 5 2 0 9 6 1 8 3 6 9 0 8 8 8 7 0 7 0 1 6 7 6 8 3 9 6 4 2 4 3 7 8 1 4 0 5 9 2 7 1 4 5 6 3 5 4 9 0 6 1 3 0 3 1 0 7 2 0 8 5 1 0 3 8 3 7 5 0 5 1 0 1 1 5 7 4 7 7 0 4 1 7 1 8 9 8 6 1 0 6 8 7 3 9 6 9 6 5 5 2 1 2 6 7 1 5 4 6 8 8 9 5 7 0 3 5 0 3 5 4 0 2 1 2 3 4 0 7 8 4 9 8 1 9 3 3 4 3 2 1 0 6 8 1 7 0 1 2 1 0 0 5 6 2 7 8 8 0 2 3 5 1 9 3 0 3 3 2 2 4 7 4 5 0 1 5 8 5 3 9 0 4 7 3 0 4 1 9 9 5 7 7 7 7 0 9 3 5 0 3 6 6 0 4 1 6 9 9 7 3 2 9 7 2 5 0 8 8 6 8 7 6 9 6 6 4 0 3 5 5 5 7 0 7 1 6 2 2 6 8 4 4 7 1 6 2 5 6 0 7 9 8 8 2 6 5 1 7 8 7 1 3 4 1 9 5 1 2 4 6 6 5 2 0 1 0 3 0 5 9 2 1 2 3 6 6 7 7 1 9 4 3 2 5 2 7 8 6 7 5 3 9 8 5 5 8 9 4 4 8 9 6 9 7 0 9 6 4 0 9 7 5 4 5 9 1 8 5 6 9 5 6 3 8 0 2 3 6 3 7 0 1 6 2 1 1 2 0 4 7 7 4 2 7 2 2 8 3 6 4 8 9 6 1 3 4 2 2 5 1 6 4 4 5 0 7 8 1 8 2 4 4 2 3 5 2 9 4 8 6 3 6 3 7 2 1 4 1 7 4 0 2 3 8 8 9 3 4 4 1 2 4 7 9 6 3 5 7 4 3 7 0 2 6 3 7 5 5 2 9 4 4 4 8 3 3 7 9 9 8 0 1 6 1 2 5 4 9 2 2 7 8 5 0 9 2 5 7 7 8 2 5 6 2 0 9 2 6 2 2 6 4 8 3 2 6 2 7 7 9 3 3 3 8 6 5 6 6 4 8 1 6 2 7 7 2 5 1 6 4 0 1 9 1 0 5 9 0 0 4 9 1 6 4 4 9 9 8 2 8 9 3 1 5 0 5 6 6 0 4 7 2 5 8 0 2 7 7 8 6 3 1 8 6 4 1 5 5 1 9 5 6 5 3 2 4 4 2 5 8 6 9 8 2 9 4 6 9 5 9 3 0 8 0 1 9 1 5 2 9 8 7 2 1 1 7 2 5 5 6 3 4 7 5 4 6 3 9 6 4 4 7 9 1 0 1 4 5 9 0 4 0 9 0 5 8 6 2 9 8 4 9 6 7 9 1 2 8 7 4 0 6 8 7 0 5 0 4 8 9 5 8 5 8 6 7 1 7 4 7 9 8 5 4 6 6 7 7 5 7 5 7 3 2 0 5 6 8 1 2 8 8 4 5 9 2 0 5 4 1 3 3 4 0 5 3 9 2 2 0 0 0 1 1 3 7 8 6 3 0 0 9 4 5 5 6 0 6 8 8 1 6 6 7 4 0 0 1 6 9 8 4 2 0 5 5 8 0 4 0 3 3 6 3 7 9 5 3 7 6 4 5 2 0 3 0 4 0 2 4 3 2 2 5 6 6 1 3 5 2 7 8 3 6 9 5 1 1 7 7 8 8 3 8 6 3 8 7 4 4 3 9 6 6 2 5 3 2 2 4 9 8 5 0 6 5 4 9 9 5 8 8 6 2 3 4 2 8 1 8 9 9 7 0 7 7 3 3 2 7 6 1 7 1 7 8 3 9 2 8 0 3 4 9 4 6 5 0 1 4 3 4 5 5 8 8 9 7 0 7 1 9 4 2 5 8 6 3 9 8 7 7 2 7 5 4 7 1 0 9 6 2 9 5 3 7 4 1 5 2 1 1 1 5 1 3 6 8 3 5 0 6 2 7 5 2 6 0 2 3 2 6 4 8 4 7 2 8 7 0 3 9 2 0 7 6 4 3 1 0 0 5 9 5 8 4 1 1 6 6 1 2 0 5 4 5 2 9 7 0 3 0 2 3 6 4 7 2 5 4 9 2 9 6 6 6 9 3 8 1 1 5 1 3 7 3 2 2 7 5 3 6 4 5 0 9 8 8 8 9 0 3 1 3 6 0 2 0 5 7 2 4 8 1 7 6 5 8 5 1 1 8 0 6 3 0 3 6 4 4 2 8 1 2 3 1 4 9 6 5 5 0 7 0 4 7 5 1 0 2 5 4 4 6 5 0 1 1 7 2 7 2 1 1 5 5 5 1 9 4 8 6 6 8 5 0 8 0 0 3 6 8 5 3 2 2 8 1 8 3 1 5 2 1 9 6 0 0 3 7 3 5 6 2 5 2 7 9 4 4 9 5 1 5 8 2 8 4 1 8 8 2 9 4 7 8 7 6 1 0 8 5 2 6 3 9 8 1 3 9 5 5 9 9 0 0 6 7 3 7 6 4 8 2 9 2 2 4 4 3 7 5 2 8 7 1 8 4 6 2 4 5 7 8 0 3 6 1 9 2 9 8 1 9 7 1 3 9 9 1 4 7 5 6 4 4 8 8 2 6 2 6 0 3 9 0 3 3 8 1 4 4 1 8 2 3 2 6 2 5 1 5 0 9 7 4 8 2 7 9 8 7 7 7 9 9 6 4 3 7 3 0 8 9 9 7 0 3 8 8 8 6 7 7 8 2 2 7 1 3 8 3 6 0 5 7 7 2 9 7 8 8 2 4 1 2 5 6 1 1 9 0 7 1 7 6 6 3 9 4 6 5 0 7 0 6 3 3 0 4 5 2 7 9 5 4 6 6 1 8 5 5 0 9 6 6 6 6 1 8 5 6 6 4 7 0 9 7 1 1 3 4 4 4 7 4 0 1 6 0 7 0 4 6 2 6 2 1 5 6 8 0 7 1 7 4 8 1 8 7 7 8 4 4 3 7 1 4 3 6 9 8 8 2 1 8 5 5 9 6 7 0 9 5 9 1 0 2 5 9 6 8 6 2 0 0 2 3 5 3 7 1 8 5 8 8 7 4 8 5 6 9 6 5 2 2 0 0 0 5 0 3 1 1 7 3 4 3 9 2 0 7 3 2 1 1 3 9 0 8 0 3 2 9 3 6 3 4 4 7 9 7 2 7 3 5 5 9 5 5 2 7 7 3 4 9 0 7 1 7 8 3 7 9 3 4 2 1 6 3 7 0 1 2 0 5 0 0 5 4 5 1 3 2 6 3 8 3 5 4 4 0 0 0 1 8 6 3 2 3 9 9 1 4 9 0 7 0 5 4 7 9 7 7 8 0 5 6 6 9 7 8 5 3 3 5 8 0 4 8 9 6 6 9 0 6 2 9 5 1 1 9 4 3 2 4 7 3 0 9 9 5 8 7 6 5 5 2 3 6 8 1 2 8 5 9 0 4 1 3 8 3 2 4 1 1 6 0 7 2 2 6 0 2 9 9 8 3 3 0 5 3 5 3 7 0 8 7 6 1 3 8 9 3 9 6 3 9 1 7 7 9 5 7 4 5 4 0 1 6 1 3 7 2 2 3 6 1 8 7 8 9 3 6 5 2 6 0 5 3 8 1 5 5 8 4 1 5 8 7 1 8 6 9 2 5 5 3 8 6 0 6 1 6 4 7 7 9 8 3 4 0 2 5 4 3 5 1 2 8 4 3 9 6 1 2 9 4 6 0 3 5 2 9 1 3 3 2 5 9 4 2 7 9 4 9 0 4 3 3 7 2 9 9 0 8 5 7 3 1 5 8 0 2 9 0 9 5 8 6 3 1 3 8 2 6 8 3 2 9 1 4 7 7 1 1 6 3 9 6 3 3 7 0 9 2 4 0 0 3 1 6 8 9 4 5 8 6 3 6 0 6 0 6 4 5 8 4 5 9 2 5 1 2 6 9 9 4 6 5 5 7 2 4 8 3 9 1 8 6 5 6 4 2 0 9 7 5 2 6 8 5 0 8 2 3 0 7 5 4 4 2 5 4 5 9 9 3 7 6 9 1 7 0 4 1 9 7 7 7 8 0 0 8 5 3 6 2 7 3 0 9 4 1 7 1 0 1 6 3 4 3 4 9 0 7 6 9 6 4 2 3 7 2 2 2 9 4 3 5 2 3 6 6 1 2 5 5 7 2 5 0 8 8 1 4 7 7 9 2 2 3 1 5 1 9 7 4 7 7 8 0 6 0 5 6 9 6 7 2 5 3 8 0 1 7 1 8 0 7 7 6 3 6 0 3 4 6 2 4 5 9 2 7 8 7 7 8 4 6 5 8 5 0 6 5 6 0 5 0 7 8 0 8 4 4 2 1 1 5 2 9 6 9 7 5 2 1 8 9 0 8 7 4 0 1 9 6 6 0 9 0 6 6 5 1 8 0 3 5 1 6 5 0 1 7 9 2 5 0 4 6 1 9 5 0 1 3 6 6 5 8 5 4 3 6 6 3 2 7 1 2 5 4 9 6 3 9 9 0 8 5 4 9 1 4 4 2 0 0 0 1 4 5 7 4 7 6 0 8 1 9 3 0 2 2 1 2 0 6 6 0 2 4 3 3 0 0 9 6 4 1 2 7 0 4 8 9 4 3 9 0 3 9 7 1 7 7 1 9 5 1 8 0 6 9 9 0 8 6 9 9 8 6 0 6 6 3 6 5 8 3 2 3 2 2 7 8 7 0 9 3 7 6 5 0 2 2 6 0 1 4 9 2 9 1 0 1 1 5 1 7 1 7 7 6 3 5 9 4 4 6 0 2 0 2 3 2 4 9 3 0 0 2 8 0 4 0 1 8 6 7 7 2 3 9 1 0 2 8 8 0 9 7 8 6 6 6 0 5 6 5 1 1 8 3 2 6 0 0 4 3 6 8 8 5 0 8 8 1 7 1 5 7 2 3 8 6 6 9 8 4 2 2 4 2 2 0 1 0 2 4 9 5 0 5 5 1 8 8 1 6 9 4 8 0 3 2 2 1 0 0 2 5 1 5 4 2 6 4 9 4 6 3 9 8 1 2 8 7 3 6 7 7 6 5 8 9 2 7 6 8 8 1 6 3 5 9 8 3 1 2 4 7 7 8 8 6 5 2 0 1 4 1 1 7 4 1 1 0 9 1 3 6 0 1 1 6 4 9 9 5 0 7 6 6 2 9 0 7 7 9 4 3 6 4 6 0 0 5 8 5 1 9 4 1 9 9 8 5 6 0 1 6 2 6 4 7 9 0 7 6 1 5 3 2 1 0 3 8 7 2 7 5 5 7 1 2 6 9 9 2 5 1 8 2 7 5 6 8 7 9 8 9 3 0 2 7 6 1 7 6 1 1 4 6 1 6 2 5 4 9 3 5 6 4 9 5 9 0 3 7 9 8 0 4 5 8 3 8 1 8 2 3 2 3 3 6 8 6 1 2 0 1 6 2 4 3 7 3 6 5 6 9 8 4 6 7 0 3 7 8 5 8 5 3 3 0 5 2 7 5 8 3 3 3 3 7 9 3 9 9 0 7 5 2 1 6 6 0 6 9 2 3 8 0 5 3 3 6 9 8 8 7 9 5 6 5 1 3 7 2 8 5 5 9 3 8 8 3 4 9 9 8 9 4 7 0 7 4 1 6 1 8 1 5 5 0 1 2 5 3 9 7 0 6 4 6 4 8 1 7 1 9 4 6 7 0 8 3 4 8 1 9 7 2 1 4 4 8 8 8 9 8 7 9 0 6 7 6 5 0 3 7 9 5 9 0 3 6 6 9 6 7 2 4 9 4 9 9 2 5 4 5 2 7 9 0 3 3 7 2 9 6 3 6 1 6 2 6 5 8 9 7 6 0 3 9 4 9 8 5 7 6 7 4 1 3 9 7 3 5 9 4 4 1 0 2 3 7 4 4 3 2 9 7 0 9 3 5 5 4 7 7 9 8 2 6 2 9 6 1 4 5 9 1 4 4 2 9 3 6 4 5 1 4 2 8 6 1 7 1 5 8 5 8 7 3 3 9 7 4 6 7 9 1 8 9 7 5 7 1 2 1 1 9 5 6 1 8 7 3 8 5 7 8 3 6 4 4 7 5 8 4 4 8 4 2 3 5 5 5 5 8 1 0 5 0 0 2 5 6 1 1 4 9 2 3 9 1 5 1 8 8 9 3 0 9 9 4 6 3 4 2 8 4 1 3 9 3 6 0 8 0 3 8 3 0 9 1 6 6 2 8 1 8 8 1 1 5 0 3 7 1 5 2 8 4 9 6 7 0 5 9 7 4 1 6 2 5 6 2 8 2 3 6 0 9 2 1 6 8 0 7 5 1 5 0 1 7 7 7 2 5 3 8 7 4 0 2 5 6 4 2 5 3 4 7 0 8 7 9 0 8 9 1 3 7 2 9 1 7 2 2 8 2 8 6 1 1 5 1 5 9 1 5 6 8 3 7 2 5 2 4 1 6 3 0 7 7 2 2 5 4 4 0 6 3 3 7 8 7 5 9 3 1 0 5 9 8 2 6 7 6 0 9 4 4 2 0 3 2 6 1 9 2 4 2 8 5 3 1 7 0 1 8 7 8 1 7 7 2 9 6 0 2 3 5 4 1 3 0 6 0 6 7 2 1 3 6 0 4 6 0 0 0 3 8 9 6 6 1 0 9 3 6 4 7 0 9 5 1 4 1 4 1 7 1 8 5 7 7 7 0 1 4 1 8 0 6 0 6 4 4 3 6 3 6 8 1 5 4 6 4 4 4 0 0 5 3 3 1 6 0 8 7 7 8 3 1 4 3 1 7 4 4 4 0 8 1 1 9 4 9 4 2 2 9 7 5 5 9 9 3 1 4 0 1 1 8 8 8 6 8 3 3 1 4 8 3 2 8 0 2 7 0 6 5 5 3 8 3 3 0 0 4 6 9 3 2 9 0 1 1 5 7 4 4 1 4 7 5 6 3 1 3 9 9 9 7 2 2 1 7 0 3 8 0 4 6 1 7 0 9 2 8 9 4 5 7 9 0 9 6 2 7 1 6 6 2 2 6 0 7 4 0 7 1 8 7 4 9 9 7 5 3 5 9 2 1 2 7 5 6 0 8 4 4 1 4 7 3 7 8 2 3 3 0 3 2 7 0 3 3 0 1 6 8 2 3 7 1 9 3 6 4 8 0 0 2 1 7 3 2 8 5 7 3 4 9 3 5 9 4 7 5 6 4 3 3 4 1 2 9 9 4 3 0 2 4 8 5 0 2 3 5 7 3 2 2 1 4 5 9 7 8 4 3 2 8 2 6 4 1 4 2 1 6 8 4 8 7 8 7 2 1 6 7 3 3 6 7 0 1 0 6 1 5 0 9 4 2 4 3 4 5 6 9 8 4 4 0 1 8 7 3 3 1 2 8 1 0 1 0 7 9 4 5 1 2 7 2 2 3 7 3 7 8 8 6 1 2 6 0 5 8 1 6 5 6 6 8 0 5 3 7 1 4 3 9 6 1 2 7 8 8 8 7 3 2 5 2 7 3 7 3 8 9 0 3 9 2 8 9 0 5 0 6 8 6 5 3 2 4 1 3 8 0 6 2 7 9 6 0 2 5 9 3 0 3 8 7 7 2 7 6 9 7 7 8 3 7 9 2 8 6 8 4 0 9 3 2 5 3 6 5 8 8 0 7 3 3 9 8 8 4 5 7 2 1 8 7 4 6 0 2 1 0 0 5 3 1 1 4 8 3 3 5 1 3 2 3 8 5 0 0 4 7 8 2 7 1 6 9 3 7 6 2 1 8 0 0 4 9 0 4 7 9 5 5 9 7 9 5 9 2 9 0 5 9 1 6 5 5 4 7 0 5 0 5 7 7 7 5 1 4 3 0 8 1 7 5 1 1 2 6 9 8 9 8 5 1 8 8 4 0 8 7 1 8 5 6 4 0 2 6 0 3 5 3 0 5 5 8 3 7 3 7 8 3 2 4 2 2 9 2 4 1 8 5 6 2 5 6 4 4 2 5 5 0 2 2 6 7 2 1 5 5 9 8 0 2 7 4 0 1 2 6 1 7 9 7 1 9 2 8 0 4 7 1 3 9 6 0 0 6 8 9 1 6 3 8 2 8 6 6 5 2 7 7 0 0 9 7 5 2 7 6 7 0 6 9 7 7 7 0 3 6 4 3 9 2 6 0 2 2 4 3 7 2 8 4 1 8 4 0 8 8 3 2 5 1 8 4 8 7 7 0 4 7 2 6 3 8 4 4 0 3 7 9 5 3 0 1 6 6 9 0 5 4 6 5 9 3 7 4 6 1 6 1 9 3 2 3 8 4 0 3 6 3 8 9 3 1 3 1 3 6 4 3 2 7 1 3 7 6 8 8 8 4 1 0 2 6 8 1 1 2 1 9 8 9 1 2 7 5 2 2 3 0 5 6 2 5 6 7 5 6 2 5 4 7 0 1 7 2 5 0 8 6 3 4 9 7 6 5 3 6 7 2 8 8 6 0 5 9 6 6 7 5 2 7 4 0 8 6 8 6 2 7 4 0 7 9 1 2 8 5 6 5 7 6 9 9 6 3 1 3 7 8 9 7 5 3 0 3 4 6 6 0 6 1 6 6 6 9 8 0 4 2 1 8 2 6 7 7 2 4 5 6 0 5 3 0 6 6 0 7 7 3 8 9 9 6 2 4 2 1 8 3 4 0 8 5 9 8 8 2 0 7 1 8 6 4 6 8 2 6 2 3 2 1 5 0 8 0 2 8 8 2 8 6 3 5 9 7 4 6 8 3 9 6 5 4 3 5 8 8 5 6 6 8 5 5 0 3 7 7 3 1 3 1 2 9 6 5 8 7 9 7 5 8 1 0 5 0 1 2 1 4 9 1 6 2 0 7 6 5 6 7 6 9 9 5 0 6 5 9 7 1 5 3 4 4 7 6 3 4 7 0 3 2 0 8 5 3 2 1 5 6 0 3 6 7 4 8 2 8 6 0 8 3 7 8 6 5 6 8 0 3 0 7 3 0 6 2 6 5 7 6 3 3 4 6 9 7 7 4 2 9 5 6 3 4 6 4 3 7 1 6 7 0 9 3 9 7 1 9 3 0 6 0 8 7 6 9 6 3 4 9 5 3 2 8 8 4 6 8 3 3 6 1 3 0 3 8 8 2 9 4 3 1 0 4 0 8 0 0 2 9 6 8 7 3 8 6 9 1 1 7 0 6 6 6 6 6 1 4 6 8 0 0 0 1 5 1 2 1 1 4 3 4 4 2 2 5 6 0 2 3 8 7 4 4 7 4 3 2 5 2 5 0 7 6 9 3 8 7 0 7 7 7 7 5 1 9 3 2 9 9 9 4 2 1 3 7 2 7 7 2 1 1 2 5 8 8 4 3 6 0 8 7 1 5 8 3 4 8 3 5 6 2 6 9 6 1 6 6 1 9 8 0 5 7 2 5 2 6 6 1 2 2 0 6 7 9 7 5 4 0 6 2 1 0 6 2 0 8 0 6 4 9 8 8 2 9 1 8 4 5 4 3 9 5 3 0 1 5 2 9 9 8 2 0 9 2 5 0 3 0 0 5 4 9 8 2 5 7 0 4 3 3 9 0 5 5 3 5 7 0 1 6 8 6 5 3 1 2 0 5 2 6 4 9 5 6 1 4 8 5 7 2 4 9 2 5 7 3 8 6 2 0 6 9 1 7 4 0 3 6 9 5 2 1 3 5 3 3 7 3 2 5 3 1 6 6 6 3 4 5 4 6 6 5 8 8 5 9 7 2 8 6 6 5 9 4 5 1 1 3 6 4 4 1 3 7 0 3 3 1 3 9 3 6 7 2 1 1 8 5 6 9 5 5 3 9 5 2 1 0 8 4 5 8 4 0 7 2 4 4 3 2 3 8 3 5 5 8 6 0 6 3 1 0 6 8 0 6 9 6 4 9 2 4 8 5 1 2 3 2 6 3 2 6 9 9 5 1 4 6 0 3 5 9 6 0 3 7 2 9 7 2 5 3 1 9 8 3 6 8 4 2 3 3 6 3 9 0 4 6 3 2 1 3 6 7 1 0 1 1 6 1 9 2 8 2 1 7 1 1 1 5 0 2 8 2 8 0 1 6 0 4 4 8 8 0 5 8 8 0 2 3 8 2 0 3 1 9 8 1 4 9 3 0 9 6 3 6 9 5 9 6 7 3 5 8 3 2 7 4 2 0 2 4 9 8 8 2 4 5 6 8 4 9 4 1 2 7 3 8 6 0 5 6 6 4 9 1 3 5 2 5 2 6 7 0 6 0 4 6 2 3 4 4 5 0 5 4 9 2 2 7 5 8 1 1 5 1 7 0 9 3 1 4 9 2 1 8 7 9 5 9 2 7 1 8 0 0 1 9 4 0 9 6 8 8 6 6 9 8 6 8 3 7 0 3 7 3 0 2 2 0 0 4 7 5 3 1 4 3 3 8 1 8 1 0 9 2 7 0 8 0 3 0 0 1 7 2 0 5 9 3 5 5 3 0 5 2 0 7 0 0 7 0 6 0 7 2 2 3 3 9 9 9 4 6 3 9 9 0 5 7 1 3 1 1 5 8 7 0 9 9 6 3 5 7 7 7 3 5 9 0 2 7 1 9 6 2 8 5 0 6 1 1 4 6 5 1 4 8 3 7 5 2 6 2 0 9 5 6 5 3 4 6 7 1 3 2 9 0 0 2 5 9 9 4 3 9 7 6 6 3 1 1 4 5 4 5 9 0 2 6 8 5 8 9 8 9 7 9 1 1 5 8 3 7 0 9 3 4 1 9 3 7 0 4 4 1 1 5 5 1 2 1 9 2 0 1 1 7 1 6 4 8 8 0 5 6 6 9 4 5 9 3 8 1 3 1 1 8 3 8 4 3 7 6 5 6 2 0 6 2 7 8 4 6 3 1 0 4 9 0 3 4 6 2 9 3 9 5 0 0 2 9 4 5 8 3 4 1 1 6 4 8 2 4 1 1 4 9 6 9 7 5 8 3 2 6 0 1 1 8 0 0 7 3 1 6 9 9 4 3 7 3 9 3 5 0 6 9 6 6 2 9 5 7 1 2 4 1 0 2 7 3 2 3 9 1 3 8 7 4 1 7 5 4 9 2 3 0 7 1 8 6 2 4 5 4 5 4 3 2 2 2 0 3 9 5 5 2 7 3 5 2 9 5 2 4 0 2 4 5 9 0 3 8 0 5 7 4 4 5 0 2 8 9 2 2 4 6 8 8 6 2 8 5 3 3 6 5 4 2 2 1 3 8 1 5 7 2 2 1 3 1 1 6 3 2 8 8 1 1 2 0 5 2 1 4 6 4 8 9 8 0 5 1 8 0 0 9 2 0 2 4 7 1 9 3 9 1 7 1 0 5 5 5 3 9 0 1 1 3 9 4 3 3 1 6 6 8 1 5 1 5 8 2 8 8 4 3 6 8 7 6 0 6 9 6 1 1 0 2 5 0 5 1 7 1 0 0 7 3 9 2 7 6 2 3 8 5 5 5 3 3 8 6 2 7 2 5 5 3 5 3 8 8 3 0 9 6 0 6 7 1 6 4 4 6 6 2 3 7 0 9 2 2 6 4 6 8 0 9 6 7 1 2 5 4 0 6 1 8 6 9 5 0 2 1 4 3 1 7 6 2 1 1 6 6 8 1 4 0 0 9 7 5 9 5 2 8 1 4 9 3 9 0 7 2 2 2 6 0 1 1 1 2 6 8 1 1 5 3 1 0 8 3 8 7 3 1 7 6 1 7 3 2 3 2 3 5 2 6 3 6 0 5 8 3 8 1 7 3 1 5 1 0 3 4 5 9 5 7 3 6 5 3 8 2 2 3 5 3 4 9 9 2 9 3 5 8 2 2 8 3 6 8 5 1 0 0 7 8 1 0 8 8 4 6 3 4 3 4 9 9 8 3 5 1 8 4 0 4 4 5 1 7 0 4 2 7 0 1 8 9 3 8 1 9 9 4 2 4 3 4 1 0 0 9 0 5 7 5 3 7 6 2 5 7 7 6 7 5 7 1 1 1 8 0 9 0 0 8 8 1 6 4 1 8 3 3 1 9 2 0 1 9 6 2 6 2 3 4 1 6 2 8 8 1 6 6 5 2 1 3 7 4 7 1 7 3 2 5 4 7 7 7 2 7 7 8 3 4 8 8 7 7 4 3 6 6 5 1 8 8 2 8 7 5 2 1 5 6 6 8 5 7 1 9 5 0 6 3 7 1 9 3 6 5 6 5 3 9 0 3 8 9 4 4 9 3 6 6 4 2 1 7 6 4 0 0 3 1 2 1 5 2 7 8 7 0 2 2 2 3 6 6 4 6 3 6 3 5 7 5 5 5 0 3 5 6 5 5 7 6 9 4 8 8 8 6 5 4 9 5 0 0 2 7 0 8 5 3 9 2 3 6 1 7 1 0 5 5 0 2 1 3 1 1 4 7 4 1 3 7 4 4 1 0 6 1 3 4 4 4 5 5 4 4 1 9 2 1 0 1 3 3 6 1 7 2 9 9 6 2 8 5 6 9 4 8 9 9 1 9 3 3 6 9 1 8 4 7 2 9 4 7 8 5 8 0 7 2 9 1 5 6 0 8 8 5 1 0 3 9 6 7 8 1 9 5 9 4 2 9 8 3 3 1 8 6 4 8 0 7 5 6 0 8 3 6 7 9 5 5 1 4 9 6 6 3 6 4 4 8 9 6 5 5 9 2 9 4 8 1 8 7 8 5 1 7 8 4 0 3 8 7 7 3 3 2 6 2 4 7 0 5 1 9 4 5 0 5 0 4 1 9 8 4 7 7 4 2 0 1 4 1 8 3 9 4 7 7 3 1 2 0 2 8 1 5 8 8 6 8 4 5 7 0 7 2 9 0 5 4 4 0 5 7 5 1 0 6 0 1 2 8 5 2 5 8 0 5 6 5 9 4 7 0 3 0 4 6 8 3 6 3 4 4 5 9 2 6 5 2 5 5 2 1 3 7 0 0 8 0 6 8 7 5 2 0 0 9 5 9 3 4 5 3 6 0 7 3 1 6 2 2 6 1 1 8 7 2 8 1 7 3 9 2 8 0 7 4 6 2 3 0 9 4 6 8 5 3 6 7 8 2 3 1 0 6 0 9 7 9 2 1 5 9 9 3 6 0 0 1 9 9 4 6 2 3 7 9 9 3 4 3 4 2 1 0 6 8 7 8 1 3 4 9 7 3 4 6 9 5 9 2 4 6 4 6 9 7 5 2 5 0 6 2 4 6 9 5 8 6 1 6 9 0 9 1 7 8 5 7 3 9 7 6 5 9 5 1 9 9 3 9 2 9 9 3 9 9 5 5 6 7 5 4 2 7 1 4 6 5 4 9 1 0 4 5 6 8 6 0 7 0 2 0 9 9 0 1 2 6 0 6 8 1 8 7 0 4 9 8 4 1 7 8 0 7 9 1 7 3 9 2 4 0 7 1 9 4 5 9 9 6 3 2 3 0 6 0 2 5 4 7 0 7 9 0 1 7 7 4 5 2 7 5 1 3 1 8 6 8 0 9 9 8 2 2 8 4 7 3 0 8 6 0 7 6 6 5 3 6 8 6 6 8 5 5 5 1 6 4 6 7 7 0 2 9 1 1 3 3 6 8 2 7 5 6 3 1 0 7 2 2 3 3 4 6 7 2 6 1 1 3 7 0 5 4 9 0 7 9 5 3 6 5 8 3 4 5 3 8 6 3 7 1 9 6 2 3 5 8 5 6 3 1 2 6 1 8 3 8 7 1 5 6 7 7 4 1 1 8 7 3 8 5 2 7 7 2 2 9 2 2 5 9 4 7 4 3 3 7 3 7 8 5 6 9 5 5 3 8 4 5 6 2 4 6 8 0 1 0 1 3 9 0 5 7 2 7 8 7 1 0 1 6 5 1 2 9 6 6 6 3 6 7 6 4 4 5 1 8 7 2 4 6 5 6 5 3 7 3 0 4 0 2 4 4 3 6 8 4 1 4 0 8 1 4 4 8 8 7 3 2 9 5 7 8 4 7 3 4 8 4 9 0 0 0 3 0 1 9 4 7 7 8 8 8 0 2 0 4 6 0 3 2 4 6 6 0 8 4 2 8 7 5 3 5 1 8 4 8 3 6 4 9 5 9 1 9 5 0 8 2 8 8 8 3 2 3 2 0 6 5 2 2 1 2 8 1 0 4 1 9 0 4 4 8 0 4 7 2 4 7 9 4 9 2 9 1 3 4 2 2 8 4 9 5 1 9 7 0 0 2 2 6 0 1 3 1 0 4 3 0 0 6 2 4 1 0 7 1 7 9 7 1 5 0 2 7 9 3 4 3 3 2 6 3 4 0 7 9 9 5 9 6 0 5 3 1 4 4 6 0 5 3 2 3 0 4 8 8 5 2 8 9 7 2 9 1 7 6 5 9 8 7 6 0 1 6 6 6 7 8 1 1 9 3 7 9 3 2 3 7 2 4 5 3 8 5 7 2 0 9 6 0 7 5 8 2 2 7 7 1 7 8 4 8 3 3 6 1 6 1 3 5 8 2 6 1 2 8 9 6 2 2 6 1 1 8 1 2 9 4 5 5 9 2 7 4 6 2 7 6 7 1 3 7 7 9 4 4 8 7 5 8 6 7 5 3 6 5 7 5 4 4 8 6 1 4 0 7 6 1 1 9 3 1 1 2 5 9 5 8 5 1 2 6 5 5 7 5 9 7 3 4 5 7 3 0 1 5 3 3 3 6 4 2 6 3 0 7 6 7 9 8 5 4 4 3 3 8 5 7 6 1 7 1 5 3 3 3 4 6 2 3 2 5 2 7 0 5 7 2 0 0 5 3 0 3 9 8 8 2 8 9 4 9 9 0 3 4 2 5 9 5 6 6 2 3 2 9 7 5 7 8 2 4 8 8 7 3 5 0 2 9 2 5 9 1 6 6 8 2 5 8 9 4 4 5 6 8 9 4 6 5 5 9 9 2 6 5 8 4 5 4 7 6 2 6 9 4 5 2 8 7 8 0 5 1 6 5 0 1 7 2 0 6 7 4 7 8 5 4 1 7 8 8 7 9 8 2 2 7 6 8 0 6 5 3 6 6 5 0 6 4 1 9 1 0 9 7 3 4 3 4 5 2 8 8 7 8 3 3 8 6 2 1 7 2 6 1 5 6 2 6 9 5 8 2 6 5 4 4 7 8 2 0 5 6 7 2 9 8 7 7 5 6 4 2 6 3 2 5 3 2 1 5 9 4 2 9 4 4 1 8 0 3 9 9 4 3 2 1 7 0 0 0 0 9 0 5 4 2 6 5 0 7 6 3 0 9 5 5 8 8 4 6 5 8 9 5 1 7 1 7 0 9 1 4 7 6 0 7 4 3 7 1 3 6 8 9 3 3 1 9 4 6 9 0 9 0 9 8 1 9 0 4 5 0 1 2 9 0 3 0 7 0 9 9 5 6 6 2 2 6 6 2 0 3 0 3 1 8 2 6 4 9 3 6 5 7 3 3 6 9 8 4 1 9 5 5 5 7 7 6 9 6 3 7 8 7 6 2 4 9 1 8 8 5 2 8 6 5 6 8 6 6 0 7 6 0 0 5 6 6 0 2 5 6 0 5 4 4 5 7 1 1 3 3 7 2 8 6 8 4 0 2 0 5 5 7 4 4 1 6 0 3 0 8 3 7 0 5 2 3 1 2 2 4 2 5 8 7 2 2 3 4 3 8 8 5 4 1 2 3 1 7 9 4 8 1 3 8 8 5 5 0 0 7 5 6 8 9 3 8 1 1 2 4 9 3 5 3 8 6 3 1 8 6 3 5 2 8 7 0 8 3 7 9 9 8 4 5 6 9 2 6 1 9 9 8 1 7 9 4 5 2 3 3 6 4 0 8 7 4 2 9 5 9 1 1 8 0 7 4 7 4 5 3 4 1 9 5 5 1 4 2 0 3 5 1 7 2 6 1 8 4 2 0 0 8 4 5 5 0 9 1 7 0 8 4 5 6 8 2 3 6 8 2 0 0 8 9 7 7 3 9 4 5 5 8 4 2 6 7 9 2 1 4 2 7 3 4 7 7 5 6 0 8 7 9 6 4 4 2 7 9 2 0 2 7 0 8 3 1 2 1 5 0 1 5 6 4 0 6 3 4 1 3 4 1 6 1 7 1 6 6 4 4 8 0 6 9 8 1 5 4 8 3 7 6 4 4 9 1 5 7 3 9 0 0 1 2 1 2 1 7 0 4 1 5 4 7 8 7 2 5 9 1 9 9 8 9 4 3 8 2 5 3 6 4 9 5 0 5 1 4 7 7 1 3 7 9 3 9 9 1 4 7 2 0 5 2 1 9 5 2 9 0 7 9 3 9 6 1 3 7 6 2 1 1 0 7 2 3 8 4 9 4 2 9 0 6 1 6 3 5 7 6 0 4 5 9 6 2 3 1 2 5 3 5 0 6 0 6 8 5 3 7 6 5 1 4 2 3 1