• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

Audit of NHS Trust’s app project with DeepMind raises more questions than it answers

A third party audit of a controversial patient data-sharing arrangement between a London NHS Trust and Google DeepMind appears to have skirted over the core issues that generated the controversy in the first place.

The audit (full report here) — conducted by law firm Linklaters — of the Royal Free NHS Foundation Trust’s acute kidney injury detection app system, Streams, which was co-developed with Google-DeepMind (using an existing NHS algorithm for early detection of the condition), does not examine the problematic 2015 information-sharing agreement inked between the pair which allowed data to start flowing.

“This Report contains an assessment of the data protection and confidentiality issues associated with the data protection arrangements between the Royal Free and DeepMind . It is limited to the current use of Streams, and any further development, functional testing or clinical testing, that is either planned or in progress. It is not a historical review,” writes Linklaters, adding that: “It includes consideration as to whether the transparency, fair processing, proportionality and information sharing concerns outlined in the Undertakings are being met.”

Yet it was the original 2015 contract that triggered the controversy, after it was obtained and published by New Scientist, with the wide-ranging document raising questions over the broad scope of the data transfer; the legal bases for patients information to be shared; and leading to questions over whether regulatory processes intended to safeguard patients and patient data had been sidelined by the two main parties involved in the project.

In November 2016 the pair scrapped and replaced the initial five-year contract with a different one — which put in place additional information governance steps.

They also went on to roll out the Streams app for use on patients in multiple NHS hospitals — despite the UK’s data protection regulator, the ICO, having instigated an investigation into the original data-sharing arrangement.

And just over a year ago the ICO concluded that the Royal Free NHS Foundation Trust had failed to comply with Data Protection Law in its dealings with Google’s DeepMind.

The audit of the Streams project was a requirement of the ICO.

Though, notably, the regulator has not endorsed Linklaters report. On the contrary, it warns that it’s seeking legal advice and could take further action.

In a statement on its website, the ICO’s deputy commissioner for policy, Steve Wood, writes: “We cannot endorse a report from a third party audit but we have provided feedback to the Royal Free. We also reserve our position in relation to their position on medical confidentiality and the equitable duty of confidence. We are seeking legal advice on this issue and may require further action.”

In a section of the report listing exclusions, Linklaters confirms the audit does not consider: “The data protection and confidentiality issues associated with the processing of personal data about the clinicians at the Royal Free using the Streams App.”

So essentially the core controversy, related to the legal basis for the Royal Free to pass personally identifiable information on 1.6M patients to DeepMind when the app was being developed, and without people’s knowledge or consent, is going unaddressed here.

And Wood’s statement pointedly reiterates that the ICO’s investigation “found a number of shortcomings in the way patient records were shared for this trial”.

“[P]art of the undertaking committed Royal Free to commission a third party audit. They have now done this and shared the results with the ICO. What’s important now is that they use the findings to address the compliance issues addressed in the audit swiftly and robustly. We’ll be continuing to liaise with them in the coming months to ensure this is happening,” he adds.

“It’s important that other NHS Trusts considering using similar new technologies pay regard to the recommendations we gave to Royal Free, and ensure data protection risks are fully addressed using a Data Protection Impact Assessment before deployment.”

While the report is something of a frustration, given the glaring historical omissions, it does raise some points of interest — including suggesting that the Royal Free should probably scrap a Memorandum of Understanding it also inked with DeepMind, in which the pair set out their ambition to apply AI to NHS data.

This is recommended because the pair have apparently abandoned their AI research plans.

On this Linklaters writes: “DeepMind has informed us that they have abandoned their potential research project into the use of AI to develop better algorithms, and their processing is limited to execution of the NHS AKI algorithm… In addition, the majority of the provisions in the Memorandum of Understanding are non-binding. The limited provisions that are binding are superseded by the Services Agreement and the Information Processing Agreement discussed above, hence we think the Memorandum of Understanding has very limited relevance to Streams. We recommend that the Royal Free considers if the Memorandum of Understanding continues to be relevant to its relationship with DeepMind and, if it is not relevant, terminates that agreement.”

In another section, discussing the NHS algorithm that underpins the Streams app, the law firm also points out that DeepMind’s role in the project is little more than helping provide a glorified app wrapper (on the app design front the project also utilized UK app studio, ustwo, so DeepMind can’t claim app design credit either).

“Without intending any disrespect to DeepMind, we do not think the concepts underpinning Streams are particularly ground-breaking. It does not, by any measure, involve artificial intelligence or machine learning or other advanced technology. The benefits of the Streams App instead come from a very well-designed and user-friendly interface, backed up by solid infrastructure and data management that provides AKI alerts and contextual clinical information in a reliable, timely and secure manner,” Linklaters writes.

What DeepMind did bring to the project, and to its other NHS collaborations, is money and resources — providing its development resources free for the NHS at the point of use, and stating (when asked about its business model) that it would determine how much to charge the NHS for these app ‘innovations’ later.

Yet the commercial services the tech giant is providing to what are public sector organizations do not appear to have been put out to open tender.

Also notably excluded in the Linklaters’ audit: Any scrutiny of the project vis-a-vis competition law, public procurement law compliance with procurement rules, and any concerns relating to possible anticompetitive behavior.

The report does highlight one potentially problematic data retention issue for the current deployment of Streams, saying there is “currently no retention period for patient information on Streams” — meaning there is no process for deleting a patient’s medical history once it reaches a certain age.

“This means the information on Streams currently dates back eight years,” it notes, suggesting the Royal Free should probably set an upper age limit on the age of information contained in the system.

While Linklaters largely glosses over the chequered origins of the Streams project, the law firm does make a point of agreeing with the ICO that the original privacy impact assessment for the project “should have been completed in a more timely manner”.

It also describes it as “relatively thin given the scale of the project”.

Giving its response to the audit, health data privacy advocacy group MedConfidential — an early critic of the DeepMind data-sharing arrangement — is roundly unimpressed, writing: “The biggest question raised by the Information Commissioner and the National Data Guardian appears to be missing — instead, the report excludes a “historical review of issues arising prior to the date of our appointment”.

“The report claims the ‘vital interests’ (i.e. remaining alive) of patients is justification to protect against an “event [that] might only occur in the future or not occur at all”… The only ‘vital interest’ protected here is Google’s, and its desire to hoard medical records it was told were unlawfully collected. The vital interests of a hypothetical patient are not vital interests of an actual data subject (and the GDPR tests are demonstrably unmet).

“The ICO and NDG asked the Royal Free to justify the collection of 1.6 million patient records, and this legal opinion explicitly provides no answer to that question.”


Source: TechCrunch

The best moments in E3 history – CNET

The Electronic Entertainment Expo, or E3, has been giving us great gaming moments since 1995.
Source: CNET

Aeon Flux getting a live-action reboot on MTV – CNET

The female assassin and her band of anarchist rebels return to TV in a live-action version of the popular ’90s animated series.
Source: CNET

Twitter wants to inject live events into every area of the app

The chronological news feed has been a bit of a looming specter for Twitter . Sure, it’s their bread-and-butter but it only works for users who are willing to put in the time to prune their own feeds and strip away follows while constantly keeping an eye out for new accounts. For Twitter, a major challenge is discovering how they can update the experience for casual users who follow a few accounts but haven’t gotten deep into the discovery phase yet.

Twitter’s efforts to double-down on surfacing live events coverage and catering to users’ specific areas of interest have been an evolving mission for the company, but today, they are announcing some of their boldest moves yet to change how the app grows to understand a user base on their interactions.

Twitter is making some major updates to the Explore feed, which will now surface curated pages dedicated to news stories surrounding breaking news, live events and stories in a way that will drive a closer fit to individual user’s interests and help them find more of what’s happening across the site. Some of these changes will also be popping up at the top of user home timelines in a bid to draw users down exploratory rabbit holes that expose them to new accounts and new communities.

For Twitter, it’s a logical evolution of Moments which were introduced in 2015 to drive conversations and curate stories from the Twitterverse.

There’s going to be a big mix of what is being curated by humans and algorithms as the company looks to marry the editorial voice it has built up in Moments with its human curation team with a highly-targeted algorithm that can find interests and grab the latest tweets that meet them. It’s all about striking a balance and understanding the limits of curation in each situation, the company tells me.

“We wouldn’t, for example, set a human on the task of trying to identify all of the relevant live conversations coming out in real time in a particular situation so that’s where algorithmic curation comes in,” Twitter’s Director of Curation Joanna Geary told TechCrunch.

Now, for something like a breaking news story, you’ll be able to find what some of the most important tweets that have really driven the story, alongside a tab to explore what is coming in live. The company will be testing a topic feed dedicated to the 2018 World Cup that will organize scores, plug in live video, and integrate photos and reaction in a way curated by man and machine.

Twitter has been exploring the promises of the algorithmic feed for quite some time, but it’s opted to push most of these minor updates to the Explore feed or just to the top of users’ main feeds with brief “what you missed” interactions. This isn’t changing with today’s updates either, the company isn’t shifting the fundamentals of how your feed flows back in time, instead its seeking to offer snippets that help you move on tangents for discovery.

“For us, the heart of Twitter is all about discussing and discovering what’s happening right now,” Twitter Senior Director of Product Management Sriram Krishnan told TechCrunch. “People’s home timelines aren’t changing, we are going to show these experiences at the top of your home timeline but everything below it will continue to be the same.”

While users of the service have gotten used to the frequent changes in the company’s Explore tab, what will be new are the push notifications that Twitter is sending to users to direct them towards new or developing stories. Doing this in a highly targeted capacity is going to be pretty critical for Twitter. People are already annoyed by the constant notifications from social media services that they explicitly okayed, when there’s deviation from that people can get upset. Users will be able to shut off these types of notifications if Twitter surfaces stuff that isn’t relevant or welcome, but there’s a lot of potential for payoff if the company does this well.

All of these changes to the Explore tab will be rolling out to users in the U.S. and Canada in the next few months, the company says, while integrations in the home feed are simply “coming soon.”

The impact for the company could be substantial here as they continue to chase turning MAUs to DAUs, but it all depends on how much they can get to know the person at the tail-end of all of the follows, likes and retweets and see whether they can bring them something that matters.


Source: TechCrunch

Ring’s $199 security system will finally ship next month

Way back in October of last year, Ring announced “Ring Protect” — a modular, no contract, DIY home security system.

After a few delays, a bit of legal drama, and Ring being acquired for a billion dollars by Amazon, the alarm is finally about to ship — albeit with a slightly different (better!) name.

Ring Protect has been redubbed as the more intuitive Ring Alarm — a better name if only because competitor Nest has both a security product and a totally different product (a smoke detector) called Nest Protect.

Ring’s base level alarm kit starts at $199, which includes a keypad (for arming/disarming the system), one door/window sensor, a motion detector, and a range extender. You’ll probably want to add more components, and, fortunately, they’re relatively cheap: another door sensor, for example, is $20 bucks, while the motion detectors are $30.

Nest’s competing security system packs a few tricks that Ring’s doesn’t (Nest combined the door/motion sensors into one, for example, and it’s got a fancy RFID system for PIN free disarming) but it also costs $200 more… and that’s after a $100 price drop that, presumably not by coincidence, just happened yesterday.

The system doesn’t require any sort of contract — but if you want professional monitoring, it’ll be $10 bucks a month. That’s a pretty good deal, especially because if you’ve got any of Ring’s cameras (like its smart doorbell, or its floodlight cameras), that plan includes unlimited video storage for all of’em.

Ring says it’s got more products on the way to expand the system, including smoke/carbon monoxide detectors and flood sensors.

Ring’s security system is up for pre-order now and, if all goes as planned, will start shipping on July 4th.


Source: TechCrunch

Your custom Amazon Alexa skills are now shareable via Blueprints – CNET

Send your own response to “Alexa, who’s the best dad in the world?”
Source: CNET

I killed 563 mice for science – CNET

Breeding, modifying and killing mice has helped scientists make incredible discoveries about human biology. But that doesn’t make sacrificing them any easier.
Source: CNET

2018 Fiat 500X adds fresh styling with new Adventurer Edition – Roadshow

No more ruggedness, but the package offers a new look for Fiat’s small crossover.
Source: CNET

Safety app Watch Out acquires paywall startup BitWall

BitWall, a Bitcoin-focused startup promising to help online publishers make money, has been acquired.

Its new owner is Watch Out, the company behind an app that sends alerts about things like product and food recalls and weather-realted emergencies. It’s not the most obvious acquirer, but the companies say BitWall can help Watch Out improve its data, payments and loyalty systems.

“We are excited to bring BitWall into the Watch Out! ecosystem,” said Watch Out CEO Michael Lucas in the acquisition announcement. “Our mission is to provide a secure consumer-protection platform while delivering hyper-targeted content when and where it matters most, whether that be a safety alert or a digital reward. BitWall and its team help us do that.”

Apparently there’s a TechCrunch connection to the story, too — BitWall co-founder and CEO Nic Meliones told me he first got connected to Watch Out at our Disrupt SF Hackathon in 2014, and he said the company has already been “a great partner” to BitWall.

I first wrote about the startup before the current craze around Bitcoin and cryptocurrency — all the way back in 2013. The idea was to give visitors different ways to access paywalled content, whether that’s making a small payment, promoting the article on Twitter or viewing an ad.

The company’s biggest win was probably a partnership with the Chicago Sun-Times in 2014, where the Sun-Times tested out a paywall that readers could bypass using Bitcoin or tweets. (The Sun-Times’ current paywall plans don’t appear to include BitWall.)

The financial terms of the deal were not disclosed. Meliones said the company’s paywall product will be shut down, with the technology diverted to a yet-to-be-announced product at WatchOut.

Bitwall’s investors include Boost VC, AngelPad, Tim Draper, the Boost Bitcoin Fund.


Source: TechCrunch

Facebook demands advertisers have consent for email/phone targeting

Facebook is hoping to avoid another privacy scandal by adding new accountability and transparency requirements for businesses that use its Custom Audiences too to target you with ads based on your email address or phone number. Starting July 2nd, advertisers will have to declare whether contact info uploaded for ad targeting was collected with proper user consent by them, one of their partners, or both. Users will be able to see this info if they opt to block future ads from that business.

Companies can only share Custom Audiences info with partners like ad agencies if they’re formally connected through Facebook’s business manager tool. And Facebook will start to show advertisers reminders that they need consent for contact info ad targeting and force all users connected to an ad account to confirm these terms.

The new consent tool launch confirms TechCrunch’s scoop from March that Facebook would crack down Custom Audiences targeting without consent. Facebook has always technically required consent, but it hasn’t necesssarily done much to enforce those rules. That same approach to API rules produced the Cambridge Analytica debacle. Facebook began to safeguard Custom Audiences a few months ago when it blocked third-party data brokers like Datalogix and Acxiom from uploading data sets as Partner Categories that their ad partners could target. But that still let businesses just upload the same data themselves.

Custom Audiences is one of Facebook’s most valuable revenue generators because it allows businesses to hit up their former customers to buy more. A scandal surrounding the targeting mechanism could be seriously detrimental to the social network’s business in a way that the rest of its recent public image problems haven’t, judging by the recovery of Facebook’s share price.

Since 2012, Facebook has offered Custom Audiences as a way for businesses to upload privacy-safe hashed lists of customer contact info. Facebook matches that against its users’ info to show them the business’ ads, rather than companies having to pay to try to reach those people through demographic targeting. That way, a company that already sold you a car and got your email signup could targeting you a few years later with ads to trade in and buy a new vehicle. Businesses can also use Facebook’s lookalikes targeting to reach people with similar characteristics to their existing customers.

Now at least Facebook will show this “Original Data Source” field asking who collected the uploaded phone numbers or emails. Users can check out this info if they click the “Why Am I Seeing This Ads?” button in the drop-down. However, Facebook stops short of scanning the lists for suspicious info, such as blocks of contact info that match hacked or purchased data sets.

That means Facebook is trusting advertisers to tell the truth about consent for targeting…despite them having a massive financial incentive to bend of break those rules. Today’s update will give Facebook more plausible deniability in the event of a scandal, and it might deter misuse. But Facebook is stopping short of doing anything to actually prevent non-consensual ad targeting.


Source: TechCrunch

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182