I am having trouble proving the following:

If we have that lambda*(I) = lambda*(I n B) + lambda*(I n B^c) for each open subinterval I of R, then B is Lebesgue measurable, where lambda* is the Lebesgue outer measure, and R the reals.

I have proved the trivial way using the axioms of Lebesgue outer measure, so just need to know how to prove lambda*(A) => lambda*(A n B) + lambda*(A n B^c) for all sets A of R. Any ideas?

Also need ideas for the following:
If B a subset of R has lambda*(B) > 0, then B contains a subset that is not Lebesgue measureble.

I have been given the hint to use "There is a subset A of R such that each Lebesgue measurable set that is included in A or A^c has Lebesgue measure 0."