def doSomething
(l
: MyList, i
: Int
):MyList
= { case Cons
(e,tail
) if e
> i
=> Cons
(e,doSomething
(tail,i
)) case Cons
(e,tail
) => doSomething
(tail,i
) }
}
def doIt
(l
: MyList
) : Int
= { print(0)
0
print(v + doIt(t))
v
}
}
def doIt
(l
: MyList, i
: Int
) : MyList
= { case (Cons
(e,t
),j
) => Cons
(e,doIt
(t,j-
1)) }
}
def main
(args
: Array
[String
]) { val ll
= Cons
(1,Cons
(2,Cons
(3,Nil
()))) }
}
def push
(n
: Int, l
: MyList
):MyList
= { Cons(n,l)
}
def tail
(l
: MyList
) : MyList
= { }
}
def pop
(l
: MyList
) : (Int,MyList
) = { case Nil
() => throw new IllegalArgumentException
("wrong parameter") }
}
}
b2JqZWN0IE1haW57CmRlZiBkb1NvbWV0aGluZyhsIDogTXlMaXN0LCBpIDogSW50KTpNeUxpc3QgPSB7CiAgICBsIG1hdGNoIHsKICAgICAgICBjYXNlIE5pbCgpID0+IE5pbCgpCiAgICAgICAgY2FzZSBDb25zKGUsdGFpbCkgaWYgZSA+IGkgPT4gQ29ucyhlLGRvU29tZXRoaW5nKHRhaWwsaSkpCiAgICAgICAgY2FzZSBDb25zKGUsdGFpbCkgICAgPT4gZG9Tb21ldGhpbmcodGFpbCxpKQogICAgfQp9CgpkZWYgZG9JdChsIDogTXlMaXN0KSA6IEludCA9IHsKICAgIGwgbWF0Y2ggewogICAgY2FzZSBOaWwoKSA9PgogICAgICAgIHByaW50KDApCiAgICAgICAgMAogICAgY2FzZSBDb25zKHYsdCkgPT4gCiAgICAgICBwcmludCh2ICsgZG9JdCh0KSkKICAgICAgIHYKICAgIH0KfQpkZWYgZG9JdChsIDogTXlMaXN0LCBpIDogSW50KSA6IE15TGlzdCA9IHsKICAgIChsLGkpIG1hdGNoIHsKICAgICAgICBjYXNlIChOaWwoKSxfKSAgID0+IE5pbCgpCiAgICAgICAgY2FzZSAoXywwKSAgICAgICAgICAgPT4gTmlsKCkKICAgICAgICBjYXNlIChDb25zKGUsdCksaikgPT4gQ29ucyhlLGRvSXQodCxqLTEpKQogICAgfQp9CmRlZiBtYWluKGFyZ3M6IEFycmF5W1N0cmluZ10pIHsKdmFsIGxsID0gQ29ucygxLENvbnMoMixDb25zKDMsTmlsKCkpKSkKdmFsIGsgPSBkb0l0KGxsKQp9Cn0KYWJzdHJhY3QgY2FzZSBjbGFzcyBNeUxpc3QKCmNhc2UgY2xhc3MgTmlsIGV4dGVuZHMgTXlMaXN0CgpjYXNlIGNsYXNzIENvbnMoY3VyIDogSW50ICwgZm9sbG93IDogTXlMaXN0KSBleHRlbmRzIE15TGlzdAoKb2JqZWN0IE15TGlzdCB7CiAgZGVmIHB1c2gobiA6IEludCwgbCA6IE15TGlzdCk6TXlMaXN0ID0gewogICAgQ29ucyhuLGwpCiAgfQogIGRlZiB0YWlsKGwgOiBNeUxpc3QpIDogTXlMaXN0ID0gewogICAgbCBtYXRjaHsKICAgICAgY2FzZSBOaWwoKSA9PiBOaWwoKQogICAgICBjYXNlIENvbnMoYyxmKSA9PiBmCiAgICB9CiAgfQogICAgZGVmIHBvcChsIDogTXlMaXN0KSA6IChJbnQsTXlMaXN0KSA9IHsKICAgICAgbCBtYXRjaHsKICAgICAgY2FzZSBOaWwoKSA9PiB0aHJvdyBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJ3cm9uZyBwYXJhbWV0ZXIiKQogICAgICBjYXNlIENvbnMoYyxmKSA9PiAoYyxmKQogICAgICB9CiAgICB9Cn0=