Home The RecipesSweets & SnacksChocolate Wholefood Simply Hedgehog Slice

Wholefood Simply Hedgehog Slice

Hedgehog Slice! Aka The Best Chocolate Slice Ever!


Hedgehog Slice

the ‘biscuit’

  • 1 cup desiccated coconut
  • 1/2 cup almond meal
  • 2 tablespoons almond butter
  • 2 tablespoons honey*
  • pinch of salt

the slice

  • 1 cup desiccated coconut
  • 1/2 cup walnuts
  • 14 medjool dates, seeds removed
  • 3 tablespoons cacao or cocoa
  • pinch of salt
  •  1 teaspoon vanilla extract 

the extras

  • 1/2 cup walnuts, roughy chopped 

the chocolate

  • 3 tablespoons cacao or cocoa 
  • 2 tablespoons coconut oil, liquid
  • 1 tablespoon maple syrup
  1. Line a loaf tin with baking paper over hanging the sides. Mine measures 19.5cm x 9.5cm.
  2. Place the coconut and almond meal for the biscuit layer into your processor and blend until the mixture resembles a flour consistency. Add the remaining biscuit ingredients and blend until the mixture is very well combined and sticking together. Pour the mixture into a bowl and set aside.
  3. Place the slice ingredients into your processor and blend until the mixture is well combined and sticking together. Place the biscuit and chocolate mixture into a bowl with the extra walnuts and roughly combine. Press the mixture firmly into your prepared tin.
  4. To make the chocolate topping mix together the maple and cacao or cocoa powder, stir in the coconut oil and spread he mixture evenly over the slice. Place the slice in the fridge to set.
  5. Eat and enjoy!

*you can use rice malt syrup if you prefer.
notes – I placed the slice into the freezer for 20 minutes prior to cutting. Once cut you can store the slice in the fridge or freezer.

If you are enjoying the recipes be sure to check out the books. I hope you find something you love. With thanks, B x

Rate this recipe
recipe image
Recipe
Wholefood Simply Hedgehog Slice
Published
Rating
364851star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star1star Based on 528 Review(s)

You may also like