using System;

using System.Data;

 

namespace Layer8

{

    interface ILayer8

    {

        String RTFM();

    };

 

    class Nope7

    {

        static void Main(string[] args)

        {

        }

    }

    class Student

    {

        public virtual bool Streber { get { return false; } }

 

        public virtual bool AvailableOnExamDay()

        {

            throw new IllException();

        }

        public virtual String getTanga() { return ""; }

    }

 

    class Tim : Student

    {

        public override bool Streber { get { return true; } }

 

        public override bool AvailableOnExamDay()

        {

            return true;

        }

 

        /// <summary>

        /// Go fuck yourself

        /// </summary>

        public void Fuck()

        {

            throw new NotImplementedException("Not supported. Cannot Fuck myself");

        }

    }

 

    partial class Almir : Student, ILayer8

    {

        Boolean Layer9 = (DateTime.Now.Year == 2018) && (DateTime.Now.Month == 3) && (DateTime.Now.Day == 23);

 

        public override String getTanga()

        {

            throw new InvalidOperationException("Stringtangas existieren nicht für Männer du nippelzwick");

        }

        public override bool AvailableOnExamDay()

        {

            throw new MissingLessonException();

        }

 

        public String RTFM()

        {

            if (Layer9)

            {

                throw new InsufficientExecutionStackException("Layer 8 ist manchmal nicht genug... Dann halt Layer 9 du Klappspaten");

            }

            String[] results = new Google().Search("Oracle", "Database", "Install", "Linux");

 

            String solution = new DAUParser(results).ParseResults();

            return "";

        }

 

        class DAUParser : ResultParser

        {

            public DAUParser(String[] searchResults) : base(searchResults)

            {

            }

            public override string ParseResults()

            {

                throw new ExecutionEngineException("I'm a DAU");

            }

        }

    }

 

    partial class Philipp : Student

    {

        public override String getTanga()

        {

            throw new InvalidExpressionException("Hinter jedem Programm steckt ein Programmierer mit Meinung ");

        }

 

    }

 

 

    class IllException : Exception { }

    class MissingLessonException : Exception { }

 

    // einmal alles gezinkt bitteschön

    class Document

    {

        String olderRevision = "";

        String src = "mx244@n+c";

    }

}