use std:: io :: stdin ;
use std:: io :: BufRead ;
use std:: io :: BufReader ;
fn main( )
{
println! ( "ISO, nya:{}" , take( 1000 ) ) ;
println! ( "filter :{}" , filter( 1000 ) ) ;
}
pub fn take( end: u32) -> u32 {
( 0 ..) .step_by ( 1000000000 )
.map ( | i| i * i)
.take_while ( |& i| i < end)
.sum ( )
}
pub fn filter( end: u32) -> u32 {
( 0 ..) .step_by ( 1000000000 )
.map ( | i| i * i)
.filter ( |& i| i < end)
.sum ( )
}
dXNlIHN0ZDo6aW86OnN0ZGluOwp1c2Ugc3RkOjppbzo6QnVmUmVhZDsKdXNlIHN0ZDo6aW86OkJ1ZlJlYWRlcjsKCmZuIG1haW4oKSAKewoJcHJpbnRsbiEoIklTTywgbnlhOnt9IiwgdGFrZSgxMDAwKSk7CglwcmludGxuISgiZmlsdGVyICA6e30iLCBmaWx0ZXIoMTAwMCkpOwp9CgpwdWIgZm4gdGFrZShlbmQ6IHUzMikgLT4gdTMyIHsKICAgICgwLi4pLnN0ZXBfYnkoMTAwMDAwMDAwMCkKICAgICAgICAubWFwKHxpfCBpICogaSkKICAgICAgICAudGFrZV93aGlsZSh8Jml8IGkgPCBlbmQpCiAgICAgICAgLnN1bSgpCn0KcHViIGZuIGZpbHRlcihlbmQ6IHUzMikgLT4gdTMyIHsKICAgICgwLi4pLnN0ZXBfYnkoMTAwMDAwMDAwMCkKICAgICAgICAubWFwKHxpfCBpICogaSkKICAgICAgICAuZmlsdGVyKHwmaXwgaSA8IGVuZCkKICAgICAgICAuc3VtKCkKfQ==