1. Only minimal code can be used from previous projects

2. No precoding is allowed

3. All ideas must be new.