请根据以下需求完成编码

现阶段有以下技术,可供各位同事选择:

VirtualBox

Vagrant

WebSocket

JSONP

Redis

MongoDB

Cassandra

RabbitMQ

ActiveMQ

Kafka

Lucene

Solr

ElasticSearch

Hadoop

HDFS

HIVE

PIG

Mahout

HBase

Spark

Guava

Protobuf

Avro

Thrift

Motan

Docker

DynamoDB

Scala

Groovy

SpringBoot

FTP

Kafka

Dubbo

每人选择其中两项进行学习,并在学习会以Demo的形式分享给其他同事。同事的意向如下:

吕鹏飞 ElasticSearch Redis

丁虎 Redis SpringBoot

梁秀斗 Hadoop HDFS

李文鹏 Docker Kafka

苗恒飞 Lucene Solr

佘昊 Solr Redis

杜世阳 ActiveMQ Hadoop

刘翩 SpringBoot ActiveMQ

史建智 Docker Lucene

王帅 Cassandra Spark

张昌昌 SpringBoot MongoDB

王腾飞 SpringBoot Spark

杨小平 WebSocket RabbitMQ

请编写程序为同事安排最终的技术学习清单,要求:

1.如果一项技术只有一个同事选择,则直接为该同事指定该技术

2.如果一项技术有多个同事选择,则在选择了该项技术的同事中随机指定一位学习该技术

3.如果一个同事被指定的技术不足两项,则在未被指定的技术中随机指定一项或两项给该同事,以凑足两项但不能多于两项。

4.每个同事被指定的技术不能重复

5.需要输出最终的技术指定清单

6.需要输出未被指定给同事的技术清单。