- GitHub上的那些开源小游戏
ZackSock
前言GitHub作为程序员们的开源宝库,有着很多非常好的项目。对于初学者来说,游戏有着一种特殊的魅力。今天统计了GitHub上比较有趣的10个开源小游戏,其中有许多可以称之为经典。笔者是一名90后,《贪吃蛇》、《坦克大战》、《超级马里奥》和《太空侵略者》作为儿时的玩伴,陪伴笔者度过了很多时光,给笔者带来了非常多的回忆。1、Pacman(吃豆人游戏)项目演示地址:https://passer-by.
- 2023年“羊城杯”网络安全大赛 Web方向题解wp 全
Jay 17
CTF赛事web安全pythonPHP网络安全javaCVE反序列化
团队名称:ZhangSan序号:11不得不说今年本科组打的是真激烈,初出茅庐的小后生没见过这场面QAQ~D0n’tpl4yg4m3!!!简单记录一下,实际做题踩坑很多,尝试很多。先扫了个目录,扫出start.sh内容如下,这个其实和hint一样的,hint就不放了,尊嘟假嘟解密。开始做题,题目让我访问路由/p0p.php,但是直接跳转到了https://passer-by.com/pacman/。
- selenium webdriver 以代理proxy方式启动firefox,ie,chrome
iteye_21060
自动化pythonjava测试
[b]原创文章,转载请注明出处:http://passerbyy.iteye.com/blog/1286292作者:passer_by[/b][size=large]1.题前话[/size]没有发现之前,自己傻不垃圾的自己写了各个浏览器修改代理的方法,结果发现webdriver有现成,悔恨不已,希望其他同仁能够少走弯路。本文是在Webdriver2.12.0下面测试得到的结论[size=large
- Passer
温暖的枪
图片发自App一个过客光阴中偶然交错谁的指针掠过谁的刻度转瞬而逝灰烬里冷却的火然后灯暗处听往日的雨落叶低吟的伤记忆消散的回声
- github上有哪些不错的Java项目?
SiKi学院
JAVAgithubjavajavascript
前言找了一些沙雕的有趣的项目(后面也有正经的),希望能对你的学习提供些许乐趣~游戏1.吃豆人一款经典的游戏开发案例,包括地图绘制、玩家控制、NPC根据玩家坐标实时自动寻径、吃豆积分系统、能量豆功能、多关卡(共12关)、特殊物品记分功能的实现,基于Javascript开发的小游戏。在线体验:https://passer-by.com/pacman/仓库地址:https://github.com/mu
- GitHub 上有些什么好玩的项目?
SiKi学院
游戏开发unitygithub
前言各个领域模块的都整理了一下,包含游戏、一些沙雕的工具、实用正经的工具以及一些相关的电商项目,希望他们可以给你学习的路上增加几分的乐趣,我们直接进入正题~游戏1.吃豆人一款经典的游戏开发案例,包括地图绘制、玩家控制、NPC根据玩家坐标实时自动寻径、吃豆积分系统、能量豆功能、多关卡(共12关)、特殊物品记分功能的实现,基于Javascript开发的小游戏。在线体验:https://passer-b
- Impedit odio facilis ad.Quinze également passer billet mensonge animer libre.
云满笔记
recycle海外必背金句
这里写自定义目录标题Кидатьэпохаметаллразводить.LassenhochBrotErdeDingnicht.Fugaperspiciatisvelitliberosimiliquenihil.Refuseramitoucherrépéter.EinfachSchülerWaldstarkSchiff.OeilrôlesûrbesoinfatiguercSouvenirenen
- 生命动物合集~麻雀
草木风
关爱生命爱护地球麻雀(Passer):是雀科[5]麻雀属27种小型鸟类的统称。它们的大小、体色甚相近。一般上体呈棕、黑色的斑杂状,因而俗称麻雀。初级飞羽9枚,外侧飞羽的淡色羽缘(第一枚除外)在羽基和近端处,形稍扩大,互相骈缀,略成两道横斑状,在飞翔时尤见明显。嘴短粗而强壮,呈圆锥状,嘴峰稍曲。除树麻雀外,雌雄均异色。世界共27种,其中5种分布在中国境内。分布相当广泛。除极寒冷的南北极和高山荒漠,世
- The year 2017 is over, are you satisfied with yourself?
邻妹
Forme,lifetastesstillblandin2017.Passer-bystillremainspasser-by.Nomoregreatachievementsandskillscanbeshownoff.Problemsofmybodytorturedmeandmademeindulgeintheedgeofdeath.It'sreallystupidformetothinkabo
- 英语词缀分类法13W4
刘佳玲pp
从不同的角度对词缀进行分类便产生了不同的分类法。在此介绍七种分类法:1,最传统的分类法分为前缀与后缀,后来又出现了中缀的说法,是根据词缀与其主体(词基)的相对位置划分的。而中缀是指像passer-by中的-er和geography中的-o-那样的居中成分。中缀的数量与作用都非常有限。值得注意的是,前缀与后缀的分类法抓住了词缀在形态与功能上的最基本区别,所以有最强的概括力。2,根据词缀的词源可分为:
- 通过css将多个图标或图片用同一张图片通过定位背景位置调用到页面
weixin_30536513
http://www.html-5.cn/div-css/jiaocheng/1692.html转载于:https://www.cnblogs.com/passer1991/archive/2013/01/27/2878369.html
- Html5中Select如何设定长度
chikuang0023
选择大类 语音 短信 GPRS ... 如上:设置select的长度只需要加上size="大小"即可转载于:https://my.oschina.net/passer007/blog/619448
- spring配置必须声明元素类型 "context:component-scan"。
chikuang0023
java
解决方法:改了一天心累啊!!转载于:https://my.oschina.net/passer007/blog/710335
- php 数字格式化输出
chikuang0023
往往是对于一些订单编号我们需要对数据库取出的编号进行格式化,比如在前面补0等等,下面介绍的是php格式化输出编号的方法$var = sprintf("%06d",22);得到的结果是0000226指定位数~转载于:https://my.oschina.net/passer007/blog/632416
- 分页PageBean模板
是个厨子
SSM-实战开发手册
packagecom.passer.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.util.List;/***分页对象*/@Data@AllArgsConstructor@NoArgsConstructorpublicclassPageBean{pri
- VUE 等数据加载之后再执行某些操作
十四喵酱
前端学习
由于上个前端没写路由,只是写了个菜单栏,刷新的时候需要定位到当前页而不是每次回到首页解决:存储状态,刷新之前记录当前是哪个页面用sessionStorage保存而菜单是动态获取的,拿到菜单模拟点击事件,就可以定位到当前保存的页面了判断对象数组中是否有某个属性:(参考https://blog.csdn.net/csu_passer/article/details/86504103)第二种没有尝试常规
- acm pku 1230Pass-Muraille的贪婪算法实现
uestcshe
acm
Pass-MurailleDescriptionInmoderndaymagicshows,passingthroughwallsisverypopularinwhichamagicianperformerpassesthroughseveralwallsinapredesignedstageshow.Thewall-passer(Pass-Muraille)hasalimitedwall-pas
- 2018中国大学生程序设计竞赛 - 网络选拔赛(solve5/10)
passer__
ccpc
题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=55A题题意:给你n天,每天你到达一个地方,对于一个地方你可以买可以卖(前提你有东西),问你最后获得的最大的收益是多少,交换的最小次数是多少。ps:如果没有交换次数跟https://blog.csdn.net/passer__/article/details/82055020就一样了。思想:如果没有交换次
- 真心不值钱,爱对人就是无价
七哥慢爱铺子
致你的第一封情书*真心并不值钱,但爱对人了,就是无价*(推荐网易歌单:IAmYou,kimtaylor)图片发自App你,是否会有这样的无奈:突然某一天,不再拼命的怀念故人,而是真的如你所愿就那么悄无声息的选择安放和遗忘了,哪怕那个人出现在你面前,似乎也只像一阵风,passer。但似乎也不想耐心和投入太多去认识新人甲乙丙丁,因为你的三观已坚不可摧,——对于不在同一个频道的人,你的答案好像只有“话不
- 用vs2017编译ffmpeg 4.0.3详细过程,并可调试
过客猫2020
C/C++visualstudioffmpegC++
1.用vs2017编译ffmpeg4.0.3,并可调试1.1MSYS使用MSYS1.0和2.0在这里都成功了,建议使用MSYS2.0的方案。这个文章,已经放到git上面了,并开源了https://github.com/passer2019/xmplayer1.2计划构造一个androidstudio的工程,目标是可以调试C语言代码部分。运行环境:ubuntu18.04或centos7开发工具and
- 麻雀
MABEL梅
图片发自App壹~~緣起麻雀(Passer):文鸟科麻雀属27种小型鸟类的统称。大小、体色甚相近。一般上体呈棕黑色斑杂状,因而俗称麻雀。嘴短粗而强壮呈圆锥状,嘴峰稍曲。分布相当广泛。除极寒冷的南北极和高山荒漠,世界各地均有分布。多活动在有人类居住的地方,性极活泼胆大易近人,警惕性非常高,好奇心较强。一年四季都是成群的,有很多洞的老树群常是其最喜爱的筑巢地点......幾天前,麻雀落幕,曲終人散。我
- GitHub上10个有趣的开源小游戏(附加在线演示)
ZackSock
GitHub#项目
前言GitHub作为程序员们的开源宝库,有着很多非常好的项目。对于初学者来说,游戏有着一种特殊的魅力。今天统计了GitHub上比较有趣的10个开源小游戏,其中有许多可以称之为经典。笔者是一名90后,《贪吃蛇》、《坦克大战》、《超级马里奥》和《太空侵略者》作为儿时的玩伴,陪伴笔者度过了很多时光,给笔者带来了非常多的回忆。1、Pacman(吃豆人游戏)项目演示地址:https://passer-by.
- Passer@斯坦福|谷歌|苹果
i王云鹏
美西旅行,最期待的一站是斯坦福和硅谷,基本就作为一个Passer路过,但是还是有很多感触(PS:加了两个华人的微信,一个是斯坦福的学生,一个是google的员工,巧合能建立连接)。斯坦福号称全美最美的校园之一,这是学生的福气,最重要的是,斯坦福的地位就是世界第二牛逼的大学(按照世界公认的排行榜)成就看链接:https://zh.wikipedia.org/wiki/%E5%8F%B2%E4%B8%
- 三姑六婆计算器
鬼懿IT
鬼懿IT(精选集)发布于2017年2月9日@作者:PASSER-BY今天,星期四,又降温了“特别感谢作者特意补充出了,思路说明。小程序有坑,手机查看先保存图片然后在打开扫一扫,无法直接识别。”如今很多关系稍疏远的亲戚之间来往并不多,回家过年时,往往会搞不清楚哪位亲戚应该喊什么称呼,尴尬。“三姑六婆计算器”为你避免了这种尴尬,只需简单的输入即可算出称谓。一、下载&安装该Javascript库/模块可
- Dear Passer-by
北楼鬼
作者:北楼鬼我是那年回东北办事,滞留在“过客旅社”时认识叶萍的。住进来的那天,叶萍就已经在了。她不同谁主动讲话,脸总是隐在上铺遮挡的阴暗处,任大家有的没的,聊得正欢。只有那双修长的腿交叉着,伸到外面来,在昏暗糟乱的房间里格外引人注意,别说男人了,连我都忍不住多看一眼。第二天在洗漱间碰上她,头发高高扎起,梳一个简简单单的“大光明”,露出缺少血色的脸颊和有漂亮曲线的脖颈,正对着镜子擦脸。看到我,先是迟
- 数据库面试
大海一滴写字的地方
1.https://zhuanlan.zhihu.com/p/23713529?refer=passer继续前面有关于的Python面试的两篇内容:Python代码篇、Python概念篇今天说一说数据库。不管你是Java开发者还是Python开发者还是其他语言开发者,基本上面试的时候都会被问到数据库相关的知识点。所以掌握一些经常被问的数据库知识是十分重要的。如果你对数据库不熟悉,想学习的话,学习专
- 2018-02-01python题整理
不懒狮Blaise
from:https://zhuanlan.zhihu.com/p/23526961?refer=passer*args和**kwargs*args:是tuple,list格式**kwargs:是字典格式标准答案如果不确定往一个函数中传入多少个参数,或者用tuple或list的形式传参数时,我们可以用args.如果不知道往函数传递多少个关键词或者想传入字典的值作为关键参数,我们可以用*kwargs
- VMware 配置ip 、 centos7 ping不通 name or service not known
IT_Yl
原文:https://www.cnblogs.com/passer101/p/9899202.html最近打算为centos安装一个界面时,发现不能上网。pingwww.baidu.com报nameorservicenotknown。原来网络配置没设好。一、选择VMWare的NAT模式。1)导航栏“编辑”->“虚拟网络编辑器”->NAT模式->NAT设置记住NAT设置中的子网IP、子网掩码、网关I
- python 面试
Zihowe
Reference:http://python.jobbole.com/85231/https://zhuanlan.zhihu.com/p/23526961?refer=passer
- 选择收货地址,省市区街道联动
蜗牛君子
Java
使用情景是填写快递邮寄到的地址信息,介绍实现此功能的方法之一,实现之后效果如图所示:选择省市区,逐个选择逐个出现,如果选择的是北京、天津等直辖市,就不是四级联动是三级联动。选择镇或街道。实现步骤:1.获取资源数据/***获取省市区数据*@return*/publicstaticStringgetListJson(){Stringurl="http://passer-by.com/data_loca
- java Illegal overloaded getter method with ambiguous type for propert的解决
zwllxs
javajdk
好久不来iteye,今天又来看看,哈哈,今天碰到在编码时,反射中会抛出
Illegal overloaded getter method with ambiguous type for propert这么个东东,从字面意思看,是反射在获取getter时迷惑了,然后回想起java在boolean值在生成getter时,分别有is和getter,也许我们的反射对象中就有is开头的方法迷惑了jdk,
- IT人应当知道的10个行业小内幕
beijingjava
工作互联网
10. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。
尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。
然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配
- java 实现自定义链表
CrazyMizzz
java数据结构
1.链表结构
链表是链式的结构
2.链表的组成
链表是由头节点,中间节点和尾节点组成
节点是由两个部分组成:
1.数据域
2.引用域
3.链表的实现
&nbs
- web项目发布到服务器后图片过一会儿消失
麦田的设计者
struts2上传图片永久保存
作为一名学习了android和j2ee的程序员,我们必须要意识到,客服端和服务器端的交互是很有必要的,比如你用eclipse写了一个web工程,并且发布到了服务器(tomcat)上,这时你在webapps目录下看到了你发布的web工程,你可以打开电脑的浏览器输入http://localhost:8080/工程/路径访问里面的资源。但是,有时你会突然的发现之前用struts2上传的图片
- CodeIgniter框架Cart类 name 不能设置中文的解决方法
IT独行者
CodeIgniterCart框架
今天试用了一下CodeIgniter的Cart类时遇到了个小问题,发现当name的值为中文时,就写入不了session。在这里特别提醒一下。 在CI手册里也有说明,如下:
$data = array(
'id' => 'sku_123ABC',
'qty' => 1,
'
- linux回收站
_wy_
linux回收站
今天一不小心在ubuntu下把一个文件移动到了回收站,我并不想删,手误了。我急忙到Nautilus下的回收站中准备恢复它,但是里面居然什么都没有。 后来我发现这是由于我删文件的地方不在HOME所在的分区,而是在另一个独立的Linux分区下,这是我专门用于开发的分区。而我删除的东东在分区根目录下的.Trash-1000/file目录下,相关的删除信息(删除时间和文件所在
- jquery回到页面顶端
知了ing
htmljquerycss
html代码:
<h1 id="anchor">页面标题</h1>
<div id="container">页面内容</div>
<p><a href="#anchor" class="topLink">回到顶端</a><
- B树、B-树、B+树、B*树
矮蛋蛋
B树
原文地址:
http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
&nb
- 数据库连接池
alafqq
数据库连接池
http://www.cnblogs.com/xdp-gacl/p/4002804.html
@Anthor:孤傲苍狼
数据库连接池
用MySQLv5版本的数据库驱动没有问题,使用MySQLv6和Oracle的数据库驱动时候报如下错误:
java.lang.ClassCastException: $Proxy0 cannot be cast to java.sql.Connec
- java泛型
百合不是茶
java泛型
泛型
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,任意化的缺点就是要实行强制转换,这种强制转换可能会带来不安全的隐患
泛型的特点:消除强制转换 确保类型安全 向后兼容
简单泛型的定义:
泛型:就是在类中将其模糊化,在创建对象的时候再具体定义
class fan
- javascript闭包[两个小测试例子]
bijian1013
JavaScriptJavaScript
一.程序一
<script>
var name = "The Window";
var Object_a = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
- 探索JUnit4扩展:假设机制(Assumption)
bijian1013
javaAssumptionJUnit单元测试
一.假设机制(Assumption)概述 理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,
- 【Gson四】范型POJO的反序列化
bit1129
POJO
在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过
String str = new Gson().toJson(data);
得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO
import com.google.gson.Gson;
import java.
- 【Spark八十五】Spark Streaming分析结果落地到MySQL
bit1129
Stream
几点总结:
1. DStream.foreachRDD是一个Output Operation,类似于RDD的action,会触发Job的提交。DStream.foreachRDD是数据落地很常用的方法
2. 获取MySQL Connection的操作应该放在foreachRDD的参数(是一个RDD[T]=>Unit的函数类型),这样,当foreachRDD方法在每个Worker上执行时,
- NGINX + LUA实现复杂的控制
ronin47
nginx lua
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-递归判断数组是否升序
bylijinnan
java
public class IsAccendListRecursive {
/*递归判断数组是否升序
* if a Integer array is ascending,return true
* use recursion
*/
public static void main(String[] args){
IsAccendListRecursiv
- Netty源码学习-DefaultChannelPipeline2
bylijinnan
javanetty
Netty3的API
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelPipeline.html
里面提到ChannelPipeline的一个“pitfall”:
如果ChannelPipeline只有一个handler(假设为handlerA)且希望用另一handler(假设为handlerB)
来
- Java工具之JPS
chinrui
java
JPS使用
熟悉Linux的朋友们都知道,Linux下有一个常用的命令叫做ps(Process Status),是用来查看Linux环境下进程信息的。同样的,在Java Virtual Machine里面也提供了类似的工具供广大Java开发人员使用,它就是jps(Java Process Status),它可以用来
- window.print分页打印
ctrain
window
function init() {
var tt = document.getElementById("tt");
var childNodes = tt.childNodes[0].childNodes;
var level = 0;
for (var i = 0; i < childNodes.length; i++) {
- 安装hadoop时 执行jps命令Error occurred during initialization of VM
daizj
jdkhadoopjps
在安装hadoop时,执行JPS出现下面错误
[slave16]
[email protected]:/tmp/hsperfdata_hdfs# jps
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working
- PHP开发大型项目的一点经验
dcj3sjt126com
PHP重构
一、变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。 二、函数 PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十
- android笔记之--向网络发送GET/POST请求参数
dcj3sjt126com
android
使用GET方法发送请求
private static boolean sendGETRequest (String path,
Map<String, String> params) throws Exception{
//发送地http://192.168.100.91:8080/videoServi
- linux复习笔记 之bash shell (3) 通配符
eksliang
linux 通配符linux通配符
转载请出自出处:
http://eksliang.iteye.com/blog/2104387
在bash的操作环境中有一个非常有用的功能,那就是通配符。
下面列出一些常用的通配符,如下表所示 符号 意义 * 万用字符,代表0个到无穷个任意字符 ? 万用字符,代表一定有一个任意字符 [] 代表一定有一个在中括号内的字符。例如:[abcd]代表一定有一个字符,可能是a、b、c
- Android关于短信加密
gqdy365
android
关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法Sm
- asp.net在网站根目录下创建文件夹
hvt
.netC#hovertreeasp.netWeb Forms
假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下:
string m_keleyiFolderName = Server.MapPath("/hovertree");
if (Directory.Exists(m_keleyiFolderName))
{
//文件夹已经存在
return;
}
else
{
try
{
D
- 一个合格的程序员应该读过哪些书
justjavac
程序员书籍
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数
- 单实例实践
跑龙套_az
单例
1、内部类
public class Singleton {
private static class SingletonHolder {
public static Singleton singleton = new Singleton();
}
public Singleton getRes
- PO VO BEAN 理解
q137681467
VODTOpo
PO:
全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
BO:
全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对
- 战胜惰性,暗自努力
金笛子
努力
偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不经意中就会戳中一部分人的软肋,我想我们每个人的周围总是有那么些表现得“吊儿郎当”的存在,是否你就真的相信他们如此不思进取,而开始放松了对自己的要求随波逐流呢?
我有个朋友是搞技术的,平时嘻嘻哈哈,以
- NDK/JNI二维数组多维数组传递
wenzongliang
二维数组jniNDK
多维数组和对象数组一样处理,例如二维数组里的每个元素还是一个数组 用jArray表示,直到数组变为一维的,且里面元素为基本类型,去获得一维数组指针。给大家提供个例子。已经测试通过。
Java_cn_wzl_FiveChessView_checkWin( JNIEnv* env,jobject thiz,jobjectArray qizidata)
{
jint i,j;
int s