public void start() {

        Random random = new Random();

        Scanner scanner = new Scanner(System.in);

        while ( true ) {

            Long maxId = null;
            float maxJC = Float.MIN_VALUE;
            float jc;

            System.out.print(">>> ");
            String humanSay = scanner.nextLine();

            //System.out.println("For line : " + humanSay);
            //System.out.println("Set is : " + stringToSet(humanSay.toLowerCase()));
            HashSet<String> humanSaySet = stringToSet(humanSay.toLowerCase());

            HashSet<String> union = new HashSet<String>();
            HashSet<String> intersection = new HashSet<String>();

            for( Long id : conversationTweetIds ) {

                union.clear();
                intersection.clear();

                union.addAll(humanSaySet);
                intersection.addAll(humanSaySet);

                HashSet<String> candidateSay = tweetIdVsSet.get(id);

                union.addAll(candidateSay);
                intersection.retainAll(candidateSay);

                jc = ((float)candidateSay.size()) * ((float) intersection.size() / (float)union.size());

                //System.out.println("JC = " + jc);

                if( jc > maxJC ) {
                    maxJC = jc;
                    maxId = id;

                    //System.out.println("maxJC = " + maxJC + " and maxId = " + maxId);
                    //System.out.println("Inter : " + intersection + " and Union : " + union);

                }

            }


            if( maxId == null ) {
                System.out.println("Okay ... I c");
                continue;
            }

            Long replyId = 0L;
            LinkedHashSet<Long> possibleReplies = adjacencyList.get(maxId);
            if( possibleReplies == null ) {
                System.out.println("Okay ... I c");
            }
            else if(possibleReplies.size() > 0 ) {

                Long[] arr = ((Long[]) possibleReplies.toArray());
                int size = arr.length;

                replyId = arr[((random.nextInt() % size) + (random.nextInt() % size)) % arr.length];
                System.out.println(tweetIdVsTweetText.get(replyId));
            }
            else {
                System.out.println(tweetIdVsTweetText.get(maxId));
            }

        }

    }