<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Latest comments replied to kacchi</title><link>http://ja.doukaku.org/user/145/</link><description>Latest comments replied to kacchi(long)</description><language>ja</language><lastBuildDate>Fri, 09 Jan 2009 04:39:56 -0000</lastBuildDate><item><title>kacchi's comment on 文字列のセンタリング
</title><link>http://ja.doukaku.org/comment/4162/</link><description>



&lt;a href="http://ja.doukaku.org/87/"&gt;文字列のセンタリング&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/87/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/87/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  #4160は、はじめにgaucheで書いてみて、そのままEmacs Lispに直したものです。gaucheで書いたのも投稿しちゃいます。
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;string-centering&lt;/span&gt; &lt;span class="nv"&gt;s&lt;/span&gt; &lt;span class="nv"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;p&lt;/span&gt; &lt;span class="nv"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;make-string &lt;/span&gt;&lt;span class="nv"&gt;k&lt;/span&gt; &lt;span class="sc"&gt;#\ &lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;let &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nf"&gt;d&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;- &lt;/span&gt;&lt;span class="nv"&gt;c&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;string-length &lt;/span&gt;&lt;span class="nv"&gt;s&lt;/span&gt;&lt;span class="p"&gt;))))&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;receive&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;n&lt;/span&gt; &lt;span class="nv"&gt;m&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;quotient&amp;amp;remainder&lt;/span&gt; &lt;span class="nv"&gt;d&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;&amp;gt;= &lt;/span&gt;&lt;span class="nv"&gt;d&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
          &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;string-append &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;p&lt;/span&gt; &lt;span class="nv"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;s&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;p&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;+ &lt;/span&gt;&lt;span class="nv"&gt;n&lt;/span&gt; &lt;span class="nv"&gt;m&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
          &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;substring &lt;/span&gt;&lt;span class="nv"&gt;s&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;abs &lt;/span&gt;&lt;span class="nv"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;- &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;string-length &lt;/span&gt;&lt;span class="nv"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;abs &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;+ &lt;/span&gt;&lt;span class="nv"&gt;n&lt;/span&gt; &lt;span class="nv"&gt;m&lt;/span&gt;&lt;span class="p"&gt;))))))))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/scheme/"&gt;
      Scheme
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/4162/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/4162/</guid></item><item><title>kacchi's comment on ファイル内の重複行削除(後優先)
</title><link>http://ja.doukaku.org/comment/3335/</link><description>



&lt;a href="http://ja.doukaku.org/66/"&gt;ファイル内の重複行削除(後優先)&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/66/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/66/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  port-fold がありました。
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt; &lt;span class="nv"&gt;srfi-1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;uniq-file&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;rp&lt;/span&gt; &lt;span class="nv"&gt;ls&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;unless&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;null? &lt;/span&gt;&lt;span class="nv"&gt;ls&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;rp&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;cdr &lt;/span&gt;&lt;span class="nv"&gt;ls&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;car &lt;/span&gt;&lt;span class="nv"&gt;ls&lt;/span&gt;&lt;span class="p"&gt;))))&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;with-input-from-file &lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;rp&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;delete-duplicates&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;port-fold&lt;/span&gt; &lt;span class="nv"&gt;cons&lt;/span&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="nv"&gt;read-line&lt;/span&gt;&lt;span class="p"&gt;))))))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/scheme/"&gt;
      Scheme
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/3335/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/3335/</guid></item><item><title>shiro's comment on 隣り合う二項の差
</title><link>http://ja.doukaku.org/comment/2418/</link><description>



&lt;a href="http://ja.doukaku.org/49/"&gt;隣り合う二項の差&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/49/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/49/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;:parallelで複数の変数に対してループを回せます。&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;diff&lt;/span&gt; &lt;span class="nv"&gt;xs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;list-ec&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;:parallel&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;x&lt;/span&gt; &lt;span class="nv"&gt;xs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;y&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;cdr &lt;/span&gt;&lt;span class="nv"&gt;xs&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;- &lt;/span&gt;&lt;span class="nv"&gt;y&lt;/span&gt; &lt;span class="nv"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/scheme/"&gt;
      Scheme
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/2418/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/2418/</guid></item><item><title>kacchi's comment on n日後を返す関数を返す関数
</title><link>http://ja.doukaku.org/comment/1288/</link><description>



&lt;a href="http://ja.doukaku.org/29/"&gt;n日後を返す関数を返す関数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/29/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/29/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;あせって投稿したら失敗してしまいました。ちらかしてすみません。&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;(require &amp;#39;cl)

(defun make-ndays-later (n)
  (lexical-let ((n n))
    (lambda (time)
      (apply (lambda (s mi h d m y dow dst zone)
               (encode-time s mi h (+ d n) m y))
             (decode-time time)))))

(fset &amp;#39;five-days-later (make-ndays-later 5))
(fset &amp;#39;five-days-later- (make-ndays-later -5))
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/emacslisp/"&gt;
      Emacs Lisp
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/1288/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/1288/</guid></item><item><title>kacchi's comment on n日後を返す関数を返す関数
</title><link>http://ja.doukaku.org/comment/1286/</link><description>



&lt;a href="http://ja.doukaku.org/29/"&gt;n日後を返す関数を返す関数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/29/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/29/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;お題を読み違えてました。すみません。日時ですね。今度は大丈夫?&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;(defun make-ndays-later (n)
  (lexical-let ((n n))
    (lambda (time)
      (apply (lambda (s mi h d m y dow dst zone)
               (encode-time s mi h (+ d n) m y))
             (decode-time time)))))

(fset &amp;#39;five-days-later (make-ndays-later 10))
(fset &amp;#39;five-days-later- (make-ndays-later -10))

(format-time-string &amp;quot;%Y/%m/%d %T&amp;quot; (five-days-later (current-time)))
=&amp;gt;&amp;quot;2007/07/31 21:39:38&amp;quot;

(format-time-string &amp;quot;%Y/%m/%d %T&amp;quot; (five-days-later- (current-time)))
=&amp;gt;&amp;quot;2007/07/11 21:39:59&amp;quot;

(format-time-string
 &amp;quot;%Y/%m/%d %T&amp;quot;
 ;; encode-time: SECOND MINUTE HOUR DAY MONTH YEAR &amp;amp;optional ZONE
 (five-days-later (encode-time 49 43 21 21 7 2007)))
=&amp;gt;&amp;quot;2007/07/31 21:43:49&amp;quot;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/emacslisp/"&gt;
      Emacs Lisp
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/1286/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/1286/</guid></item><item><title>kacchi's comment on 議席数をドント方式で
</title><link>http://ja.doukaku.org/comment/1270/</link><description>



&lt;a href="http://ja.doukaku.org/26/"&gt;議席数をドント方式で&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/26/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/26/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;同じくEmacs Lispで。
(dhondt 100 '(123 4 56 78))
=&amp;gt;(48 1 21 30)
&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;(require &amp;#39;cl)
(defun dhondt (seats votes)
  (let ((max1+ (lambda (l s d)
                 (let ((m (apply #&amp;#39;max l)))
                   (do ((l l (cdr l)) (i 0 (+ i 1)))
                       ((null l) (cons s d))
                     (when (= (car l) m)
                       (incf (car (nthcdr i s)))
                       (incf (car (nthcdr i d))))))))
        (len (length votes)))
    (do ((score (make-list len 0))
         (denom (make-list len 1)))
        ((&amp;gt;= (apply #&amp;#39;+ score) seats) score)
      (let ((s&amp;amp;d (funcall max1+ (map &amp;#39;list #&amp;#39;(lambda (a b) (/ (* a 1.0) b))
                                     votes denom)
                          score denom)))
        (setq score (car s&amp;amp;d)
              denom (cdr s&amp;amp;d))))))
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/emacslisp/"&gt;
      Emacs Lisp
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/1270/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/1270/</guid></item><item><title>kacchi's comment on ダブル完全数
</title><link>http://ja.doukaku.org/comment/1168/</link><description>



&lt;a href="http://ja.doukaku.org/25/"&gt;ダブル完全数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/25/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/25/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;同じく、Emacs Lispでも。ベクタを使えば速いので、調子に乗って 1000000 まで調べてみました。
(test 1000001)
=&amp;gt;(523776 672 120)
&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;(defun test (limit)
  (require &amp;#39;cl)
  (defun pnumber (k limit)
    (do ((i 1 (+ i 1)) (v (make-vector limit 0))
	 (a nil (if (= (aref v i) (* i k)) (cons i a) a)))
        ((= i limit) a)
      (do ((n i (+ n i)))
          ((&amp;gt;= n limit))
        (aset v n (+ (aref v n) i)))))
  (byte-compile &amp;#39;pnumber)
  (pnumber 3 limit)
  )
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/emacslisp/"&gt;
      Emacs Lisp
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/1168/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/1168/</guid></item><item><title>にしお's comment on 税込み価格への修正
</title><link>http://ja.doukaku.org/comment/436/</link><description>



&lt;a href="http://ja.doukaku.org/6/"&gt;税込み価格への修正&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/6/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/6/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  一瞬、投稿ミスで重複になってしまったのかと思ってしまいました(笑)

&lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/436/</guid></item></channel></rss>